List mutations
Lists your organization’s Mutations, newest first.
One page at a time. When nextCursor is present there are more, so send it back as cursor to get the next page. When it is absent you have reached the end. The cursor is opaque: pass it back as you received it and do not construct one.
The page size is fixed, so there is no parameter for it.
This is the history read, and it needs mutation:read. Starting a Mutation and polling the one you started need mutation:write.
/mutationsAuthorizationBearer token · headerrequiredSend Authorization: Bearer <credential>. Two credentials work.
An API key (acr_…) is what a server integration uses. Create one in the AdCrunch console under Settings → API keys — see https://docs.adcrunch.dev/account/api-keys. A key is bound to the organization that was active when you created it, and it keeps acting on that organization whatever you do later. It carries the permissions of the member who created it.
A session issued by the AdCrunch sign-in flow also works, which is how the console calls this service from the browser.
Either way the organization comes from the credential. There is no organization parameter.
cursorstringOne page of Mutations, newest first.
mutationsobject[]requiredThe Mutations, newest first.
Show propertiesHide properties
objectactionanyrequiredWhat was asked for, in the shape POST /mutations accepts.
advertiserIdstringrequiredThe ad account that was changed.
completedAtnumber | nullrequiredWhen it finished, as a Unix timestamp in milliseconds. Null while it runs.
createdAtnumberrequiredWhen it started, as a Unix timestamp in milliseconds.
organizationIdstringrequiredThe organization it belongs to.
providerstringrequiredThe ad platform, for example meta.
resultany | nullrequiredWhat the provider returned. Present when the status is complete.
statusstringrequiredHow it ended, or that it has not.
runningcompleteerroredtoolstringrequiredWhich action was performed.
userIdstringrequiredWho asked for it.
workflowIdstringrequiredThe Mutation id. The same id POST /mutations returned.
nextCursorstringSend this back as cursor to read the next page. Absent on the last page.
The cursor could not be read. error is invalid_cursor, or invalid_request when the query itself is malformed.
errorstringrequiredA stable code for the failure. This is the field to branch on. It does not change for a given failure.
invalid_cursormessagestringrequiredA sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.
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 credential, or one that does not resolve. Send an API key or a session. 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:read. 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.
The request did not match this operation’s schema. This is the framework’s own shape, not the error/message one.
errorsobject[]requiredOne entry per failing field.
foundanyrequiredWhat was sent.
messagestringrequiredonstringrequiredWhich part of the request failed: body, query or params.
propertystringrequiredThe field that failed.
typestringrequiredvalidation