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

# Post v1agentchat interrupt



## OpenAPI

````yaml /api-reference/openapi.json post /v1/agent/chat/{sessionId}/interrupt
openapi: 3.1.0
info:
  title: Aomi Event and Pipeline API
  version: 1.0.0
  description: >-
    Intent enters the runtime; one ordered stream of concrete Events leaves it.
    Actions are durable Events whose nested ActionRequest requires a client
    response.
servers:
  - url: https://chat.aomi.dev
    description: Production
  - url: https://chat-staging.aomi.dev
    description: Staging
security: []
paths:
  /v1/agent/chat/{sessionId}/interrupt:
    post:
      operationId: interruptTurn
      parameters:
        - $ref: '#/components/parameters/SessionId'
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InterruptIntent'
      responses:
        '200':
          description: Ordered event page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventPage'
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
      security:
        - aomiOAuth:
            - agent:write
components:
  parameters:
    SessionId:
      name: sessionId
      in: path
      required: true
      schema:
        type: string
        maxLength: 160
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 160
  schemas:
    InterruptIntent:
      type: object
      required:
        - turnId
      additionalProperties: false
      properties:
        turnId:
          type: string
    EventPage:
      type: object
      required:
        - session_id
        - cursor
        - events
        - has_more
      additionalProperties: false
      properties:
        session_id:
          type: string
        cursor:
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/ConcreteEvent'
        has_more:
          type: boolean
        commits:
          type: array
          items:
            $ref: '#/components/schemas/CommitView'
    ConcreteEvent:
      oneOf:
        - $ref: '#/components/schemas/MessageEvent'
        - $ref: '#/components/schemas/TurnStateChangedEvent'
        - $ref: '#/components/schemas/ToolUpdateEvent'
        - $ref: '#/components/schemas/ToolCompleteEvent'
        - $ref: '#/components/schemas/TaskStartedEvent'
        - $ref: '#/components/schemas/TaskPhaseEvent'
        - $ref: '#/components/schemas/TaskActivityEvent'
        - $ref: '#/components/schemas/TaskCompletedEvent'
        - $ref: '#/components/schemas/TitleEvent'
        - $ref: '#/components/schemas/ErrorEvent'
        - $ref: '#/components/schemas/Action'
      discriminator:
        propertyName: type
        mapping:
          message:
            $ref: '#/components/schemas/MessageEvent'
          turn_state_changed:
            $ref: '#/components/schemas/TurnStateChangedEvent'
          tool_update:
            $ref: '#/components/schemas/ToolUpdateEvent'
          tool_complete:
            $ref: '#/components/schemas/ToolCompleteEvent'
          task_started:
            $ref: '#/components/schemas/TaskStartedEvent'
          task_phase:
            $ref: '#/components/schemas/TaskPhaseEvent'
          task_activity:
            $ref: '#/components/schemas/TaskActivityEvent'
          task_completed:
            $ref: '#/components/schemas/TaskCompletedEvent'
          title_changed:
            $ref: '#/components/schemas/TitleEvent'
          error:
            $ref: '#/components/schemas/ErrorEvent'
          action:
            $ref: '#/components/schemas/Action'
    CommitView:
      type: object
      additionalProperties: false
      required:
        - version
        - commit_id
        - thread_id
        - stage_id
        - chain_family
        - chain_ref
        - signer
        - broadcaster
        - state
        - action
        - transaction_id
        - failure_code
        - batch
        - review
        - wallet_attempt
      properties:
        version:
          type: integer
          minimum: 1
        commit_id:
          type: string
        thread_id:
          type: string
        stage_id:
          type: string
        chain_family:
          type: string
          enum:
            - evm
            - svm
        chain_ref:
          type: string
        signer:
          type: string
        broadcaster:
          type: string
          enum:
            - wallet
            - hosted
            - venue
          description: >-
            Selected submitter. Auto selects hosted before assembly; an explicit
            wallet selection is invalid for Auto. App policy still bounds this
            choice.
        state:
          type: string
          enum:
            - needs_signature
            - awaiting_broadcast
            - submitted
            - confirmed
            - rejected
            - failed
            - expired
        supported_transports:
          type: array
          description: >-
            Additive capability advertisement. Absence on an older cached view
            means the legacy sign-and-broadcast route.
          items:
            $ref: '#/components/schemas/CommitTransport'
        transaction_id:
          type:
            - string
            - 'null'
        failure_code:
          type:
            - string
            - 'null'
        batch:
          oneOf:
            - $ref: '#/components/schemas/CommitBatchMember'
            - type: 'null'
        review:
          oneOf:
            - $ref: '#/components/schemas/CommitReviewSnapshot'
            - type: 'null'
        wallet_attempt:
          oneOf:
            - $ref: '#/components/schemas/CommitWalletAttemptStatus'
            - type: 'null'
        action:
          oneOf:
            - type: 'null'
            - type: object
              additionalProperties: false
              required:
                - kind
                - payload
              properties:
                kind:
                  const: sign
                payload:
                  $ref: '#/components/schemas/SignableCommit'
            - type: object
              additionalProperties: false
              required:
                - kind
                - signed_transaction
                - transaction_id
              properties:
                kind:
                  const: broadcast
                signed_transaction:
                  type: string
                transaction_id:
                  type: string
            - type: object
              description: >-
                Historical cached-view compatibility; new views use sign plus
                supported_transports.
              deprecated: true
              additionalProperties: false
              required:
                - kind
                - payload
                - review_digest
              properties:
                kind:
                  const: start_wallet_send
                payload:
                  $ref: '#/components/schemas/SignableCommit'
                review_digest:
                  type: string
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error: {}
    MessageEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - sender
            - content
          properties:
            type:
              const: message
            message_key:
              type:
                - string
                - 'null'
            sender:
              enum:
                - user
                - agent
                - system
                - notice
            content:
              type: string
            tool_call_id:
              type:
                - string
                - 'null'
            tool_result:
              type:
                - array
                - 'null'
              prefixItems:
                - type: string
                - type: string
              items: false
              minItems: 2
              maxItems: 2
            tool_name:
              type:
                - string
                - 'null'
            tool_arguments: {}
            is_streaming:
              type: boolean
    TurnStateChangedEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - state
          properties:
            type:
              const: turn_state_changed
            state:
              enum:
                - processing
                - awaiting_action
                - complete
                - interrupted
                - failed
    ToolUpdateEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - id
            - tool_name
            - result
          properties:
            type:
              const: tool_update
            id:
              type: string
            call_id:
              type:
                - string
                - 'null'
            tool_name:
              type: string
            result: {}
    ToolCompleteEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - id
            - tool_name
            - result
          properties:
            type:
              const: tool_complete
            id:
              type: string
            call_id:
              type:
                - string
                - 'null'
            tool_name:
              type: string
            result: {}
    TaskStartedEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - call_id
            - agent_id
            - label
            - app
            - resumed
          properties:
            type:
              const: task_started
            call_id:
              type: string
            agent_id:
              type: string
            label:
              type:
                - string
                - 'null'
            app:
              type: string
            resumed:
              type: boolean
    TaskPhaseEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - call_id
            - agent_id
            - app
            - phase
            - elapsed_ms
            - observed_at_ms
          properties:
            type:
              const: task_phase
            call_id:
              type: string
            agent_id:
              type: string
            app:
              type: string
            phase:
              type: string
            elapsed_ms:
              type: integer
              minimum: 0
            observed_at_ms:
              type: integer
    TaskActivityEvent:
      oneOf:
        - allOf:
            - $ref: '#/components/schemas/EventMeta'
            - type: object
              required:
                - type
                - call_id
                - agent_id
                - child_seq
                - kind
                - tool_name
                - args
                - result_preview
              properties:
                type:
                  const: task_activity
                call_id:
                  type: string
                agent_id:
                  type: string
                child_seq:
                  type: integer
                  minimum: 0
                kind:
                  const: tool_call
                tool_name:
                  type: string
                args: {}
                result_preview:
                  type: string
        - allOf:
            - $ref: '#/components/schemas/EventMeta'
            - type: object
              required:
                - type
                - call_id
                - agent_id
                - child_seq
                - kind
                - text
              properties:
                type:
                  const: task_activity
                call_id:
                  type: string
                agent_id:
                  type: string
                child_seq:
                  type: integer
                  minimum: 0
                kind:
                  const: note
                text:
                  type: string
      discriminator:
        propertyName: kind
    TaskCompletedEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - call_id
            - agent_id
            - status
            - message
            - staged_count
            - steps
            - duration_ms
          properties:
            type:
              const: task_completed
            call_id:
              type: string
            agent_id:
              type: string
            status:
              enum:
                - completed
                - failed
                - stalled
                - cancelled
            message:
              type: string
            staged_count:
              type: integer
              minimum: 0
            steps:
              type: integer
              minimum: 0
            duration_ms:
              type: integer
              minimum: 0
    TitleEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - title
          properties:
            type:
              const: title_changed
            title:
              type: string
    ErrorEvent:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - message
          properties:
            type:
              const: error
            message:
              type: string
    Action:
      allOf:
        - $ref: '#/components/schemas/EventMeta'
        - type: object
          required:
            - type
            - id
            - revision
            - state
            - request
            - created_at
            - expires_at
          properties:
            type:
              const: action
            id:
              type: string
            revision:
              type: integer
              minimum: 0
            state:
              enum:
                - pending
                - submitted
                - completed
                - rejected
                - expired
                - failed
            request:
              $ref: '#/components/schemas/ActionRequest'
            result:
              oneOf:
                - $ref: '#/components/schemas/ActionResult'
                - type: 'null'
            created_at:
              type: integer
            expires_at:
              type:
                - integer
                - 'null'
    CommitTransport:
      type: string
      enum:
        - sign_and_broadcast
        - browser_send
    CommitBatchMember:
      type: object
      additionalProperties: false
      required:
        - batch_id
        - index
        - ordered_stage_ids
        - ordered_commit_ids
        - sources
        - predecessor_commit_id
        - review_digest
      properties:
        batch_id:
          type: string
        index:
          type: integer
          minimum: 0
        ordered_stage_ids:
          type: array
          items:
            type: string
        ordered_commit_ids:
          type: array
          items:
            type: string
        sources:
          type: array
          items:
            $ref: '#/components/schemas/CommitSourceRef'
        predecessor_commit_id:
          type:
            - string
            - 'null'
        review_digest:
          type: string
    CommitReviewSnapshot:
      type: object
      additionalProperties: false
      required:
        - version
        - revision
        - digest
        - request
        - legs
      properties:
        version:
          type: integer
          minimum: 1
        revision:
          type: integer
          minimum: 1
        digest:
          type: string
        request:
          $ref: '#/components/schemas/ActionRequest'
        legs:
          type: array
          items:
            $ref: '#/components/schemas/ActionRequest'
    CommitWalletAttemptStatus:
      type: object
      additionalProperties: false
      required:
        - attempt_id
        - transport
        - state
        - transaction_id
        - failure_code
      properties:
        attempt_id:
          type: string
        transport:
          $ref: '#/components/schemas/CommitTransport'
        state:
          type: string
          enum:
            - awaiting_wallet
            - reported
            - observing
            - mismatched
        transaction_id:
          type:
            - string
            - 'null'
        failure_code:
          type:
            - string
            - 'null'
    SignableCommit:
      oneOf:
        - type: object
          required:
            - kind
            - chain_id
            - signer
            - nonce
            - transaction
          properties:
            kind:
              const: evm_transaction
            chain_id:
              type: integer
            signer:
              type: string
            nonce:
              type: integer
            transaction:
              type: object
              required:
                - to
                - value
                - data
                - gas_limit
                - max_fee_per_gas
                - max_priority_fee_per_gas
              properties:
                to:
                  type: string
                value:
                  type: string
                data:
                  type: string
                gas_limit:
                  type: integer
                max_fee_per_gas:
                  type: string
                max_priority_fee_per_gas:
                  type: string
        - type: object
          required:
            - kind
            - chain_id
            - signer
            - requests
          properties:
            kind:
              const: user_operation
            chain_id:
              type: integer
            signer:
              type: string
            requests:
              type: array
              items:
                type: object
                required:
                  - kind
                  - message
                  - raw_payload
                properties:
                  kind:
                    const: personal_sign
                  message:
                    type: string
                  raw_payload:
                    type: string
        - type: object
          required:
            - kind
            - signer
            - transaction_base64
          properties:
            kind:
              const: svm_transaction
            signer:
              type: string
            transaction_base64:
              type: string
    EventMeta:
      type: object
      required:
        - event_id
        - sequence
        - turn_id
        - occurred_at
        - type
      properties:
        event_id:
          type: string
        sequence:
          type: integer
          minimum: 1
        turn_id:
          type:
            - string
            - 'null'
        occurred_at:
          type: integer
        runtime_sequence:
          type: integer
          minimum: 0
          description: >-
            Optional runtime ordering hint for reconciling live text; never a
            durable cursor
        type:
          type: string
    ActionRequest:
      oneOf:
        - type: object
          required:
            - type
            - transactions
            - simulation
          additionalProperties: false
          properties:
            type:
              const: execute_evm
            transactions:
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/AssembledEvmTransaction'
            simulation:
              $ref: '#/components/schemas/PipelineSimulation'
        - type: object
          required:
            - type
            - transactions
            - simulation
          additionalProperties: false
          properties:
            type:
              const: execute_svm
            transactions:
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/AssembledSvmTransaction'
            simulation:
              $ref: '#/components/schemas/PipelineSimulation'
        - allOf:
            - $ref: '#/components/schemas/SigningRequest'
            - type: object
              required:
                - type
              properties:
                type:
                  const: sign
      discriminator:
        propertyName: type
    ActionResult:
      oneOf:
        - type: object
          required:
            - status
            - legs
          properties:
            status:
              const: submitted
            legs:
              type: array
              items:
                $ref: '#/components/schemas/TransactionResult'
        - type: object
          required:
            - status
            - outputs
          properties:
            status:
              const: signed
            outputs:
              type: array
              items:
                $ref: '#/components/schemas/SigningResult'
        - type: object
          required:
            - status
            - reason
          properties:
            status:
              const: rejected
            reason:
              type: string
              minLength: 1
      discriminator:
        propertyName: status
    CommitSourceRef:
      type: object
      additionalProperties: false
      required:
        - thread_id
        - chain_family
        - chain_ref
        - stage_id
        - source_id
      properties:
        thread_id:
          type: string
        chain_family:
          type: string
          enum:
            - evm
            - svm
        chain_ref:
          type: string
        stage_id:
          type: string
        source_id:
          type: integer
          minimum: 0
    AssembledEvmTransaction:
      type: object
      required:
        - chain_id
        - from
        - to
        - data
        - label
        - kind
      additionalProperties: false
      properties:
        chain_id:
          type: integer
          minimum: 1
        from:
          type: string
        to:
          type: string
        value:
          type: string
        gas:
          type: string
        data:
          type: string
        label:
          type: string
        kind:
          type: string
        protocol:
          type: string
        expires_at:
          type: integer
        last_batch_status:
          type: string
        pending_tx_id:
          type: integer
        current_lifecycle:
          type: string
        broadcaster:
          enum:
            - wallet
            - venue
            - hosted
        fee_outcome:
          $ref: '#/components/schemas/FeeOutcome'
    PipelineSimulation:
      type: object
      required:
        - status
        - balanceChanges
        - approvals
        - fees
        - warnings
        - guards
        - gas
        - logs
      additionalProperties: false
      properties:
        status:
          enum:
            - passed
            - failed
        balanceChanges:
          type: array
          items:
            $ref: '#/components/schemas/PipelineBalanceChange'
        approvals:
          type: array
          items:
            $ref: '#/components/schemas/PipelineApprovalChange'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/PipelineFeeEstimate'
        warnings:
          type: array
          items:
            type: string
        guards:
          type: array
          items:
            $ref: '#/components/schemas/PipelineGuardResult'
        gas:
          oneOf:
            - $ref: '#/components/schemas/PipelineGasEstimate'
            - type: 'null'
        logs:
          type: array
          items:
            $ref: '#/components/schemas/PipelineLog'
    AssembledSvmTransaction:
      type: object
      required:
        - payer
        - cluster
        - version
        - instructions
        - description
        - kind
      properties:
        payer:
          type: string
        cluster:
          type: string
        version:
          type: string
        instructions:
          type: array
          items:
            $ref: '#/components/schemas/AssembledSvmInstruction'
        address_lookup_tables:
          type: array
          items:
            type: string
        recent_blockhash:
          type: string
        last_valid_block_height:
          type: integer
        preserve_blockhash:
          type: boolean
        unsigned_transaction_base64:
          type: string
        description:
          type: string
        kind:
          type: string
        broadcaster:
          enum:
            - wallet
            - venue
            - hosted
        signed_transaction_base64:
          type: string
        broadcast_commitment:
          type: string
        pending_tx_id:
          type: integer
        last_batch_status:
          type: string
        current_lifecycle:
          type: string
    SigningRequest:
      type: object
      required:
        - requestId
        - chainFamily
        - executionKind
        - signer
        - description
        - payloads
      properties:
        requestId:
          type: string
        chainFamily:
          enum:
            - evm
            - svm
        executionKind:
          type: string
        signer:
          type: string
        chainId:
          type: integer
        cluster:
          type: string
        description:
          type: string
        payloads:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/SignablePayload'
        broadcaster:
          type: string
        operationId:
          type: string
        executor:
          type: string
        expiresAt:
          type: string
        callsDigest:
          type: string
        calls:
          type: array
          items:
            $ref: '#/components/schemas/SigningCall'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/SigningFee'
        sponsorship:
          type: string
          enum:
            - none
            - required
        maxNetworkFee:
          type: string
          pattern: ^[0-9]+$
          description: >-
            Maximum network cost in native base units, separate from application
            fees and principal.
        domain:
          type: object
          additionalProperties: true
        requestKind:
          type: string
    TransactionResult:
      type: object
      required:
        - id
        - status
      properties:
        id:
          type: string
        status:
          enum:
            - submitted
            - rejected
            - failed
            - skipped
        transactionId:
          type: string
        signedTransactionBase64:
          type: string
        reason:
          type: string
    SigningResult:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        signature:
          type: string
        signedTransactionBase64:
          type: string
    FeeOutcome:
      oneOf:
        - type: object
          required:
            - kind
          properties:
            kind:
              const: flat
        - type: object
          required:
            - kind
            - asset
            - amount
          properties:
            kind:
              const: flow
            asset:
              $ref: '#/components/schemas/SigningFeeAsset'
            amount:
              type: string
    PipelineBalanceChange:
      type: object
      required:
        - asset
        - amount
      additionalProperties: false
      properties:
        account:
          type:
            - string
            - 'null'
        asset:
          type: string
        amount:
          type: string
        direction:
          enum:
            - in
            - out
            - null
        symbol:
          type:
            - string
            - 'null'
        decimals:
          type:
            - integer
            - 'null'
        chainId:
          type:
            - integer
            - 'null'
        cluster:
          type:
            - string
            - 'null'
        standard:
          enum:
            - native
            - erc20
            - erc721
            - erc1155
            - erc721_or_erc1155
            - null
        name:
          type:
            - string
            - 'null'
        tokenId:
          type:
            - string
            - 'null'
        counterparty:
          type:
            - string
            - 'null'
        step:
          type:
            - integer
            - 'null'
          minimum: 1
    PipelineApprovalChange:
      type: object
      required:
        - account
        - spender
        - asset
        - kind
        - standard
      additionalProperties: false
      properties:
        account:
          type: string
        spender:
          type: string
        asset:
          type: string
        kind:
          enum:
            - allowance
            - token
            - operator
        amount:
          type:
            - string
            - 'null'
        approved:
          type:
            - boolean
            - 'null'
        unlimited:
          type:
            - boolean
            - 'null'
        tokenId:
          type:
            - string
            - 'null'
        standard:
          enum:
            - native
            - erc20
            - erc721
            - erc1155
            - erc721_or_erc1155
        symbol:
          type:
            - string
            - 'null'
        name:
          type:
            - string
            - 'null'
        decimals:
          type:
            - integer
            - 'null'
        chainId:
          type:
            - integer
            - 'null'
        step:
          type:
            - integer
            - 'null'
          minimum: 1
    PipelineFeeEstimate:
      type: object
      required:
        - asset
        - amount
      additionalProperties: false
      properties:
        account:
          type:
            - string
            - 'null'
        asset:
          type: string
        amount:
          type: string
        symbol:
          type:
            - string
            - 'null'
        decimals:
          type:
            - integer
            - 'null'
        chainId:
          type:
            - integer
            - 'null'
        cluster:
          type:
            - string
            - 'null'
        kind:
          type:
            - string
            - 'null'
    PipelineGuardResult:
      type: object
      required:
        - name
        - status
      additionalProperties: false
      properties:
        name:
          type: string
        status:
          enum:
            - passed
            - failed
            - warning
        message:
          type:
            - string
            - 'null'
    PipelineGasEstimate:
      type: object
      additionalProperties: false
      properties:
        units:
          type:
            - string
            - 'null'
        priceWei:
          type:
            - string
            - 'null'
        nativeCost:
          type:
            - string
            - 'null'
    PipelineLog:
      type: object
      required:
        - address
        - topics
        - data
      additionalProperties: false
      properties:
        chainId:
          type:
            - integer
            - 'null'
        cluster:
          type:
            - string
            - 'null'
        address:
          type: string
        topics:
          type: array
          items:
            type: string
        data:
          type: string
        step:
          type:
            - integer
            - 'null'
          minimum: 1
    AssembledSvmInstruction:
      type: object
      required:
        - payer
        - cluster
        - program_id
        - accounts
        - data_base64
        - description
        - kind
      properties:
        payer:
          type: string
        cluster:
          type: string
        program_id:
          type: string
        accounts:
          type: array
          items:
            type: object
            required:
              - pubkey
              - is_signer
              - is_writable
            properties:
              pubkey:
                type: string
              is_signer:
                type: boolean
              is_writable:
                type: boolean
        data_base64:
          type: string
        description:
          type: string
        kind:
          type: string
        assembly:
          $ref: '#/components/schemas/SvmAssemblyConfig'
        pending_ix_id:
          type: integer
        last_batch_status:
          type: string
        current_lifecycle:
          type: string
        fee_outcome:
          $ref: '#/components/schemas/FeeOutcome'
    SignablePayload:
      oneOf:
        - type: object
          required:
            - kind
            - message
          properties:
            kind:
              const: evm_personal
            message:
              type: string
        - type: object
          required:
            - kind
            - typed_data
          properties:
            kind:
              const: evm_typed_data
            typed_data:
              type: object
              additionalProperties: true
        - type: object
          required:
            - kind
            - message_base64
          properties:
            kind:
              const: svm_message
            message_base64:
              type: string
        - type: object
          required:
            - kind
            - transaction_base64
          properties:
            kind:
              const: svm_transaction
            transaction_base64:
              type: string
    SigningCall:
      type: object
      required:
        - to
        - value
      properties:
        to:
          type: string
        value:
          type: string
        data:
          type:
            - string
            - 'null'
    SigningFee:
      type: object
      required:
        - asset
        - amount
        - recipient
      properties:
        policy_version:
          type: integer
        asset:
          $ref: '#/components/schemas/SigningFeeAsset'
        amount:
          type: string
        recipient:
          type: string
    SigningFeeAsset:
      oneOf:
        - type: object
          required:
            - kind
          properties:
            kind:
              const: native
        - type: object
          required:
            - kind
            - address
          properties:
            kind:
              const: token
            address:
              type: string
    SvmAssemblyConfig:
      type: object
      properties:
        version:
          type: string
        address_lookup_tables:
          type: array
          items:
            type: string
        compute_units:
          type: integer
        priority_microlamports:
          type: integer
        broadcaster:
          enum:
            - wallet
            - venue
            - hosted
        commitment:
          type: string
  responses:
    Error:
      description: Stable public error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    aomiOAuth:
      type: oauth2
      description: >-
        Better Auth OAuth 2.1 authorization-code/device grants. Access tokens
        are exact-resource bound; the Portal BFF verifies them and delegates a
        downscoped internal bearer.
      flows:
        authorizationCode:
          authorizationUrl: https://chat.aomi.dev/api/auth/oauth2/authorize
          tokenUrl: https://chat.aomi.dev/api/auth/oauth2/token
          scopes:
            agent:read: Read owned Agent turns and sessions
            agent:write: Start, continue, interrupt, update, or delete Agent sessions
            agent:actions:resolve: Resolve a durable Agent Action
            pipeline:catalog: Browse public Pipeline apps, skills, and operations
            pipeline:execute: Attempt Pipeline execution subject to Gate F policy
            account:apps:read: Read available applications and installed state
            account:apps:write: Install and remove applications
            account:credentials:read: Read credential declarations and presence without values
            account:credentials:write: Save and remove owned application credentials
            account:credits:read: Read included allowance and Credit Bank activity
            account:credits:topup: Buy durable Credit Bank value through x402
            account:usage:read: Read priced account usage
            mcp:agent: Use the Agent MCP protected resource
            mcp:pipeline: Use the Pipeline MCP protected resource
            payments:submit: Attach a client-held payment signature
            custody:delegate: Permit separately approved delegated custody
      x-device-authorization-url: https://chat.aomi.dev/api/auth/device/code
      x-aomi-resources:
        agent: https://chat.aomi.dev/v1/agent
        pipeline: https://chat.aomi.dev/v1/pipeline
        agentMcp: https://chat.aomi.dev/v1/agent/mcp
        pipelineMcp: https://chat.aomi.dev/v1/pipeline/mcp
        account: https://chat.aomi.dev/v1/account

````