---
title: "Register an additive, owner-verified PetCenter task manifest for isolated one-minute scheduling"
method: POST
path: "/v1/outbound/dispatch-scopes/petcenter/registrations"
---

# Register an additive, owner-verified PetCenter task manifest for isolated one-minute scheduling

`POST /v1/outbound/dispatch-scopes/petcenter/registrations`

## Request

- Base URL: `https://volai.cz`
- URL: `https://volai.cz/v1/outbound/dispatch-scopes/petcenter/registrations`
- Auth: HTTP bearer

Owner-only operational registration for the PetCenter one-minute dispatcher. Send a stable `operationId`, the source manifest's SHA-256, and ordered `taskIds`. The server verifies account and agent ownership; the first manifest must match the pinned 19-task list, and later manifests may only append tasks. To explicitly refresh only the digest, also send `expectedManifestSha` from the current GET and preserve the entire ordered task list. Compare-and-swap rejects a stale digest; this field cannot append, remove or reorder tasks. The condition is part of the immutable operation body. Reusing an operation ID with the same body is safe; changing its body conflicts. This only changes scheduler membership and never starts or resumes a task.

## Request body

- object
  - `operationId` string, required: Stable opaque identifier for this durable registration operation. Reuse it unchanged after a timeout; a different body under the same ID conflicts.
  - `manifestSha` string, required: Lowercase SHA-256 digest of the source runtime manifest. The first registration is pinned; later registrations append task IDs or explicitly refresh the digest with expectedManifestSha and the identical ordered task list.
  - `expectedManifestSha` string: Optional compare-and-swap for a manifest-only refresh: the current registered SHA-256 from GET, with exactly the same complete ordered taskIds. Cannot append, remove or reorder tasks. The condition is bound to the operation ID; a stale value conflicts before any registry write. Omit for ordinary append registration.
  - `taskIds` string[], required: Ordered outbound task IDs from the source manifest. Every task must belong to the PetCenter campaign account and agent. Maximum 200 IDs.

## Response `200`

Accepted registration operation

- object
  - `registration` object, nullable, required
    - `manifestSha` string, required
    - `taskCount` integer, required
    - `updatedAt` integer, required
  - `operation` object, nullable, required
    - `operationId` string, required
    - `manifestSha` string, required
    - `taskCount` integer, required
    - `acceptedAt` integer, required
    - `replayed` boolean, required

## Other responses

- `400`: Error codes: validation (request).
- `401`: Error codes: unauthorized (request).
- `403`: Error codes: account_suspended (account).
- `409`: Error codes: revision_conflict (request).
- `429`: Error codes: rate_limited (busy).
- `500`: Error codes: internal_error (service).

---

[API](https://skmtc.dev/volai/apis/volai-rest-api.md) · [All operations](https://skmtc.dev/volai/apis/volai-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volai/apis/volai-rest-api/revisions/12029b05e2fa?raw)
