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

# Audit Actor Chain

> Check the actor's record against its signed chain: every signature and link from genesis, the chain's fold, and the record's fields and keys against that fold  
It only reports: nothing is written back  
While an event is still queued the record is not compared (`settled: false`); events the chain refused are listed



## OpenAPI

````yaml /versions/2026-10-16.yaml get /actors/events/audit/{did}
openapi: 3.1.0
info:
  title: Humanos API
  description: Humanos API
  version: '1.0'
  contact: {}
servers:
  - url: https://api.humanos.tech
security: []
tags:
  - name: humanosApp
    description: ''
paths:
  /actors/events/audit/{did}:
    get:
      tags:
        - Actors
      summary: Audit Actor Chain
      description: >-
        Check the actor's record against its signed chain: every signature and
        link from genesis, the chain's fold, and the record's fields and keys
        against that fold  

        It only reports: nothing is written back  

        While an event is still queued the record is not compared (`settled:
        false`); events the chain refused are listed
      operationId: actors_actorAudit
      parameters:
        - name: did
          required: true
          in: path
          description: >-
            Any of the actor's DIDs, URL-encoded: an organization's, a person's
            or an agent's, or one it absorbed by a merge.
          schema:
            example: did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35
            type: string
        - name: pageIndex
          required: false
          in: query
          description: Zero-based page index. `0` returns the first page.
          schema:
            minimum: 0
            default: 0
            example: 0
            type: number
        - name: pageSize
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 5
            maximum: 100
            default: 10
            example: 10
            type: number
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Returns the audit; `events` is one page of the chain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorAuditEntity'
        '400':
          description: >-
            Invalid query parameters, e.g. a negative pageIndex or a pageSize
            outside 5-100.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 400
                  message:
                    type: string
                    example: pageIndex must not be less than 0
                  error:
                    type: string
                    example: Bad Request
        '404':
          description: >-
            No actor has this DID, or your organization may not read it: an
            organization reads itself, its agents, and the people it knows.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: actor not found
                  error:
                    type: string
                    example: Not Found
components:
  parameters:
    ApiVersion:
      name: API-Version
      in: header
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}$
        example: '2026-10-16'
      description: >-
        Pin request, response, and webhook shapes to a specific dated API
        version (YYYY-MM-DD). Omit to use the version pinned to your API key
        (set when the key is created; new keys default to the latest version).
        New integrations should target the latest version.
  schemas:
    ActorAuditEntity:
      type: object
      properties:
        did:
          type: string
          description: The actor's main DID.
          example: did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35
        ok:
          type: boolean
          description: >-
            The chain verifies and folds, and once settled the record agrees
            with it.
          example: true
        reason:
          type: string
          enum:
            - chain_invalid
            - signature_or_link_invalid
            - fold_failed
            - record_mismatch
            - chain_binding_mismatch
            - record_outdated
            - merged_key_unresolved
            - merge_claim_invalid
            - lane_blocked
            - event_refused
            - signer_key_unknown
          description: The first problem, when not ok.
        settled:
          type: boolean
          description: No event of the actor is queued. The record is compared only then.
          example: true
        eventCount:
          type: number
          description: How many events the whole chain holds, across every page.
          example: 4
        events:
          description: One page of the chain, oldest first.
          type: array
          items:
            $ref: '#/components/schemas/AuditedActorEventEntity'
        fold:
          description: The chain's fold (v0.3 §5).
          allOf:
            - $ref: '#/components/schemas/ActorFoldAuditEntity'
        record:
          description: >-
            The record against the chain it names, re-folded and compared. Null
            while an event is queued, with no event written, or when the chain
            does not fold.
          anyOf:
            - $ref: '#/components/schemas/ActorRecordAuditEntity'
            - type: 'null'
        refused:
          description: >-
            Events of the actor the chain never took, newest first (at most
            100); for a person, only those your flows recorded.
          type: array
          items:
            $ref: '#/components/schemas/RefusedActorEventEntity'
        unresolvedMergedKeys:
          description: Keys a merge says survived that resolve to nothing on the successor.
          example: []
          type: array
          items:
            type: string
        mergeClaim:
          type:
            - string
            - 'null'
          example: merge_target_invalid
          description: >-
            Why the survivor's MERGED does not restate this actor's chain; null
            when it does, or when there is none.
        unknownSigners:
          description: Verification methods with no kept key.
          example: []
          type: array
          items:
            type: string
        totalPages:
          type: number
          description: >-
            Total number of pages of `events` available based on the page size
            and total count
          example: 1
      required:
        - did
        - ok
        - settled
        - eventCount
        - events
        - fold
        - record
        - refused
        - unresolvedMergedKeys
        - mergeClaim
        - unknownSigners
        - totalPages
    AuditedActorEventEntity:
      type: object
      properties:
        urn:
          type: string
          example: urn:via:event:550e8400-e29b-41d4-a716-446655440000
          description: The event's own URN.
        event:
          type: string
          description: The signed event kind.
          example: ACTOR_REGISTERED
        actor:
          type: string
          description: DID of the actor who asserted the event.
          example: did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35
        issuer:
          type: string
          description: DID of the signer.
          example: did:web:humanos.tech
        validFrom:
          type: string
          example: '2026-05-02T10:15:30.000Z'
          description: Event instant (ISO 8601).
        contentBound:
          type: boolean
          description: >-
            True for an event that commits to a credential's bytes; false for
            the reference-bound events an actor chain holds.
          example: false
        signatureValid:
          type: boolean
          description: The event's signature verifies against its signer's key.
          example: true
        chainLinkValid:
          type: boolean
          description: previousEvent == SRI(JCS(prior event)); null at genesis.
          example: true
        signerKnown:
          type: boolean
          description: >-
            False when no key is kept for the signer: the signature could not be
            checked.
          example: true
      required:
        - urn
        - event
        - actor
        - issuer
        - validFrom
        - contentBound
        - signatureValid
        - chainLinkValid
        - signerKnown
    ActorFoldAuditEntity:
      type: object
      properties:
        ok:
          type: boolean
          description: The chain folds.
          example: true
        reason:
          type: string
          description: Why the fold fails, when it does.
          example: illegal_transition
        at:
          type: number
          description: The failing event's position on the chain, from 0.
          example: 3
      required:
        - ok
    ActorRecordAuditEntity:
      type: object
      properties:
        ok:
          type: boolean
          description: The record agrees with the chain.
          example: true
        reason:
          type: string
          description: >-
            `record_mismatch`: a stored value the chain does not give.
            `chain_binding_mismatch`: its `chain` is not a position on this
            chain. `record_outdated`: written by an older fold.
            `fold_failed:<reason>` when the chain does not fold.
          example: record_mismatch
      required:
        - ok
    RefusedActorEventEntity:
      type: object
      properties:
        urn:
          type:
            - string
            - 'null'
          description: The URN the event would have had; null when it never got one.
          example: urn:via:event:550e8400-e29b-41d4-a716-446655440000
        event:
          type: string
          description: The event kind the chain did not take.
          example: ACTOR_ACCREDITED
        status:
          type: string
          description: >-
            `discarded`: refused by the chain. `failed`: given up on after
            retries, which blocks the lane. `skipped`: not recorded on purpose.
          enum:
            - discarded
            - failed
            - skipped
          example: discarded
        reason:
          type:
            - string
            - 'null'
          example: fold_failed:illegal_transition
          description: The refusal's code; null for any other failure.
        createdAt:
          format: date-time
          type: string
          description: When the event was queued.
          example: '2026-10-01T09:12:00.000Z'
      required:
        - urn
        - event
        - status
        - reason
        - createdAt

````

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