Read a mutation
Reports how a Mutation ended, or that it has not ended.
running means the change has not finished. Poll again.
complete means the change finished, and result says how. result.ok of true carries what the provider gave back: a create carries the new object id, and every other action carries success. result.ok of false is a provider refusal, with a stable error code and a sentence. A refusal is complete, not errored.
errored means the Mutation itself broke down. AdCrunch cannot say whether the provider applied the change, so read the object at the provider before you send the action again.
A Mutation belongs to one organization. An id from another organization and an id that never existed both answer 404, so a caller cannot learn which of the two it sent.
This needs mutation:write, not mutation:read. Polling is the second half of the write that started the Mutation, and the caller polling is the caller that started it. mutation:read reads the organization history through GET /mutations.
/mutations/{id}AuthorizationBearer token · headerrequiredSend Authorization: Bearer <credential>.
Use an API key (acr_…), from the AdCrunch console under Settings → API keys.
The credential names the organization, and no operation takes an organization parameter.
See https://docs.adcrunch.dev/api/authentication.
idstringrequiredThe Mutation is running, complete, or errored.
resultanyHow the change ended. Present only when status is complete. ok of true carries what the provider gave back: a create carries the new object id, and every other action carries success. ok of false is a provider refusal, with a stable error code and a sentence.
statusstringrequiredrunning means poll again. complete means the change finished, and result says how it ended. errored means the Mutation itself broke down, and AdCrunch cannot say whether the change happened.
runningcompleteerroredThe request does not match the schema of this operation: a field is missing or has the wrong type, or the body is not valid JSON. error is invalid_request, and issues names each field. Nothing was changed.
issuesobject[]requiredOne entry for each field that does not match.
Show propertiesHide properties
objectinstringrequiredThe part of the request that holds the field.
bodycookieheadersparamsquerymessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.
pathstringrequiredA JSON Pointer into that part of the request, such as /filename. An empty string is the whole part.
errorstringrequiredA stable code for the failure. This is the field to branch on. It does not change for a given failure.
invalid_requestmessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.
No API key, or one that does not resolve. See the security scheme. error is unauthorized.
errorstringrequiredA stable code for the failure. This is the field to branch on. It does not change for a given failure.
unauthorizedmessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.
The caller does not hold mutation:write. error is forbidden.
errorstringrequiredA stable code for the failure. This is the field to branch on. It does not change for a given failure.
forbiddenmessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.
No such Mutation for your organization. error is not_found.
errorstringrequiredA stable code for the failure. This is the field to branch on. It does not change for a given failure.
not_foundmessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.