RRiido API Registry
승인된 읽기 전용 계약registry.json
WORK DOMAINv-0.1.0

Riido Work Service

Work의 인정부터 기준, 참여, 기여, 결과, 판단, 완료와 관계 사실을 소유하는 서비스

Production GraphQL
https://work.riido.io/graphql
런타임 승인 대기계약은 승인되었지만 현재 호출 가능 상태로 승격되지 않았습니다.
GraphQL operations335 queries · 28 mutations
AuthenticationBearerwork:read / work:write
Message localeen-US협상 미지원
FRONTEND QUICK START

계약을 확인하고,
타입을 연결하세요.

이 예시는 요청 형태를 보여주는 정적 자료입니다. 런타임 상태가 available로 승격된 뒤 실제 호출에 사용하세요.

client.ts
const response = await fetch("https://work.riido.io/graphql", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    authorization: `Bearer ${accessToken}`,
  },
  body: JSON.stringify({
    query: `query work($id: ID!) { work(id: $id) { id state version } }`,
    variables: { id: workId },
  }),
});

const { data, errors } = await response.json();

GraphQL operations

이름, 도메인, bounded context 또는 권한으로 찾을 수 있습니다.

전체 SDL
33개 작업
queryworkWorkwork:read
work/lifecycle/work
요청 예시
query work($id: ID!) {
  work(id: $id) {
    __typename
  }
}
Variables{ "id": "replace-with-id" }
응답 타입
type Work {
  id: ID!
  version: Int!
  state: String!
  intentRef: ID!
  criteriaRef: ID!
  criteriaVersion: Int!
  criteriaEvidenceHash: String!
  authorityNamespace: String!
  authorityRef: ID!
  recognitionGrantRef: ID!
  projectionCursor: Int!
  contributionCount: Int!
  outcomeCount: Int!
  decisionCount: Int!
  completionCount: Int!
  closureInvalidationCount: Int!
  cancellationCount: Int!
  expirationCount: Int!
  supersessionCount: Int!
  criteriaRevisionCount: Int!
  participationCount: Int!
  unendedParticipationCount: Int!
  participationWithdrawalCount: Int!
  participationRevocationCount: Int!
  successorCount: Int!
  outgoingRelationCount: Int!
  incomingRelationCount: Int!
  subjectLinkCount: Int!
  activeSubjectLinkCount: Int!
  responsibilityAssignmentCount: Int!
  activeResponsibilityAssignmentCount: Int!
  workSurfaceClaimCount: Int!
  activeWorkSurfaceClaimCount: Int!
  recognizedAt: String!
}
EnvelopeGraphQLResponse<Data>
queryworkRelationWorkRelationwork:read
work/relations/work-relation
요청 예시
query workRelation($id: ID!) {
  workRelation(id: $id) {
    __typename
  }
}
Variables{ "id": "replace-with-id" }
응답 타입
type WorkRelation {
  id: ID!
  version: Int!
  graphPartitionKey: ID!
  graphVersion: Int!
  state: String!
  fromWorkId: ID!
  toWorkId: ID!
  kind: String!
  provenanceRef: ID!
  policyRef: ID!
  policyVersion: Int!
  authorityEvidenceRef: ID!
  establishedAt: String!
  active: Boolean!
  projectionCursor: Int!
}
EnvelopeGraphQLResponse<Data>
querysubjectLinkWorkSubjectLinkwork:read
work/subject-link/work-subject-link
요청 예시
query subjectLink($id: ID!) {
  subjectLink(id: $id) {
    __typename
  }
}
Variables{ "id": "replace-with-id" }
응답 타입
type WorkSubjectLink {
  id: ID!
  version: Int!
  state: String!
  definition: SubjectLinkDefinition!
  projectionCursor: Int!
}
EnvelopeGraphQLResponse<Data>
queryresponsibilityAssignmentResponsibilityAssignmentwork:read
work/responsibility/responsibility-assignment
요청 예시
query responsibilityAssignment($id: ID!) {
  responsibilityAssignment(id: $id) {
    __typename
  }
}
Variables{ "id": "replace-with-id" }
응답 타입
type ResponsibilityAssignment {
  id: ID!
  version: Int!
  state: String!
  workId: ID!
  responsibilityScope: String!
  currentCommitmentId: ID!
  projectionCursor: Int!
}
EnvelopeGraphQLResponse<Data>
queryworkSurfaceClaimWorkSurfaceClaimwork:read
work/surface-claim/work-surface-claim
요청 예시
query workSurfaceClaim($id: ID!) {
  workSurfaceClaim(id: $id) {
    __typename
  }
}
Variables{ "id": "replace-with-id" }
응답 타입
type WorkSurfaceClaim {
  id: ID!
  version: Int!
  state: String!
  workId: ID!
  currentCommitmentId: ID!
  surface: SurfaceReference!
  collisionScope: CollisionScopeReference!
  leaseRef: ID!
  leaseExpiresAt: String!
  waitingCount: Int!
  projectionCursor: Int!
}
EnvelopeGraphQLResponse<Data>
mutationrecognizeWorkRecognizeWorkPayload!work:write
work/lifecycle/work
요청 예시
mutation recognizeWork($input: RecognizeWorkCommandInput!) {
  recognizeWork(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type RecognizeWorkPayload {
  work: RecognizedWork!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationreviseWorkCriteriaReviseWorkCriteriaPayload!work:write
work/criteria/work-criteria
요청 예시
mutation reviseWorkCriteria($input: ReviseWorkCriteriaCommandInput!) {
  reviseWorkCriteria(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ReviseWorkCriteriaPayload {
  revised: WorkCriteriaRevised!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationcommitParticipationCommitParticipationPayload!work:write
work/participation/participation-commitment
요청 예시
mutation commitParticipation($input: CommitParticipationCommandInput!) {
  commitParticipation(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type CommitParticipationPayload {
  committed: ParticipationCommitted!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationwithdrawParticipationWithdrawParticipationPayload!work:write
work/participation/participation-commitment
요청 예시
mutation withdrawParticipation($input: WithdrawParticipationCommandInput!) {
  withdrawParticipation(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type WithdrawParticipationPayload {
  withdrawn: ParticipationWithdrawn!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationrevokeParticipationRevokeParticipationPayload!work:write
work/participation/participation-commitment
요청 예시
mutation revokeParticipation($input: RevokeParticipationCommandInput!) {
  revokeParticipation(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type RevokeParticipationPayload {
  revoked: ParticipationRevoked!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationsubmitContributionSubmitContributionPayload!work:write
work/outcome/contribution-outcome-decision
요청 예시
mutation submitContribution($input: SubmitContributionCommandInput!) {
  submitContribution(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type SubmitContributionPayload {
  contribution: Contribution!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationsubmitOutcomeRevisionSubmitOutcomeRevisionPayload!work:write
work/outcome/contribution-outcome-decision
요청 예시
mutation submitOutcomeRevision($input: SubmitOutcomeRevisionCommandInput!) {
  submitOutcomeRevision(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type SubmitOutcomeRevisionPayload {
  outcome: OutcomeRevision!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationrecordDecisionRecordDecisionPayload!work:write
work/outcome/contribution-outcome-decision
요청 예시
mutation recordDecision($input: RecordDecisionCommandInput!) {
  recordDecision(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type RecordDecisionPayload {
  decision: DecisionRecord!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationcompleteWorkCompleteWorkPayload!work:write
work/lifecycle/work
요청 예시
mutation completeWork($input: CompleteWorkCommandInput!) {
  completeWork(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type CompleteWorkPayload {
  completed: WorkCompleted!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationinvalidateWorkClosureInvalidateWorkClosurePayload!work:write
work/lifecycle/work
요청 예시
mutation invalidateWorkClosure($input: InvalidateWorkClosureCommandInput!) {
  invalidateWorkClosure(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type InvalidateWorkClosurePayload {
  invalidated: WorkClosureInvalidated!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationcancelWorkCancelWorkPayload!work:write
work/lifecycle/work
요청 예시
mutation cancelWork($input: CancelWorkCommandInput!) {
  cancelWork(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type CancelWorkPayload {
  cancelled: WorkCancelled!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationexpireWorkExpireWorkPayload!work:write
work/lifecycle/work
요청 예시
mutation expireWork($input: ExpireWorkCommandInput!) {
  expireWork(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ExpireWorkPayload {
  expired: WorkExpired!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationsupersedeWorkSupersedeWorkPayload!work:write
work/lifecycle/work
요청 예시
mutation supersedeWork($input: SupersedeWorkCommandInput!) {
  supersedeWork(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type SupersedeWorkPayload {
  superseded: WorkSuperseded!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationestablishSuccessorRelationEstablishSuccessorRelationPayload!work:write
work/relations/work-relation
요청 예시
mutation establishSuccessorRelation($input: EstablishSuccessorRelationCommandInput!) {
  establishSuccessorRelation(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type EstablishSuccessorRelationPayload {
  established: SuccessorRelationEstablished!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationestablishWorkRelationEstablishWorkRelationPayload!work:write
work/relations/work-relation
요청 예시
mutation establishWorkRelation($input: EstablishWorkRelationCommandInput!) {
  establishWorkRelation(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type EstablishWorkRelationPayload {
  established: WorkRelationEstablished!
  replayed: Boolean!
  consistency: ConsistencyReceipt!
}
EnvelopeGraphQLResponse<Data>
mutationestablishSubjectLinkEstablishSubjectLinkPayload!work:write
work/subject-link/work-subject-link
요청 예시
mutation establishSubjectLink($input: EstablishSubjectLinkCommandInput!) {
  establishSubjectLink(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type EstablishSubjectLinkPayload { linked: WorkSubjectLinked!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationsupersedeSubjectLinkSupersedeSubjectLinkPayload!work:write
work/subject-link/work-subject-link
요청 예시
mutation supersedeSubjectLink($input: SupersedeSubjectLinkCommandInput!) {
  supersedeSubjectLink(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type SupersedeSubjectLinkPayload { superseded: WorkSubjectLinkSuperseded!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationexpireSubjectLinkExpireSubjectLinkPayload!work:write
work/subject-link/work-subject-link
요청 예시
mutation expireSubjectLink($input: ExpireSubjectLinkCommandInput!) {
  expireSubjectLink(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ExpireSubjectLinkPayload { expired: WorkSubjectLinkExpired!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationassignResponsibilityAssignResponsibilityPayload!work:write
work/responsibility/responsibility-assignment
요청 예시
mutation assignResponsibility($input: AssignResponsibilityCommandInput!) {
  assignResponsibility(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type AssignResponsibilityPayload { assigned: ExclusiveResponsibilityAssigned!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationreassignResponsibilityReassignResponsibilityPayload!work:write
work/responsibility/responsibility-assignment
요청 예시
mutation reassignResponsibility($input: ReassignResponsibilityCommandInput!) {
  reassignResponsibility(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ReassignResponsibilityPayload { reassigned: ExclusiveResponsibilityReassigned!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationreleaseResponsibilityReleaseResponsibilityPayload!work:write
work/responsibility/responsibility-assignment
요청 예시
mutation releaseResponsibility($input: ReleaseResponsibilityCommandInput!) {
  releaseResponsibility(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ReleaseResponsibilityPayload { released: ExclusiveResponsibilityReleased!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationestablishWorkSurfaceClaimEstablishWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation establishWorkSurfaceClaim($input: EstablishWorkSurfaceClaimCommandInput!) {
  establishWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type EstablishWorkSurfaceClaimPayload { granted: WorkSurfaceClaimGranted!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationrenewWorkSurfaceClaimRenewWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation renewWorkSurfaceClaim($input: RenewWorkSurfaceClaimCommandInput!) {
  renewWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type RenewWorkSurfaceClaimPayload { renewed: WorkSurfaceClaimRenewed!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationrequestWorkSurfaceClaimRequestWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation requestWorkSurfaceClaim($input: RequestWorkSurfaceClaimCommandInput!) {
  requestWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type RequestWorkSurfaceClaimPayload { queued: WorkSurfaceClaimQueued!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationtransferWorkSurfaceClaimTransferWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation transferWorkSurfaceClaim($input: TransferWorkSurfaceClaimCommandInput!) {
  transferWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type TransferWorkSurfaceClaimPayload { transferred: WorkSurfaceClaimTransferred!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationwithdrawWorkSurfaceClaimRequestWithdrawWorkSurfaceClaimRequestPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation withdrawWorkSurfaceClaimRequest($input: WithdrawWorkSurfaceClaimRequestCommandInput!) {
  withdrawWorkSurfaceClaimRequest(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type WithdrawWorkSurfaceClaimRequestPayload { withdrawn: WorkSurfaceClaimRequestWithdrawn!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationreleaseWorkSurfaceClaimReleaseWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation releaseWorkSurfaceClaim($input: ReleaseWorkSurfaceClaimCommandInput!) {
  releaseWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ReleaseWorkSurfaceClaimPayload { released: WorkSurfaceClaimReleased!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>
mutationexpireWorkSurfaceClaimExpireWorkSurfaceClaimPayload!work:write
work/surface-claim/work-surface-claim
요청 예시
mutation expireWorkSurfaceClaim($input: ExpireWorkSurfaceClaimCommandInput!) {
  expireWorkSurfaceClaim(input: $input) {
    __typename
  }
}
Variables{ "input": null }
응답 타입
type ExpireWorkSurfaceClaimPayload { expired: WorkSurfaceClaimExpired!, replayed: Boolean!, consistency: ConsistencyReceipt! }
EnvelopeGraphQLResponse<Data>