> ## 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 actions result



## OpenAPI

````yaml /api-reference/openapi.json post /v1/agent/chat/{sessionId}/actions/{actionId}/result
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}/actions/{actionId}/result:
    post:
      operationId: respondToAction
      parameters:
        - $ref: '#/components/parameters/SessionId'
        - $ref: '#/components/parameters/ActionId'
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RespondToActionIntent'
      responses:
        '200':
          description: Resulting Action revision
          content:
            application/json:
              schema:
                type: object
                required:
                  - action
                properties:
                  action:
                    $ref: '#/components/schemas/Action'
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
      security:
        - aomiOAuth:
            - agent:actions:resolve
components:
  parameters:
    SessionId:
      name: sessionId
      in: path
      required: true
      schema:
        type: string
        maxLength: 160
    ActionId:
      name: actionId
      in: path
      required: true
      schema:
        type: string
        pattern: ^act_[A-Za-z0-9_-]+$
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 160
  schemas:
    RespondToActionIntent:
      type: object
      required:
        - revision
        - result
      additionalProperties: false
      properties:
        revision:
          type: integer
          minimum: 0
        result:
          $ref: '#/components/schemas/ActionResult'
    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'
    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
    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
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error: {}
    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
    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
    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

````