Skip to main content

applyControlRequest

Requires at least one of the permissions inventory:stock_adjustment:create, payments:collection:create, payments:collection:update, payments:payment:allocate, payments:payment:create, payments:payment:update, purchase:grn:create, purchase:grn:update, purchase:payment:allocate, purchase:payment:create, purchase:payment:update, purchase:purchase_invoice:create, purchase:purchase_order:approve, sales:credit_note:create, sales:sales_order:confirm, sales:sales_order:deliver, sales:sales_order:ship, sales:sales_order:update, sales:shipment:create or sales:shipment:update.

Runs the held action of an approved request you raised, as you, so every control checks it again. It runs at most once: a request already applied, or being applied by someone else right now, is refused without running it. You need the action's own permission.

Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.

Example:

mutation ApplyControlRequest($id: ID!) {
applyControlRequest(id: $id) {
applied
refusal {
code
approvalRequestId
decisionId
message
}
}
}

Variables:

{
"id": "id"
}

Response:

{
"data": {
"applyControlRequest": {
"applied": true,
"refusal": {
"code": "string",
"approvalRequestId": "string",
"decisionId": "string",
"message": "string"
}
}
}
}
applyControlRequest(
id: ID!
): ControlApprovalApplyResult!

Arguments​

applyControlRequest.id ● ID! non-null scalar​

The approval request's ID.

Type​

ControlApprovalApplyResult object​

The outcome of applying an approved request: the request as it stands, and whether its held action ran.