Create a durable activation or review observer
POST /v1/agent-tasks
Uses the existing activation or review attention state without verifying, acknowledging, revising, approving or sending. A worker is not created. Status polls reconcile the durable source with fresh authorization. Optional connection selection is frozen at creation. Agent keys retain their existing project ceiling; query selectors never widen it.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Optional review connection selection within the current grant. Not accepted for activation.
Optional review connection organization selection. Not accepted for activation.
Request Body required
Section titled “Request Body required ”Create an observation only. Activation requires signup:verify and excludes review_id and limit. Review requires mailbox:read. Assistant-profile connections may observe reviews only. No credentials are retained.
object
Optional review filter; omit to observe the calling composer’s accessible queue.
Review event page size; omit for activation.
Observer lifetime; expiration never cancels a review or extends an activation reservation.
Retry key within this credential family. Reusing it with different selectors or TTL returns 409.
Responses
Section titled “ Responses ”Observer created or idempotently resumed; may already be completed.
Durable observer bound to the exact connection grant or agent key and its immutable capability profile and selection. Each request rechecks current access. Completion means an observation is available, not that an account was verified or email was sent. Terminal results are immutable. Up to 100 unexpired handles, including completed handles, are retained per owner.
object
Suggested status-poll interval in milliseconds; normal polling needs no model invocation.
object
Durable attention for reviews the caller may access, including feedback and rule/category changes. Omit review_id for one shared wait. Reconnect with the same identity to replay unhandled events; waiting never acknowledges work. Events are FIFO per review, with persisted cursors. Delegated observations survive composer acknowledgements.
object
Remaining active reviews within this wait’s authorized resource and optional review_id boundary; legacy keys retain their composer ceiling. Included on an empty wait.
One durable review nudge (ndg_…) as drained from the authoritative liveness queue (spec §11). seq is the per-review monotonic ordinal the ack cursor advances against (0 for a broadcast nudge). Opaque typed ids only (D10).
object
The work-item kind. sent / send_failed / cancelled are TERMINAL: the LAST event a review ever produces is one of these; ack it and stop polling that review. (Almost every review emits exactly one; a failed send the agent then closes out emits send_failed and then cancelled.) sent covers both delivery flavors; payload.state distinguishes sent from auto_sent. approved and staleness are RESERVED and never emitted (kept so the enum is never narrowed). Treat an unrecognized reason as ack-and-ignore: this enum is additive across 0.x releases.
object
The agent’s per-(agent, review) ack frontier; its strict-FIFO position for one review.
object
Invalid request.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.
Missing or invalid credential.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.
Authenticated but lacking the required scope, or out of quota.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.
Resource not found.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.
Retry key has different immutable parameters.
Observed result exceeds 1 MiB; use a narrower review selector or limit.
Per-owner observer retention or request rate limit reached; honor Retry-After.
Durable observer storage is unavailable.