Skip to content
AdCrunch
Esc
navigateopen⌘Jpreview

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.

GET/mutations
Authorization
AuthorizationBearer token · headerrequired

Send 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.

Query parameters
cursorstring
Responses
200

One page of Mutations, newest first.

mutationsobject[]required

The Mutations, newest first.

Show properties
Array of object
actionanyrequired

What was asked for, in the shape POST /mutations accepts.

advertiserIdstringrequired

The ad account that was changed.

completedAtnumber | nullrequired

When it finished, as a Unix timestamp in milliseconds. Null while it runs.

createdAtnumberrequired

When it started, as a Unix timestamp in milliseconds.

organizationIdstringrequired

The organization it belongs to.

providerstringrequired

The ad platform, for example meta.

resultany | nullrequired

What the provider returned. Present when the status is complete.

statusstringrequired

How it ended, or that it has not.

Allowed:runningcompleteerrored
toolstringrequired

Which action was performed.

userIdstringrequired

Who asked for it.

workflowIdstringrequired

The Mutation id. The same id POST /mutations returned.

nextCursorstring

Send this back as cursor to read the next page. Absent on the last page.

400

The cursor could not be read. error is invalid_cursor, or invalid_request when the query itself is malformed.

Any of:
object
errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:invalid_cursor
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

object
errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:invalid_request
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

401

No credential, or one that does not resolve. Send an API key or a session. See the security scheme. error is unauthorized.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:unauthorized
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

403

The caller does not hold mutation:read. error is forbidden.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:forbidden
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

422

The request did not match this operation’s schema. This is the framework’s own shape, not the error/message one.

errorsobject[]required

One entry per failing field.

foundanyrequired

What was sent.

messagestringrequired
onstringrequired

Which part of the request failed: body, query or params.

propertystringrequired

The field that failed.

typestringrequired
Allowed:validation
Request
curl -X GET "https://api.adcrunch.dev/mutations" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "mutations": [
    {
      "action": null,
      "advertiserId": "string",
      "completedAt": 0,
      "createdAt": 0,
      "organizationId": "string",
      "provider": "string",
      "result": null,
      "status": "running",
      "tool": "string",
      "userId": "string",
      "workflowId": "string"
    }
  ],
  "nextCursor": "string"
}