read_synthetic_purge

Generated automatically from the published contract sources.

Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.

A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/read_synthetic_purge, with a bearer credential and the action's payload as the JSON body. It also accepts GET.

Contract description

Read one synthetic-account purge's progress by its id. Platform operator or its harness (the `synthetic_estate` grant, the `synthetic_seed_purge` grant, or `super_admin`) only. It answers its state (`running`, `completed`, `failed`), its outcome (`account_failed` or `interrupted` on a failure), and its instants. Per account it answers the state, the instants, the receipts the deletion walk wrote, the error of a failed walk, and the purge the account joined. Under the `synthetic_seed_purge` grant it answers only a purge of the caller's own batches, and any other id as an unknown one. Readable while the platform's synthetic-account mode is off.

Access and action metadata

{
  "name": "read_synthetic_purge",
  "resource": "account",
  "tier": "observe",
  "grant": "synthetic_estate",
  "admits": [
    "synthetic_seed_purge"
  ],
  "summary": "One purge's progress — its state (`running`, `completed`, or `failed`), its outcome, its instants, and per account the state, the instants, the receipts the deletion walk wrote (the estate receipts by member and one teardown receipt per application), the error of a failed walk, and the purge an account joined — to a credential holding `synthetic_estate` or `super_admin`, and to a token the `synthetic_seed_purge` grant bounds for a purge of its own batches alone, any other answered as an unknown id; readable with the `SYNTHETIC_ESTATE` mode `off`, so a purge in flight when the mode is set `off` is still read.",
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  }
}

MCP catalog entry

{
  "name": "read_synthetic_purge",
  "tier": "observe",
  "scenario": "API-L0-12",
  "summary": "Read one synthetic-account purge's progress by its id. Platform operator or its harness (the `synthetic_estate` grant, the `synthetic_seed_purge` grant, or `super_admin`) only. It answers its state (`running`, `completed`, `failed`), its outcome (`account_failed` or `interrupted` on a failure), and its instants. Per account it answers the state, the instants, the receipts the deletion walk wrote, the error of a failed walk, and the purge the account joined. Under the `synthetic_seed_purge` grant it answers only a purge of the caller's own batches, and any other id as an unknown one. Readable while the platform's synthetic-account mode is off.",
  "owners": []
}

request

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["purge"]
/properties/purge The purge's id, from `purge_synthetic_accounts`; an unknown id refuses 404 `not_found`. Under the `synthetic_seed_purge` grant a purge of another credential's batches refuses the same.

Type: string

response

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","purge","state","accounts","counts"]
Additional properties: false
/properties/contract_version Required value: 1
/properties/purge Type: string
/properties/state Type: string
Allowed values: ["running","completed","failed"]
/properties/outcome null while running and on a completed purge; `account_failed` where an account's walk failed, `interrupted` where a restart or the stale sweep ended the purge.

Type: ["string","null"]
/properties/drop_metering Type: boolean
/properties/requested_at Type: string
/properties/heartbeat_at The instant the run last reported; a running purge whose heartbeat is older than the stale bound is ended `failed interrupted` by the sweep.

Type: string
/properties/ended_at Type: ["string","null"]
/properties/accounts Type: array
/properties/accounts/items Type: object
Required fields: ["account","state","joined_purge","started_at","ended_at","receipts","error"]
Additional properties: false
/properties/accounts/items/properties/account Type: string
/properties/accounts/items/properties/state The walk's state; for an account joined to another purge, that purge's state for the account.

Type: string
Allowed values: ["pending","running","completed","failed","joined"]
/properties/accounts/items/properties/joined_purge The purge that walks the account where this purge joined it.

Type: ["string","null"]
/properties/accounts/items/properties/started_at Type: ["string","null"]
/properties/accounts/items/properties/ended_at Type: ["string","null"]
/properties/accounts/items/properties/receipts The walk's receipts: `gone` (true where no account row stood), `estate` (one receipt per member, `delete_account`'s), `applications` (one teardown receipt per application, `delete_application`'s), and `metering` (the rows dropped per table where the purge dropped them). A failed walk carries the receipts written before the failing member.

Type: ["object","null"]
/properties/accounts/items/properties/error Type: ["string","null"]
/properties/counts Type: object
Required fields: ["pending","running","completed","failed","joined"]
Additional properties: false
/properties/counts/properties/pending Type: integer
/properties/counts/properties/running Type: integer
/properties/counts/properties/completed Type: integer
/properties/counts/properties/failed Type: integer
/properties/counts/properties/joined Type: integer
/properties/detail Type: string

Complete payload contract

{
  "request": {
    "type": "object",
    "required": [
      "purge"
    ],
    "properties": {
      "purge": {
        "type": "string",
        "description": "The purge's id, from `purge_synthetic_accounts`; an unknown id refuses 404 `not_found`. Under the `synthetic_seed_purge` grant a purge of another credential's batches refuses the same."
      }
    }
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "purge",
      "state",
      "accounts",
      "counts"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "purge": {
        "type": "string"
      },
      "state": {
        "type": "string",
        "enum": [
          "running",
          "completed",
          "failed"
        ]
      },
      "outcome": {
        "type": [
          "string",
          "null"
        ],
        "description": "null while running and on a completed purge; `account_failed` where an account's walk failed, `interrupted` where a restart or the stale sweep ended the purge."
      },
      "drop_metering": {
        "type": "boolean"
      },
      "requested_at": {
        "type": "string"
      },
      "heartbeat_at": {
        "type": "string",
        "description": "The instant the run last reported; a running purge whose heartbeat is older than the stale bound is ended `failed interrupted` by the sweep."
      },
      "ended_at": {
        "type": [
          "string",
          "null"
        ]
      },
      "accounts": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "account",
            "state",
            "joined_purge",
            "started_at",
            "ended_at",
            "receipts",
            "error"
          ],
          "properties": {
            "account": {
              "type": "string"
            },
            "state": {
              "type": "string",
              "enum": [
                "pending",
                "running",
                "completed",
                "failed",
                "joined"
              ],
              "description": "The walk's state; for an account joined to another purge, that purge's state for the account."
            },
            "joined_purge": {
              "type": [
                "string",
                "null"
              ],
              "description": "The purge that walks the account where this purge joined it."
            },
            "started_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "ended_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "receipts": {
              "type": [
                "object",
                "null"
              ],
              "description": "The walk's receipts: `gone` (true where no account row stood), `estate` (one receipt per member, `delete_account`'s), `applications` (one teardown receipt per application, `delete_application`'s), and `metering` (the rows dropped per table where the purge dropped them). A failed walk carries the receipts written before the failing member."
            },
            "error": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "counts": {
        "type": "object",
        "required": [
          "pending",
          "running",
          "completed",
          "failed",
          "joined"
        ],
        "properties": {
          "pending": {
            "type": "integer"
          },
          "running": {
            "type": "integer"
          },
          "completed": {
            "type": "integer"
          },
          "failed": {
            "type": "integer"
          },
          "joined": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "detail": {
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}

Shared contracts