> ## Documentation Index
> Fetch the complete documentation index at: https://darwin.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Act

> Start a thread, continue work, and handle authentication or payment requests.

`POST /api/v3/act` starts one agent thread or continues it with a typed reply. Read current messages, pending requests, and progress with [Get thread](https://darwin.so/docs/reference/get-thread.md), using the returned `threadId`. Reading a thread does not start work.

Your credential identifies the caller. You do not send an identity selector. An account-owner API key needs `agent:write`; an assistant acting for a person needs a live `human:actions` OAuth grant. Application-only keys cannot act as their owner or an end user.

## Anonymous public Act

When guest access is enabled for Act, you can start reviewed, free public work before signing in. Live route, read-only operation and provider readiness checks still apply. A first REST start without credentials returns an `X-Act-Token` response header. Keep it in private client storage and send it on every subsequent read, continuation and retry. The credential expires after 24 hours; a thread ID alone never grants access. Invalid API keys or bearer tokens are rejected rather than treated as anonymous requests.

For sign-in, send your verified account credential together with the same `X-Act-Token`. Darwin transfers the existing thread and preserves its messages and retry identities. Continue that thread; signing in does not approve an action, pay, or repeat completed work. Application-bound guests require the same application. Private accounts, provider authentication, payment and private media still require sign-in and their normal approvals.

The web keeps guest proof in an HttpOnly cookie. MCP returns proof only in host-only result `_meta["darwin/actToken"]`; hosts opt in with `X-Darwin-Guest-Act: true`, store it per user, and forward it as an `X-Act-Token` HTTP header. Never put it in model arguments, messages, logs or URLs. MCP session IDs and unverified user metadata are not ownership proof. Hosts without per-user credential custody must use OAuth to continue. A short-lived browser claim link keeps an existing guest thread across an OAuth reconnect; it does not authorize payment or execution.

## Start and continue

Send exactly one of `searchId`, `targets`, or `threadId`. Choose exactly one agent for a new thread. For a Search handoff, set `agentIds` to the chosen agent ID; use the same owner credential and, when handing off a first-party guest Search, its `X-Search-Token` as additional proof. Direct starts use one entry in `targets`; continuations use a `threadId` and a typed `message`.

```json theme={null}
{
  "targets": [{ "agentId": "returned-agent-id", "operationId": "returned-capability-id" }],
  "message": "Help me with this task."
}
```

The response returns a `threadId` and an `actRequestId` receipt. Read [Get act request](https://darwin.so/docs/reference/act-request) using `actRequestId`, then continue through this same Act endpoint:

```json theme={null}
{
  "threadId": "returned-thread-id",
  "message": { "type": "text", "text": "Here is more information." }
}
```

Use an `Idempotency-Key` header and reuse it for retries of the same request. A new message uses a new key. A created thread is not a completed provider outcome. The legacy [Get act request](https://darwin.so/docs/reference/act-request) reader remains available for historical batch receipts.

## Authentication

Read the thread’s pending requests with Get thread for entries with `type: "authentication_request"` or `"authentication_required"`. Review the target, resource and scopes, then submit the exact request ID:

```json theme={null}
{
  "threadId": "returned-thread-id",
  "message": { "type": "authentication_response", "requestId": "returned-auth-request-id" }
}
```

A user API key also needs `connections:write`. The response's typed `result` contains an `authentication` ID, status, expiry and a hosted `url` when consent is required. The person opens that URL and chooses or connects the account. Act never accepts passwords, API keys or OAuth tokens. Only a verified `connected` status means authentication succeeded. Read the same thread after consent; do not create another attempt to poll it.

Use this Act message for request-bound authentication. Read the same thread after hosted consent to verify its current state. Saved access can be managed through [List auth credentials](https://darwin.so/docs/reference/target-accounts/list-account-auth-credentials.md) and [Revoke auth credential](https://darwin.so/docs/reference/target-accounts/revoke-account-auth-credential.md).

## Payment

The selected child’s `state.requests` includes a `payment_request` with immutable amount, currency, payee, accepted methods and expiry. Review those terms, then submit its exact request ID:

```json theme={null}
{
  "threadId": "returned-thread-id",
  "message": { "type": "payment_response", "requestId": "returned-payment-request-id" }
}
```

The typed `result` returns `status: "selection_required"`, `request`, `url`, `expiresAt` and the effective idempotency key. The person opens the hosted URL to review the terms, choose an eligible method and authorize checkout. Calling Act opens selection; it does not charge or report settlement. No card data, bank details, method selector or provider credential belongs in this message.

Read the same thread for verified payment state. Do not replay an uncertain payment with a new key. A hosted URL, saved method or accepted message is not a payment receipt.

Use this Act message for request-bound payment selection. Manage saved methods through [List payment methods](https://darwin.so/docs/reference/target-accounts/list-account-payment-methods.md) and [Revoke payment method](https://darwin.so/docs/reference/target-accounts/revoke-account-payment-method.md). Saving a method requires explicit permission and never proves a charge.

## Approvals and other replies

Use `action_request` to propose a capability invocation, `action_confirmation` to confirm its exact request, `approval_confirmation` with `allow` or `deny` for a reviewed permission, `completion_confirmation` to acknowledge delivery, and `cancellation_request` to request cancellation of an operation. Use IDs returned by Get act request. Plain text never substitutes for authentication, payment or approval.

Every start checks current route availability and authorization. A Search listing alone does not prove a provider can execute the request. Authentication and payment request IDs must belong to the supplied thread; Act rejects a request from another thread.


## OpenAPI

````yaml openapi-v3.json POST /v3/act
openapi: 3.1.0
info:
  title: Navigator
  version: 3.0.0
servers:
  - url: https://api.darwin.so/api
security: []
paths:
  /v3/act:
    post:
      summary: Act
      description: >-
        Optional context.text supplies caller-selected task context for text
        threads and follow-ups (preview, requires the personalization API
        release). Operation calls use schema-declared arguments instead. Context
        is retained as message data, never authority; account memory is not
        automatically forwarded. Account keys and OAuth are supported. Anonymous
        public Act is enabled separately: the first start may omit credentials
        and returns X-Act-Token; keep it in private client custody and send it
        on every read, continuation and retry. It expires after 24 hours. Sign
        in with the same token to claim the existing thread before
        authentication, payment or private account access. Invalid supplied
        credentials never fall back to guest access. Exactly one of searchId,
        targets, or threadId. For a Search handoff, arguments is an object keyed
        by agentId (not operationId); each value is that agent’s capability
        arguments. Omit arguments to open a text-only thread, not execute a
        tool. Search handoff requires the same owner credential; an anonymous
        Search also requires X-Search-Token. Caller identity comes from the
        credential. A user API key requires agent:write; OAuth requires a live
        human:actions grant. Authentication and payment messages open hosted
        consent or selection for a request in that exact thread; they do not
        submit secrets or charge a payment.
      operationId: create_or_continue_act
      parameters:
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
        - name: X-Search-Token
          in: header
          required: false
          schema:
            type: string
        - name: X-Act-Token
          in: header
          required: false
          schema:
            type: string
          description: Private guest credential; never place it in messages or URLs.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActV3Request'
      responses:
        '200':
          headers:
            X-Act-Token:
              description: >-
                Returned only when a guest session is first created. Keep it for
                subsequent calls.
              schema:
                type: string
          description: >-
            Typed continuation receipt. This acknowledges the message, not
            terminal provider completion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActV3Response'
        '202':
          description: >-
            Act request accepted for thread handoff. The receipt status
            completed means handoff only. Read the owner-bound thread for
            terminal provider outcome and output; no completed work is asserted
            by this response.
          headers:
            Location:
              description: >-
                Owner-authorized request observation endpoint; reading does not
                retry execution.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActV3RequestResponse'
        '400':
          description: Invalid request or stale Search handoff
        '401':
          description: Missing or invalid credential
        '403':
          description: Required scope missing, or agent or thread access denied
        '409':
          description: >-
            All thread starts failed. ACT_ADMISSION_BLOCKED identifies a known
            admission refusal; ACT_HANDOFF_UNCONFIRMED requires reconciliation
            before further action. Both include the durable receipt, blocking
            codes and GET-only next actions; retryable is false.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActPostFailure'
        '429':
          description: Account request limit exceeded; follow Retry-After
        '503':
          description: Act or thread runtime unavailable
      security:
        - apiKey: []
        - bearer: []
        - actGuest: []
        - {}
components:
  schemas:
    ActV3Request:
      anyOf:
        - type: object
          properties:
            searchId:
              type: string
              pattern: ^srch_[a-f0-9-]{36}$
            agentIds:
              minItems: 1
              maxItems: 8
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            arguments:
              description: >-
                Capability arguments keyed by agentId from the selected Search
                result. Omit for a text-only thread; operationId keys are
                invalid.
              type: object
              propertyNames:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              additionalProperties:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
            message:
              type: string
              minLength: 1
              maxLength: 32000
            context:
              description: >-
                Relevant task context explicitly shared with this agent. For
                operation calls, put personalized values in declared arguments
                instead. Never send a complete account profile.
              type: object
              properties:
                text:
                  type: string
                  minLength: 1
                  maxLength: 4000
              required:
                - text
              additionalProperties: false
          required:
            - searchId
            - message
          additionalProperties: false
        - type: object
          properties:
            targets:
              minItems: 1
              maxItems: 1
              type: array
              items:
                type: object
                properties:
                  agentId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  operationId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  operationRevision:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                  arguments:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                required:
                  - agentId
                additionalProperties: false
            message:
              type: string
              minLength: 1
              maxLength: 32000
            context:
              description: >-
                Relevant task context explicitly shared with this agent. For
                operation calls, put personalized values in declared arguments
                instead. Never send a complete account profile.
              type: object
              properties:
                text:
                  type: string
                  minLength: 1
                  maxLength: 4000
              required:
                - text
              additionalProperties: false
          required:
            - targets
            - message
          additionalProperties: false
        - type: object
          properties:
            threadId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            message:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: text
                    text:
                      type: string
                      minLength: 1
                      maxLength: 32000
                    context:
                      description: >-
                        Relevant task context explicitly shared with this agent.
                        For operation calls, put personalized values in declared
                        arguments instead. Never send a complete account
                        profile.
                      type: object
                      properties:
                        text:
                          type: string
                          minLength: 1
                          maxLength: 4000
                      required:
                        - text
                      additionalProperties: false
                  required:
                    - type
                    - text
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: action_request
                    operationId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    arguments:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                  required:
                    - type
                    - operationId
                    - arguments
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: action_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: approval_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    decision:
                      type: string
                      enum:
                        - allow
                        - deny
                  required:
                    - type
                    - requestId
                    - decision
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: completion_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: cancellation_request
                    actionId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - actionId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: authentication_response
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: payment_response
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
          required:
            - threadId
            - message
          additionalProperties: false
    ActV3Response:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              const: request
            actRequestId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            threadId:
              description: >-
                The one created thread. Omitted for historical failed or batch
                receipts.
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            searchId:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 200
                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                - type: 'null'
            status:
              type: string
              enum:
                - pending
                - completed
                - partial
                - failed
              description: >-
                Act Request handoff status only. Completed means thread receipts
                were created; read each thread for action confirmation and
                provider result.
            createdAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            threads:
              minItems: 1
              maxItems: 8
              type: array
              items:
                type: object
                properties:
                  agentId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  operationId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  operationRevision:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                  threadId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  messageId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  errorCode:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  state:
                    type: object
                    properties:
                      thread:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      messages:
                        maxItems: 100
                        type: array
                        items:
                          oneOf:
                            - type: object
                              properties:
                                message:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                from:
                                  type: string
                                  enum:
                                    - you
                                    - agent
                                    - darwin
                                content:
                                  maxItems: 20
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: text
                                          text:
                                            type: string
                                            minLength: 1
                                            maxLength: 32000
                                        required:
                                          - type
                                          - text
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: image
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: audio
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: video
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: file
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                status:
                                  type: string
                                  enum:
                                    - accepted
                                    - delivered
                                    - failed
                                    - unknown
                                createdAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                type:
                                  type: string
                                  const: input_response
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                arguments:
                                  type: object
                                  propertyNames:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  additionalProperties: {}
                              required:
                                - message
                                - from
                                - content
                                - status
                                - createdAt
                                - type
                                - request
                                - arguments
                              additionalProperties: false
                            - type: object
                              properties:
                                message:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                from:
                                  type: string
                                  enum:
                                    - you
                                    - agent
                                    - darwin
                                content:
                                  maxItems: 20
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: text
                                          text:
                                            type: string
                                            minLength: 1
                                            maxLength: 32000
                                        required:
                                          - type
                                          - text
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: image
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: audio
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: video
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: file
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: owner_file
                                          inputRef:
                                            type: string
                                            maxLength: 8192
                                            pattern: ^ofi_[A-Za-z0-9_-]+$
                                        required:
                                          - type
                                          - inputRef
                                        additionalProperties: false
                                status:
                                  type: string
                                  enum:
                                    - accepted
                                    - delivered
                                    - failed
                                    - unknown
                                createdAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                type:
                                  type: string
                                  const: message
                              required:
                                - message
                                - from
                                - content
                                - status
                                - createdAt
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                message:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                from:
                                  type: string
                                  enum:
                                    - you
                                    - agent
                                    - darwin
                                content:
                                  maxItems: 20
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: text
                                          text:
                                            type: string
                                            minLength: 1
                                            maxLength: 32000
                                        required:
                                          - type
                                          - text
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: image
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: audio
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: video
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: file
                                          assetId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                        required:
                                          - type
                                          - assetId
                                        additionalProperties: false
                                status:
                                  type: string
                                  enum:
                                    - accepted
                                    - delivered
                                    - failed
                                    - unknown
                                createdAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                type:
                                  type: string
                                  const: result
                                data: {}
                              required:
                                - message
                                - from
                                - content
                                - status
                                - createdAt
                                - type
                              additionalProperties: false
                      errors:
                        description: >-
                          Error events in this page. Retryable does not
                          authorize replaying an accepted effect or payment.
                        maxItems: 100
                        type: array
                        items:
                          type: object
                          properties:
                            event:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            code:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            retryable:
                              type: boolean
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          required:
                            - event
                            - code
                            - retryable
                            - createdAt
                          additionalProperties: false
                      actions:
                        type: array
                        items:
                          type: object
                          properties:
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            capability:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - awaiting_confirmation
                                - queued
                                - running
                                - waiting
                                - reconciling
                                - succeeded
                                - failed
                                - cancelled
                                - withdrawn
                            cancellationRequested:
                              type: boolean
                            accepted:
                              type: boolean
                          required:
                            - action
                            - capability
                            - request
                            - status
                            - cancellationRequested
                          additionalProperties: false
                      requests:
                        type: array
                        items:
                          oneOf:
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: input_request
                                capability:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                inputSchema:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties: {}
                                inputSchemaResources:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: object
                                    propertyNames:
                                      type: string
                                    additionalProperties: {}
                                expiresAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - capability
                                - inputSchema
                                - expiresAt
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: action_request
                                capability:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                arguments:
                                  type: object
                                  propertyNames:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  additionalProperties: {}
                                account:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - capability
                                - arguments
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: approval_request
                                reason:
                                  type: string
                                  minLength: 1
                                  maxLength: 2000
                                expiresAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                capability:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                arguments:
                                  type: object
                                  propertyNames:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  additionalProperties: {}
                                account:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - reason
                                - expiresAt
                                - capability
                                - arguments
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: authentication_request
                                targetAgent:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                authenticationType:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  pattern: ^[a-z][a-z0-9_]*(?:\.[a-z][a-z0-9_]*)*$
                                resource:
                                  type: string
                                  maxLength: 2000
                                  format: uri
                                scopes:
                                  maxItems: 50
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                account:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - targetAgent
                                - authenticationType
                                - resource
                                - scopes
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: authentication_required
                                targetAgent:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                scopes:
                                  maxItems: 50
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                account:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                expiresAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - targetAgent
                                - scopes
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: payment_request
                                amountMinor:
                                  type: string
                                  pattern: ^[1-9][0-9]{0,17}$
                                currency:
                                  type: string
                                  pattern: ^[A-Z]{3}$
                                payee:
                                  type: object
                                  properties:
                                    agent:
                                      type: string
                                      minLength: 1
                                      maxLength: 200
                                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    name:
                                      type: string
                                      minLength: 1
                                      maxLength: 200
                                  required:
                                    - agent
                                    - name
                                  additionalProperties: false
                                acceptedMethods:
                                  minItems: 1
                                  maxItems: 8
                                  type: array
                                  items:
                                    type: string
                                    enum:
                                      - card
                                      - bank
                                      - hosted_checkout
                                      - darwin_wallet
                                      - mpp
                                      - x402
                                      - ucp
                                      - acp
                                expiresAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - amountMinor
                                - currency
                                - payee
                                - acceptedMethods
                                - expiresAt
                              additionalProperties: false
                            - type: object
                              properties:
                                request:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                action:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - resolved
                                    - expired
                                    - cancelled
                                    - settled
                                    - failed
                                    - voided
                                    - partially_refunded
                                    - reversal_pending
                                    - reversal_failed
                                    - disputed
                                    - refunded
                                type:
                                  type: string
                                  const: completion_request
                                result:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                              required:
                                - request
                                - action
                                - status
                                - type
                                - result
                              additionalProperties: false
                      cursor:
                        type: string
                        minLength: 3
                        maxLength: 200
                        pattern: ^.+:(0|[1-9][0-9]*)$
                      hasMore:
                        type: boolean
                      archived:
                        type: boolean
                      needsAttention:
                        type: boolean
                    required:
                      - thread
                      - messages
                      - actions
                      - requests
                      - cursor
                      - hasMore
                      - archived
                      - needsAttention
                    additionalProperties: false
                required:
                  - agentId
                additionalProperties: false
          required:
            - type
            - actRequestId
            - searchId
            - status
            - createdAt
            - threads
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: continuation
            threadId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            result:
              anyOf:
                - type: object
                  properties:
                    thread:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    message:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    status:
                      type: string
                      const: accepted
                    cursor:
                      type: string
                      minLength: 3
                      maxLength: 200
                      pattern: ^.+:(0|[1-9][0-9]*)$
                    idempotencyKey:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - thread
                    - message
                    - status
                    - cursor
                    - idempotencyKey
                  additionalProperties: false
                - oneOf:
                    - type: object
                      properties:
                        authentication:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          const: awaiting_consent
                        url:
                          type: string
                          maxLength: 2048
                          format: uri
                      required:
                        - authentication
                        - expiresAt
                        - status
                      additionalProperties: false
                    - type: object
                      properties:
                        authentication:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          enum:
                            - authorizing
                            - exchanging
                            - expired
                            - denied
                            - failed
                      required:
                        - authentication
                        - expiresAt
                        - status
                      additionalProperties: false
                    - type: object
                      properties:
                        authentication:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          const: connected
                        account:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      required:
                        - authentication
                        - expiresAt
                        - status
                        - account
                      additionalProperties: false
                - oneOf:
                    - type: object
                      properties:
                        request:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          const: selection_required
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        url:
                          type: string
                          maxLength: 2048
                          format: uri
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      required:
                        - request
                        - status
                        - expiresAt
                        - url
                        - idempotencyKey
                      additionalProperties: false
                    - type: object
                      properties:
                        payment:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          enum:
                            - prepared
                            - dispatching
                            - uncertain
                            - pending
                        url:
                          type: string
                          maxLength: 2048
                          format: uri
                      required:
                        - payment
                        - expiresAt
                        - idempotencyKey
                        - status
                        - url
                      additionalProperties: false
                    - type: object
                      properties:
                        payment:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          enum:
                            - settled
                            - partially_refunded
                            - reversal_pending
                            - reversal_failed
                            - disputed
                            - refunded
                        receipt:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      required:
                        - payment
                        - expiresAt
                        - idempotencyKey
                        - status
                        - receipt
                      additionalProperties: false
                    - type: object
                      properties:
                        payment:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        expiresAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        idempotencyKey:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          enum:
                            - failed
                            - voided
                      required:
                        - payment
                        - expiresAt
                        - idempotencyKey
                        - status
                      additionalProperties: false
          required:
            - type
            - threadId
            - result
          additionalProperties: false
    ActV3RequestResponse:
      type: object
      properties:
        type:
          type: string
          const: request
        actRequestId:
          type: string
          minLength: 1
          maxLength: 200
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
        threadId:
          description: >-
            The one created thread. Omitted for historical failed or batch
            receipts.
          type: string
          minLength: 1
          maxLength: 200
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
        searchId:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
        status:
          type: string
          enum:
            - pending
            - completed
            - partial
            - failed
          description: >-
            Act Request handoff status only. Completed means thread receipts
            were created; read each thread for action confirmation and provider
            result.
        createdAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        threads:
          minItems: 1
          maxItems: 8
          type: array
          items:
            type: object
            properties:
              agentId:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              operationId:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              operationRevision:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
              threadId:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              messageId:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              errorCode:
                type: string
                minLength: 1
                maxLength: 200
                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
              state:
                type: object
                properties:
                  thread:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  messages:
                    maxItems: 100
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            message:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            from:
                              type: string
                              enum:
                                - you
                                - agent
                                - darwin
                            content:
                              maxItems: 20
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: text
                                      text:
                                        type: string
                                        minLength: 1
                                        maxLength: 32000
                                    required:
                                      - type
                                      - text
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: image
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: audio
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: video
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: file
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                            status:
                              type: string
                              enum:
                                - accepted
                                - delivered
                                - failed
                                - unknown
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            type:
                              type: string
                              const: input_response
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            arguments:
                              type: object
                              propertyNames:
                                type: string
                                minLength: 1
                                maxLength: 200
                              additionalProperties: {}
                          required:
                            - message
                            - from
                            - content
                            - status
                            - createdAt
                            - type
                            - request
                            - arguments
                          additionalProperties: false
                        - type: object
                          properties:
                            message:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            from:
                              type: string
                              enum:
                                - you
                                - agent
                                - darwin
                            content:
                              maxItems: 20
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: text
                                      text:
                                        type: string
                                        minLength: 1
                                        maxLength: 32000
                                    required:
                                      - type
                                      - text
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: image
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: audio
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: video
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: file
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: owner_file
                                      inputRef:
                                        type: string
                                        maxLength: 8192
                                        pattern: ^ofi_[A-Za-z0-9_-]+$
                                    required:
                                      - type
                                      - inputRef
                                    additionalProperties: false
                            status:
                              type: string
                              enum:
                                - accepted
                                - delivered
                                - failed
                                - unknown
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            type:
                              type: string
                              const: message
                          required:
                            - message
                            - from
                            - content
                            - status
                            - createdAt
                            - type
                          additionalProperties: false
                        - type: object
                          properties:
                            message:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            from:
                              type: string
                              enum:
                                - you
                                - agent
                                - darwin
                            content:
                              maxItems: 20
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: text
                                      text:
                                        type: string
                                        minLength: 1
                                        maxLength: 32000
                                    required:
                                      - type
                                      - text
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: image
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: audio
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: video
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: file
                                      assetId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                    required:
                                      - type
                                      - assetId
                                    additionalProperties: false
                            status:
                              type: string
                              enum:
                                - accepted
                                - delivered
                                - failed
                                - unknown
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            type:
                              type: string
                              const: result
                            data: {}
                          required:
                            - message
                            - from
                            - content
                            - status
                            - createdAt
                            - type
                          additionalProperties: false
                  errors:
                    description: >-
                      Error events in this page. Retryable does not authorize
                      replaying an accepted effect or payment.
                    maxItems: 100
                    type: array
                    items:
                      type: object
                      properties:
                        event:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        code:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        retryable:
                          type: boolean
                        action:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        createdAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - event
                        - code
                        - retryable
                        - createdAt
                      additionalProperties: false
                  actions:
                    type: array
                    items:
                      type: object
                      properties:
                        action:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        capability:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        request:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        status:
                          type: string
                          enum:
                            - awaiting_confirmation
                            - queued
                            - running
                            - waiting
                            - reconciling
                            - succeeded
                            - failed
                            - cancelled
                            - withdrawn
                        cancellationRequested:
                          type: boolean
                        accepted:
                          type: boolean
                      required:
                        - action
                        - capability
                        - request
                        - status
                        - cancellationRequested
                      additionalProperties: false
                  requests:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: input_request
                            capability:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            inputSchema:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            inputSchemaResources:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties:
                                type: object
                                propertyNames:
                                  type: string
                                additionalProperties: {}
                            expiresAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - capability
                            - inputSchema
                            - expiresAt
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: action_request
                            capability:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            arguments:
                              type: object
                              propertyNames:
                                type: string
                                minLength: 1
                                maxLength: 200
                              additionalProperties: {}
                            account:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - capability
                            - arguments
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: approval_request
                            reason:
                              type: string
                              minLength: 1
                              maxLength: 2000
                            expiresAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            capability:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            arguments:
                              type: object
                              propertyNames:
                                type: string
                                minLength: 1
                                maxLength: 200
                              additionalProperties: {}
                            account:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - reason
                            - expiresAt
                            - capability
                            - arguments
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: authentication_request
                            targetAgent:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            authenticationType:
                              type: string
                              minLength: 1
                              maxLength: 100
                              pattern: ^[a-z][a-z0-9_]*(?:\.[a-z][a-z0-9_]*)*$
                            resource:
                              type: string
                              maxLength: 2000
                              format: uri
                            scopes:
                              maxItems: 50
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                            account:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - targetAgent
                            - authenticationType
                            - resource
                            - scopes
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: authentication_required
                            targetAgent:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            scopes:
                              maxItems: 50
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                            account:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            expiresAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - targetAgent
                            - scopes
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: payment_request
                            amountMinor:
                              type: string
                              pattern: ^[1-9][0-9]{0,17}$
                            currency:
                              type: string
                              pattern: ^[A-Z]{3}$
                            payee:
                              type: object
                              properties:
                                agent:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                name:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                              required:
                                - agent
                                - name
                              additionalProperties: false
                            acceptedMethods:
                              minItems: 1
                              maxItems: 8
                              type: array
                              items:
                                type: string
                                enum:
                                  - card
                                  - bank
                                  - hosted_checkout
                                  - darwin_wallet
                                  - mpp
                                  - x402
                                  - ucp
                                  - acp
                            expiresAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - amountMinor
                            - currency
                            - payee
                            - acceptedMethods
                            - expiresAt
                          additionalProperties: false
                        - type: object
                          properties:
                            request:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            action:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            status:
                              type: string
                              enum:
                                - pending
                                - resolved
                                - expired
                                - cancelled
                                - settled
                                - failed
                                - voided
                                - partially_refunded
                                - reversal_pending
                                - reversal_failed
                                - disputed
                                - refunded
                            type:
                              type: string
                              const: completion_request
                            result:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - request
                            - action
                            - status
                            - type
                            - result
                          additionalProperties: false
                  cursor:
                    type: string
                    minLength: 3
                    maxLength: 200
                    pattern: ^.+:(0|[1-9][0-9]*)$
                  hasMore:
                    type: boolean
                  archived:
                    type: boolean
                  needsAttention:
                    type: boolean
                required:
                  - thread
                  - messages
                  - actions
                  - requests
                  - cursor
                  - hasMore
                  - archived
                  - needsAttention
                additionalProperties: false
            required:
              - agentId
            additionalProperties: false
      required:
        - type
        - actRequestId
        - searchId
        - status
        - createdAt
        - threads
      additionalProperties: false
    ActPostFailure:
      type: object
      required:
        - code
        - stage
        - retryable
        - message
        - blockers
        - receipt
      additionalProperties: false
      properties:
        code:
          type: string
          enum:
            - ACT_ADMISSION_BLOCKED
            - ACT_HANDOFF_UNCONFIRMED
        stage:
          type: string
          enum:
            - admission
            - handoff
        retryable:
          type: boolean
          const: false
        message:
          type: string
        receipt:
          $ref: '#/components/schemas/ActV3RequestResponse'
        blockers:
          type: array
          minItems: 1
          maxItems: 8
          items:
            type: object
            required:
              - agentId
              - code
              - nextAction
            additionalProperties: false
            properties:
              agentId:
                type: string
              operationId:
                type: string
              operationRevision:
                type: integer
                minimum: 1
              code:
                type: string
              nextAction:
                type: object
                required:
                  - type
                  - method
                  - path
                additionalProperties: false
                properties:
                  type:
                    type: string
                    enum:
                      - inspect_operation
                      - reconcile_request
                  method:
                    type: string
                    const: GET
                  path:
                    type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    bearer:
      type: http
      scheme: bearer
    actGuest:
      type: apiKey
      in: header
      name: X-Act-Token
      description: >-
        Anonymous public Act when guest access is enabled. A thread ID alone
        never grants access.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.