Skip to content

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.

project_id
string
<= 256 characters

Optional review connection selection within the current grant. Not accepted for activation.

org_id
string
<= 256 characters

Optional review connection organization selection. Not accepted for activation.

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
kind
required
string
Allowed values: activation review
review_id

Optional review filter; omit to observe the calling composer’s accessible queue.

string
<= 256 characters
limit

Review event page size; omit for activation.

integer
default: 100 >= 1 <= 100
ttl_seconds

Observer lifetime; expiration never cancels a review or extends an activation reservation.

integer
default: 3600 >= 60 <= 86400
client_id

Retry key within this credential family. Reusing it with different selectors or TTL returns 409.

string
<= 128 characters

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
id
required
string
kind
required
string
Allowed values: activation review
status
required
string
Allowed values: working completed cancelled
created_at
required
string format: date-time
last_updated_at
required
string format: date-time
expires_at
required
string format: date-time
poll_interval_ms
required

Suggested status-poll interval in milliseconds; normal polling needs no model invocation.

integer
>= 1
result
One of:
object
agent_id
required
string
address
required
string format: email
human_email
required
string format: email
created_ms
required
integer format: int64
expires_ms
required
integer format: int64
revision
required
integer format: int64
state
required
string
Allowed values: pending proven activated expired

Invalid request.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

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

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

Missing or invalid credential.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

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

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

Authenticated but lacking the required scope, or out of quota.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

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

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

Resource not found.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

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

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

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.