---
search:
  tags:
    - Mutations
    - GET
seo:
  description: >-
    Reports how a Mutation ended, or that it has not ended. Reference for the
    GET /mutations/{id} endpoint in the AdCrunch API.
sidebar:
  label: Read a mutation
  badge: GET
title: Read a mutation
type: openapi-operation
---
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`.

`GET /mutations/{id}`
