> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/products/agentic-wallet/manual/llms.txt
> Use this file to discover all available pages before exploring further.

# List pacts

> List pacts visible to the authenticated principal. Agents see pacts they submitted; humans see pacts on wallets they own. Use query parameters to filter by status or wallet.



## OpenAPI

````yaml get /api/v1/pacts
openapi: 3.1.0
info:
  title: Cobo Agentic Wallet Service
  description: Unified wallet engine for human and agent principals
  version: 1.3.0
servers: []
security: []
paths:
  /api/v1/pacts:
    get:
      tags:
        - Pacts
      summary: List pacts
      description: >-
        List pacts visible to the authenticated principal. Agents see pacts they
        submitted; humans see pacts on wallets they own. Use query parameters to
        filter by status or wallet.
      operationId: list_pacts
      parameters:
        - name: status
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/PactStatus'
            description: >-
              Filter results to pacts with this status. Allowed values:
              `PENDING_APPROVAL`, `ACTIVE`, `COMPLETED`, `REVOKED`, `WITHDRAWN`,
              `REJECTED`.
            title: Status
            nullable: true
          description: >-
            Filter results to pacts with this status. Allowed values:
            `PENDING_APPROVAL`, `ACTIVE`, `COMPLETED`, `REVOKED`, `WITHDRAWN`,
            `REJECTED`.
        - name: wallet_id
          in: query
          required: false
          schema:
            description: >-
              Filter results to pacts associated with this wallet. Pass the UUID
              of the wallet as returned by the wallets API.
            title: Wallet Id
            type: string
            format: uuid
            nullable: true
          description: >-
            Filter results to pacts associated with this wallet. Pass the UUID
            of the wallet as returned by the wallets API.
        - name: after
          in: query
          required: false
          schema:
            description: >-
              A cursor for forward pagination. Pass the `after` value from a
              previous response to retrieve the next page.
            title: After
            type: string
            nullable: true
          description: >-
            A cursor for forward pagination. Pass the `after` value from a
            previous response to retrieve the next page.
        - name: before
          in: query
          required: false
          schema:
            description: >-
              A cursor for backward pagination. Pass the `before` value from a
              previous response to retrieve the preceding page.
            title: Before
            type: string
            nullable: true
          description: >-
            A cursor for backward pagination. Pass the `before` value from a
            previous response to retrieve the preceding page.
        - name: offset
          in: query
          required: false
          schema:
            description: Deprecated. Use `after`/`before` cursors instead.
            deprecated: true
            title: Offset
            type: integer
            maximum: 9223372036854776000
            minimum: 0
            nullable: true
          description: Deprecated. Use `after`/`before` cursors instead.
          deprecated: true
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            description: 'The maximum number of items to return. Range: [1, 100].'
            default: 20
            title: Limit
          description: 'The maximum number of items to return. Range: [1, 100].'
        - name: include_default
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Include default pacts (`is_default=true`) in results. Excluded by
              default.
            default: false
            title: Include Default
          description: >-
            Include default pacts (`is_default=true`) in results. Excluded by
            default.
        - name: X-API-Key
          in: header
          required: false
          schema:
            title: X-Api-Key
            type: string
            nullable: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse_PactListResponse_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WrappedValidationError'
components:
  schemas:
    PactStatus:
      type: string
      enum:
        - pending_approval
        - active
        - rejected
        - completed
        - expired
        - revoked
        - withdrawn
      title: PactStatus
      description: Pact lifecycle states.
    StandardResponse_PactListResponse_:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        result:
          $ref: '#/components/schemas/PactListResponse'
        suggestion:
          type: string
          title: Suggestion
          default: ''
        message:
          type: string
          title: Message
          default: ''
        meta:
          $ref: '#/components/schemas/PaginationMeta'
          nullable: true
      type: object
      required:
        - result
      title: StandardResponse[PactListResponse]
    WrappedValidationError:
      title: WrappedValidationError
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
          default: false
          title: Success
        error:
          type: object
          title: Error
          required:
            - detail
          properties:
            detail:
              type: array
              title: Detail
              items:
                $ref: '#/components/schemas/ValidationError'
    PactListResponse:
      properties:
        pacts:
          items:
            $ref: '#/components/schemas/PactSummary'
          type: array
          title: Pacts
      type: object
      required:
        - pacts
      title: PactListResponse
    PaginationMeta:
      properties:
        total:
          title: Total
          type: integer
          nullable: true
        offset:
          title: Offset
          type: integer
          nullable: true
        limit:
          title: Limit
          type: integer
          nullable: true
        has_more:
          title: Has More
          type: boolean
          nullable: true
        after:
          title: After
          type: string
          nullable: true
        before:
          title: Before
          type: string
          nullable: true
      type: object
      title: PaginationMeta
      description: |-
        Pagination metadata for list responses.

        Supports both legacy offset-based and cursor-based pagination.
        Cursor fields (``has_more``, ``after``, ``before``) are populated for
        cursor-paginated endpoints.  Legacy fields (``offset``, ``limit``) are
        populated when the caller uses the deprecated ``offset`` parameter.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    PactSummary:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Pact ID.
        name:
          type: string
          title: Name
          description: Pact name.
        intent:
          type: string
          title: Intent
          description: Natural language intent.
        original_intent:
          title: Original Intent
          description: >-
            Raw user input that originated this pact request. For multi-turn
            conversations, messages are concatenated.
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/PactStatus'
          description: Current pact status.
        wallet_id:
          type: string
          format: uuid
          title: Wallet Id
          description: Target wallet ID.
        is_default:
          type: boolean
          title: Is Default
          description: Whether this is the default pact created during provisioning.
          default: false
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the pact was submitted.
        expires_at:
          title: Expires At
          description: When the pact expires.
          type: string
          format: date-time
          nullable: true
        recipe_slugs:
          title: Recipe Slugs
          description: Slugs of recipes associated with this pact.
          items:
            type: string
          type: array
          nullable: true
        operator:
          $ref: '#/components/schemas/PrincipalRead'
          description: >-
            Operator principal. Null if the principal row is missing (e.g.
            legacy data).
          nullable: true
        remaining:
          $ref: '#/components/schemas/PactRemaining'
          description: >-
            Remaining quota for this active pact. Null for non-active pacts or
            when no measurable completion conditions are set.
          nullable: true
      type: object
      required:
        - id
        - name
        - intent
        - status
        - wallet_id
        - created_at
        - expires_at
      title: PactSummary
      description: Lightweight pact item for list responses.
    PrincipalRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The principal ID.
        external_id:
          type: string
          title: External Id
          description: The external identifier for this principal.
        type:
          $ref: '#/components/schemas/PrincipalType'
          description: 'The principal type. Possible values: `human`, `agent`.'
        name:
          type: string
          title: Name
          description: The display name of this principal.
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Arbitrary key-value metadata associated with the principal.
        is_temporary:
          type: boolean
          title: Is Temporary
          description: >-
            Deprecated legacy field. Temporary-agent mode has been retired and
            this value is always `false` for newly provisioned agents.
          default: false
          deprecated: true
        owner_principal_id:
          title: Owner Principal Id
          description: >-
            The ID of the human principal that owns this agent. Only set for
            agent principals.
          type: string
          format: uuid
          nullable: true
        onboarding_session_id:
          title: Onboarding Session Id
          description: The onboarding session ID associated with this principal, if set.
          type: string
          format: uuid
          nullable: true
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The timestamp when the principal was created, in ISO 8601 format.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: >-
            The timestamp when the principal was last updated, in ISO 8601
            format.
      type: object
      required:
        - id
        - external_id
        - type
        - name
        - created_at
        - updated_at
      title: PrincipalRead
      description: Principal response payload.
    PactRemaining:
      properties:
        tx_count_remaining:
          title: Tx Count Remaining
          description: >-
            Transactions remaining before pact completes. Null if no TX_COUNT
            condition is set.
          type: integer
          nullable: true
        usd_remaining:
          title: Usd Remaining
          description: >-
            Remaining USD budget as a decimal string. Null if no
            AMOUNT_SPENT_USD condition is set.
          type: string
          nullable: true
        time_remaining_seconds:
          title: Time Remaining Seconds
          description: Seconds until pact expires. Null if pact has no expiry.
          type: integer
          nullable: true
      type: object
      title: PactRemaining
      description: >-
        Remaining quota for an active pact. Fields are null when the
        corresponding condition is not set.
    PrincipalType:
      type: string
      enum:
        - human
        - agent
      title: PrincipalType
      description: Principal types.

````