On this page
submitChangeRequest
mutation · in the family Organization requests
What it does
File a change request — asking the platform to change something about your organizations (park, unpark).
File ONE management ChangeRequest against an org in the caller's OWN group: ONE txn = the group-parented request (born submitted) + the review-queue row + the pending-(type×org) reservation (a duplicate live request refuses the FIXED sentence naming nothing about the holder; released at EVERY terminal). The target org gates at submit: in-group (cross-tenant reads NOT_FOUND — the opaque law) · non-doomed · in the bound edge's from-state (CONFLICT/REF_STATE naming the edge).
What happens
The request goes to review; nothing changes until it is approved and realized.
Who may call it
Capability area: Organization requests — Filing and following requests to park or reopen your organizations.
- Owner
- Manager
- An API key whose scope allows
api:submitChangeRequest
Arguments
| Name | Type | Required | Notes |
|---|---|---|---|
requestType | String String! | yes | No further notes. |
input | OrganizationLifecyclePayloadInput OrganizationLifecyclePayloadInput! | yes | No further notes. |
Returns
ChangeRequest ChangeRequest! — The review queues hold NON-terminal requests only (rows release at the terminals); history reads by id forever.
Example request
mutation ExampleSubmitChangeRequest($requestType: String!, $input: OrganizationLifecyclePayloadInput!) {
submitChangeRequest(requestType: $requestType, input: $input) {
id
type
sysId
caption
status
requestType
needsInfoNote
rejectReason
realizedAccountId
realizedOrgGroupId
realizedTokenAccountId
realizedClassification
realizationFault
createdAt
updatedAt
revisionNum
}
}
Variables:
{
"requestType": "<request type>",
"input": {
"organizationId": "01900000-0000-7000-8000-44b781470000",
"message": "Restock before the weekend."
}
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"submitChangeRequest": {
"id": "01900000-0000-7000-8000-37386ae00000",
"type": "ChangeRequest",
"sysId": "CQ-EXMP-0000-000F",
"caption": "Blue jeans",
"status": "<status>",
"requestType": "<request type>",
"needsInfoNote": "<needs info note>",
"rejectReason": "<reject reason>",
"realizedAccountId": "01900000-0000-7000-8000-ae87a27b0000",
"realizedOrgGroupId": "01900000-0000-7000-8000-380c6cbb0000",
"realizedTokenAccountId": "01900000-0000-7000-8000-8c052d920000",
"realizedClassification": "<realized classification>",
"realizationFault": "<realization fault>",
"createdAt": "2027-01-31T00:00:00.000Z",
"updatedAt": "2027-01-31T00:00:00.000Z",
"revisionNum": 1
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
Errors this call can answer
VALIDATION/INVALID— Something in the request is not valid. (VALIDATION)AUTHN/REQUIRED— Sign in to do this. (AUTHN)AUTHZ/FORBIDDEN— Your role does not allow this action. (AUTHZ)RATE_LIMIT/THROTTLED— Too many requests in a short time. (RATE_LIMIT)NOT_FOUND/*— That record could not be found. (NOT_FOUND)CONFLICT/*— The record’s state, or a change made in the meantime, does not allow this; the codes are on the CONFLICT page. (CONFLICT)VALIDATION/VERSION_REQUIRED— The request did not say which app version it came from. (VALIDATION)