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

# List Credentials

> List credentials in the calling org, with cursor-based pagination.
Optionally filter by `subject_id`, `developer_id`, `credential_type`,
`attestation_type` (for OutcomeAttestation), or `status`.



## OpenAPI

````yaml GET /v1/credentials
openapi: 3.1.0
info:
  title: Beltic Credentials API
  version: 1.0.0
servers: []
security: []
paths:
  /v1/credentials:
    get:
      tags:
        - Credentials
      summary: List credentials
      description: |-
        List credentials in the calling org, with cursor-based pagination.
        Optionally filter by `subject_id`, `developer_id`, `credential_type`,
        `attestation_type` (for OutcomeAttestation), or `status`.
      parameters:
        - schema:
            type: string
          required: false
          name: subject_id
          in: query
        - schema:
            type: string
          required: false
          name: developer_id
          in: query
        - schema:
            type: string
            enum:
              - business
              - user
              - agent_authorization
              - outcome_attestation
          required: false
          name: credential_type
          in: query
        - schema:
            type: string
          required: false
          name: attestation_type
          in: query
        - schema:
            type: string
            enum:
              - active
              - revoked
              - expired
              - suspended
          required: false
          name: status
          in: query
        - schema:
            type: string
          required: false
          name: cursor
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: Credential list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialsResponse'
        '400':
          description: Validation error or malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden — caller lacks required permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: Conflict (e.g., credential already revoked, idempotency clash)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ListCredentialsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  credential_type:
                    type: string
                    enum:
                      - business
                  subject:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - organisation
                          id:
                            type: string
                            minLength: 1
                          registration_number:
                            type: string
                          jurisdiction:
                            type: string
                          legal_form:
                            type: string
                          registered_name:
                            type: string
                          trading_name:
                            type: string
                          founded_year:
                            type: integer
                          website:
                            type: string
                          sector:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - person
                          id:
                            type: string
                            minLength: 1
                          email:
                            type: string
                            format: email
                          nationality:
                            type: string
                            minLength: 2
                            maxLength: 2
                          first_name:
                            type: string
                          last_name:
                            type: string
                          preferred_name:
                            type: string
                          title:
                            type: string
                          phone:
                            type: string
                          date_of_birth:
                            type: string
                          city:
                            type: string
                          role_at_org:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - agent
                          id:
                            type: string
                            pattern: ^did:jwk:[A-Za-z0-9_-]+$
                          agent_external_id:
                            type: string
                          agent_display_name:
                            type: string
                          agent_framework:
                            type: string
                          parent_user_id:
                            type: string
                          parent_business_id:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - email
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - transaction
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - document
                          id:
                            type: string
                            minLength: 1
                          mime_type:
                            type: string
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            anyOf:
                              - type: string
                                enum:
                                  - organisation
                                  - person
                                  - agent
                                  - email
                                  - transaction
                                  - document
                              - type: string
                                minLength: 1
                                maxLength: 64
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                        additionalProperties: {}
                  claims:
                    type: object
                    properties:
                      kyb_tier:
                        type: string
                        enum:
                          - tier_0
                          - tier_1
                          - tier_2_basic
                          - tier_2_standard
                          - tier_3
                          - tier_4
                      kyb_status:
                        type: string
                        enum:
                          - pending
                          - approved
                          - declined
                          - manual_review
                      registered_address:
                        type: object
                        properties:
                          line1:
                            type: string
                          line2:
                            type: string
                          city:
                            type: string
                          state_or_region:
                            type: string
                          postal_code:
                            type: string
                          country:
                            type: string
                            minLength: 2
                            maxLength: 2
                        required:
                          - line1
                          - city
                          - country
                      beneficial_owners:
                        type: array
                        items:
                          type: object
                          properties:
                            person_id:
                              type: string
                            full_name:
                              type: string
                            ownership_percent:
                              type: number
                              minimum: 0
                              maximum: 100
                            role:
                              type: string
                            pep_status:
                              type: string
                              enum:
                                - clear
                                - flagged
                                - match
                                - pending
                                - not_checked
                            sanctions_status:
                              type: string
                              enum:
                                - clear
                                - flagged
                                - match
                                - pending
                                - not_checked
                          required:
                            - full_name
                            - ownership_percent
                        maxItems: 50
                      tax_id_verified:
                        type: boolean
                      jurisdiction:
                        type: string
                      business_type:
                        type: string
                        enum:
                          - company
                          - individual
                          - non_profit
                          - government_entity
                      vat_number:
                        type: string
                      incorporation_date:
                        type: string
                      lei_code:
                        type: string
                      regulatory_licenses:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            license_number:
                              type: string
                            status:
                              type: string
                            jurisdiction:
                              type: string
                            issued_at:
                              type: string
                            lapsed_at:
                              type: string
                            regulator_url:
                              type: string
                          required:
                            - type
                        maxItems: 50
                      bank_account_verified:
                        type: boolean
                      bank_account_country:
                        type: string
                        minLength: 2
                        maxLength: 2
                      bank_sort_code_hash:
                        type: string
                      aml_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      sanctions_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      pep_director_check:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      adverse_media_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      aml_risk_rating:
                        type: string
                        enum:
                          - low
                          - medium
                          - high
                          - critical
                      screening_provider:
                        type: string
                      last_reviewed_at:
                        type: string
                        format: date-time
                      next_review_due:
                        type: string
                        format: date-time
                    required:
                      - kyb_status
                    additionalProperties: {}
                  id:
                    type: string
                  credential_id:
                    type: string
                  issuer_did:
                    type: string
                  status:
                    type: string
                    enum:
                      - active
                      - revoked
                      - expired
                      - suspended
                  status_list_index:
                    type: integer
                    minimum: 0
                  proof_format:
                    type: string
                    enum:
                      - jwt_vc
                      - sd_jwt_vc
                  vct:
                    type: string
                  alg:
                    type: string
                    enum:
                      - ES256
                  kid:
                    type: string
                  signed_payload:
                    type: string
                  evidence_refs:
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 512
                    maxItems: 50
                  issued_at:
                    type: string
                    format: date-time
                  expires_at:
                    type: string
                    format: date-time
                  revoked_at:
                    type:
                      - string
                      - 'null'
                    format: date-time
                  revocation_reason:
                    type:
                      - string
                      - 'null'
                  created_via:
                    type: string
                    enum:
                      - batch_mint
                      - workflow_block
                      - api
                      - cli
                      - mcp
                    default: api
                  developer_id:
                    type: string
                required:
                  - credential_type
                  - subject
                  - claims
                  - id
                  - credential_id
                  - issuer_did
                  - status
                  - status_list_index
                  - proof_format
                  - alg
                  - kid
                  - signed_payload
                  - evidence_refs
                  - issued_at
                  - expires_at
              - type: object
                properties:
                  credential_type:
                    type: string
                    enum:
                      - user
                  subject:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - organisation
                          id:
                            type: string
                            minLength: 1
                          registration_number:
                            type: string
                          jurisdiction:
                            type: string
                          legal_form:
                            type: string
                          registered_name:
                            type: string
                          trading_name:
                            type: string
                          founded_year:
                            type: integer
                          website:
                            type: string
                          sector:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - person
                          id:
                            type: string
                            minLength: 1
                          email:
                            type: string
                            format: email
                          nationality:
                            type: string
                            minLength: 2
                            maxLength: 2
                          first_name:
                            type: string
                          last_name:
                            type: string
                          preferred_name:
                            type: string
                          title:
                            type: string
                          phone:
                            type: string
                          date_of_birth:
                            type: string
                          city:
                            type: string
                          role_at_org:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - agent
                          id:
                            type: string
                            pattern: ^did:jwk:[A-Za-z0-9_-]+$
                          agent_external_id:
                            type: string
                          agent_display_name:
                            type: string
                          agent_framework:
                            type: string
                          parent_user_id:
                            type: string
                          parent_business_id:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - email
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - transaction
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - document
                          id:
                            type: string
                            minLength: 1
                          mime_type:
                            type: string
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            anyOf:
                              - type: string
                                enum:
                                  - organisation
                                  - person
                                  - agent
                                  - email
                                  - transaction
                                  - document
                              - type: string
                                minLength: 1
                                maxLength: 64
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                        additionalProperties: {}
                  claims:
                    type: object
                    properties:
                      trust_level:
                        type: string
                        enum:
                          - self_attested
                          - liveness_verified
                          - idv_verified
                          - enterprise_verified
                        default: self_attested
                      kyc_status:
                        type: string
                        enum:
                          - pending
                          - approved
                          - declined
                          - manual_review
                      parent_business_id:
                        type: string
                      id_document_type:
                        type: string
                        enum:
                          - passport
                          - drivers_license
                          - national_id
                          - residence_permit
                      id_document_country:
                        type: string
                        minLength: 2
                        maxLength: 2
                      kyc_provider:
                        type: string
                        maxLength: 64
                      kyc_session_id:
                        type: string
                      kyc_completed_at:
                        type: string
                        format: date-time
                      kyc_started_at:
                        type: string
                        format: date-time
                      id_document_expiry:
                        type: string
                      id_document_number_hash:
                        type: string
                      liveness_check:
                        type: string
                        enum:
                          - passed
                          - failed
                          - not_performed
                      liveness_score:
                        type: number
                        minimum: 0
                        maximum: 1
                      face_match_score:
                        type:
                          - number
                          - 'null'
                        minimum: 0
                        maximum: 1
                      phone_verified:
                        type: string
                      phone_verified_at:
                        type: string
                        format: date-time
                      phone_carrier:
                        type: string
                      address_verified:
                        type: boolean
                      address:
                        type: object
                        properties:
                          line1:
                            type: string
                          line2:
                            type: string
                          city:
                            type: string
                          state_or_region:
                            type: string
                          postal_code:
                            type: string
                          country:
                            type: string
                            minLength: 2
                            maxLength: 2
                        required:
                          - line1
                          - city
                          - country
                      pep_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      sanctions_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      adverse_media_status:
                        type: string
                        enum:
                          - clear
                          - flagged
                          - match
                          - pending
                          - not_checked
                      aml_risk_rating:
                        type: string
                        enum:
                          - low
                          - medium
                          - high
                          - critical
                      screening_provider:
                        type: string
                      screening_completed_at:
                        type: string
                        format: date-time
                      age_over_18:
                        type: boolean
                      age_over_21:
                        type: boolean
                    required:
                      - kyc_status
                    additionalProperties: {}
                  id:
                    type: string
                  credential_id:
                    type: string
                  issuer_did:
                    type: string
                  status:
                    type: string
                    enum:
                      - active
                      - revoked
                      - expired
                      - suspended
                  status_list_index:
                    type: integer
                    minimum: 0
                  proof_format:
                    type: string
                    enum:
                      - jwt_vc
                      - sd_jwt_vc
                  vct:
                    type: string
                  alg:
                    type: string
                    enum:
                      - ES256
                  kid:
                    type: string
                  signed_payload:
                    type: string
                  evidence_refs:
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 512
                    maxItems: 50
                  issued_at:
                    type: string
                    format: date-time
                  expires_at:
                    type: string
                    format: date-time
                  revoked_at:
                    type:
                      - string
                      - 'null'
                    format: date-time
                  revocation_reason:
                    type:
                      - string
                      - 'null'
                  created_via:
                    type: string
                    enum:
                      - batch_mint
                      - workflow_block
                      - api
                      - cli
                      - mcp
                    default: api
                  developer_id:
                    type: string
                required:
                  - credential_type
                  - subject
                  - claims
                  - id
                  - credential_id
                  - issuer_did
                  - status
                  - status_list_index
                  - proof_format
                  - alg
                  - kid
                  - signed_payload
                  - evidence_refs
                  - issued_at
                  - expires_at
              - type: object
                properties:
                  credential_type:
                    type: string
                    enum:
                      - agent_authorization
                  subject:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - organisation
                          id:
                            type: string
                            minLength: 1
                          registration_number:
                            type: string
                          jurisdiction:
                            type: string
                          legal_form:
                            type: string
                          registered_name:
                            type: string
                          trading_name:
                            type: string
                          founded_year:
                            type: integer
                          website:
                            type: string
                          sector:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - person
                          id:
                            type: string
                            minLength: 1
                          email:
                            type: string
                            format: email
                          nationality:
                            type: string
                            minLength: 2
                            maxLength: 2
                          first_name:
                            type: string
                          last_name:
                            type: string
                          preferred_name:
                            type: string
                          title:
                            type: string
                          phone:
                            type: string
                          date_of_birth:
                            type: string
                          city:
                            type: string
                          role_at_org:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - agent
                          id:
                            type: string
                            pattern: ^did:jwk:[A-Za-z0-9_-]+$
                          agent_external_id:
                            type: string
                          agent_display_name:
                            type: string
                          agent_framework:
                            type: string
                          parent_user_id:
                            type: string
                          parent_business_id:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - email
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - transaction
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - document
                          id:
                            type: string
                            minLength: 1
                          mime_type:
                            type: string
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            anyOf:
                              - type: string
                                enum:
                                  - organisation
                                  - person
                                  - agent
                                  - email
                                  - transaction
                                  - document
                              - type: string
                                minLength: 1
                                maxLength: 64
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                        additionalProperties: {}
                  claims:
                    type: object
                    properties:
                      role:
                        type: array
                        items:
                          type: string
                        maxItems: 16
                        default: []
                      intent:
                        type: string
                        maxLength: 512
                      permissions:
                        type: array
                        items:
                          type: object
                          properties:
                            resource_type:
                              anyOf:
                                - type: string
                                  enum:
                                    - merchant
                                    - website
                                    - api
                                    - wallet
                                    - service
                                - type: string
                                  minLength: 1
                                  maxLength: 64
                            resource_id:
                              type: string
                              minLength: 1
                              maxLength: 256
                            actions:
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 64
                              minItems: 1
                              maxItems: 32
                            conditions:
                              type: array
                              items:
                                type: object
                                properties:
                                  field:
                                    type: string
                                    minLength: 1
                                    maxLength: 64
                                  op:
                                    type: string
                                    enum:
                                      - eq
                                      - neq
                                      - in
                                      - not_in
                                      - lt
                                      - lte
                                      - gt
                                      - gte
                                      - between
                                      - contains
                                      - starts_with
                                      - ends_with
                                      - matches
                                  value: {}
                                required:
                                  - field
                                  - op
                              maxItems: 16
                          required:
                            - resource_type
                            - resource_id
                            - actions
                        maxItems: 64
                        default: []
                      spend_limit:
                        type: object
                        properties:
                          amount:
                            type: integer
                            minimum: 0
                          currency:
                            type: string
                            minLength: 3
                            maxLength: 3
                          period:
                            type: string
                            enum:
                              - per_transaction
                              - daily
                              - weekly
                              - monthly
                              - lifetime
                        required:
                          - amount
                          - currency
                          - period
                      trust_level:
                        type: string
                        enum:
                          - self_attested
                          - liveness_verified
                          - idv_verified
                          - enterprise_verified
                        default: self_attested
                      max_idle_duration:
                        type: string
                        pattern: ^P[\dYMWDTHMS]+$/i
                      delegated_by_subject_id:
                        type: string
                      authorized_currencies:
                        type: array
                        items:
                          type: string
                          minLength: 3
                          maxLength: 3
                        maxItems: 20
                      human_present:
                        type: boolean
                    additionalProperties: {}
                  id:
                    type: string
                  credential_id:
                    type: string
                  issuer_did:
                    type: string
                  status:
                    type: string
                    enum:
                      - active
                      - revoked
                      - expired
                      - suspended
                  status_list_index:
                    type: integer
                    minimum: 0
                  proof_format:
                    type: string
                    enum:
                      - jwt_vc
                      - sd_jwt_vc
                  vct:
                    type: string
                  alg:
                    type: string
                    enum:
                      - ES256
                  kid:
                    type: string
                  signed_payload:
                    type: string
                  evidence_refs:
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 512
                    maxItems: 50
                  issued_at:
                    type: string
                    format: date-time
                  expires_at:
                    type: string
                    format: date-time
                  revoked_at:
                    type:
                      - string
                      - 'null'
                    format: date-time
                  revocation_reason:
                    type:
                      - string
                      - 'null'
                  created_via:
                    type: string
                    enum:
                      - batch_mint
                      - workflow_block
                      - api
                      - cli
                      - mcp
                    default: api
                  developer_id:
                    type: string
                required:
                  - credential_type
                  - subject
                  - claims
                  - id
                  - credential_id
                  - issuer_did
                  - status
                  - status_list_index
                  - proof_format
                  - alg
                  - kid
                  - signed_payload
                  - evidence_refs
                  - issued_at
                  - expires_at
              - type: object
                properties:
                  credential_type:
                    type: string
                    enum:
                      - outcome_attestation
                  attestation_type:
                    type: string
                  subject:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - organisation
                          id:
                            type: string
                            minLength: 1
                          registration_number:
                            type: string
                          jurisdiction:
                            type: string
                          legal_form:
                            type: string
                          registered_name:
                            type: string
                          trading_name:
                            type: string
                          founded_year:
                            type: integer
                          website:
                            type: string
                          sector:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - person
                          id:
                            type: string
                            minLength: 1
                          email:
                            type: string
                            format: email
                          nationality:
                            type: string
                            minLength: 2
                            maxLength: 2
                          first_name:
                            type: string
                          last_name:
                            type: string
                          preferred_name:
                            type: string
                          title:
                            type: string
                          phone:
                            type: string
                          date_of_birth:
                            type: string
                          city:
                            type: string
                          role_at_org:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - agent
                          id:
                            type: string
                            pattern: ^did:jwk:[A-Za-z0-9_-]+$
                          agent_external_id:
                            type: string
                          agent_display_name:
                            type: string
                          agent_framework:
                            type: string
                          parent_user_id:
                            type: string
                          parent_business_id:
                            type: string
                        required:
                          - type
                          - id
                        additionalProperties: {}
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - email
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - transaction
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - document
                          id:
                            type: string
                            minLength: 1
                          mime_type:
                            type: string
                        required:
                          - type
                          - id
                      - type: object
                        properties:
                          type:
                            anyOf:
                              - type: string
                                enum:
                                  - organisation
                                  - person
                                  - agent
                                  - email
                                  - transaction
                                  - document
                              - type: string
                                minLength: 1
                                maxLength: 64
                          id:
                            type: string
                            minLength: 1
                        required:
                          - type
                          - id
                        additionalProperties: {}
                  claims:
                    type: object
                    additionalProperties: {}
                  id:
                    type: string
                  credential_id:
                    type: string
                  issuer_did:
                    type: string
                  status:
                    type: string
                    enum:
                      - active
                      - revoked
                      - expired
                      - suspended
                  status_list_index:
                    type: integer
                    minimum: 0
                  proof_format:
                    type: string
                    enum:
                      - jwt_vc
                      - sd_jwt_vc
                  vct:
                    type: string
                  alg:
                    type: string
                    enum:
                      - ES256
                  kid:
                    type: string
                  signed_payload:
                    type: string
                  evidence_refs:
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 512
                    maxItems: 50
                  issued_at:
                    type: string
                    format: date-time
                  expires_at:
                    type: string
                    format: date-time
                  revoked_at:
                    type:
                      - string
                      - 'null'
                    format: date-time
                  revocation_reason:
                    type:
                      - string
                      - 'null'
                  created_via:
                    type: string
                    enum:
                      - batch_mint
                      - workflow_block
                      - api
                      - cli
                      - mcp
                    default: api
                  developer_id:
                    type: string
                required:
                  - credential_type
                  - attestation_type
                  - subject
                  - claims
                  - id
                  - credential_id
                  - issuer_did
                  - status
                  - status_list_index
                  - proof_format
                  - alg
                  - kid
                  - signed_payload
                  - evidence_refs
                  - issued_at
                  - expires_at
        pagination:
          type: object
          properties:
            next_cursor:
              type:
                - string
                - 'null'
            prev_cursor:
              type:
                - string
                - 'null'
            has_more:
              type: boolean
            total:
              type: integer
              minimum: 0
          required:
            - next_cursor
            - has_more
      required:
        - items
        - pagination
    ApiErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    ApiError:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/ApiErrorDetail'
        request_id:
          type: string
      required:
        - code
        - message
    ApiErrorDetail:
      type: object
      properties:
        field:
          type: string
        issue:
          type: string
        hint:
          type: string
      required:
        - issue

````