> ## 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.

# Report Fork

> Record cryptographic evidence that one key was used in two places, and route it through the kill channel  
The named key is revoked, because two holders means one of them is not the agent and there is no way to tell which. The agent is suspended unless you say otherwise  
The evidence is carried by reference: supply `evidenceRef` (and ideally `evidenceDigest`), so the chain commits to which evidence justified the kill without carrying a record whose shape it does not own  
Only the organization that operates the agent may report a fork: a false report destroys a key, so a detector that is not the organization routes its finding through it



## OpenAPI

````yaml /versions/2026-10-16.yaml post /agents/fork-evidence/{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:
  /agents/fork-evidence/{did}:
    post:
      tags:
        - Agents
      summary: Report Fork
      description: >-
        Record cryptographic evidence that one key was used in two places, and
        route it through the kill channel  

        The named key is revoked, because two holders means one of them is not
        the agent and there is no way to tell which. The agent is suspended
        unless you say otherwise  

        The evidence is carried by reference: supply `evidenceRef` (and ideally
        `evidenceDigest`), so the chain commits to which evidence justified the
        kill without carrying a record whose shape it does not own  

        Only the organization that operates the agent may report a fork: a false
        report destroys a key, so a detector that is not the organization routes
        its finding through it
      operationId: agents_reportFork
      parameters:
        - name: did
          required: true
          in: path
          description: The agent's DID, URL-encoded.
          schema:
            example: did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForkEvidenceBody'
      responses:
        '201':
          description: Returns the key revoked, and whether the agent was suspended.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentForkEntity'
        '400':
          description: >-
            The body is malformed, e.g. it names no key or no evidence
            reference.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 400
                  message:
                    type: string
                    example: evidenceRef must be a string
                  error:
                    type: string
                    example: Bad Request
        '404':
          description: >-
            The agent is unknown or another organization operates it, or the
            agent holds no such key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: >-
                      unknown key
                      did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35#key-9
                  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:
    ForkEvidenceBody:
      type: object
      properties:
        keyId:
          type: string
          description: The key seen in two places. It is revoked.
          example: >-
            did:web:humanos.tech:agent:3f2a9c1e-7b4d-4e8a-9f60-2d1c5b7a8e90#key-1
        evidenceRef:
          type: string
          description: >-
            Where the evidence record is kept; the chain carries this reference,
            not the record.
          example: https://detector.example.com/forks/8f14e45f
        evidenceDigest:
          type: string
          description: >-
            The digest of the evidence record, so the chain commits to what was
            seen.
          example: sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
        suspend:
          type: boolean
          description: >-
            Suspend the agent with the key. Defaults to true for an active
            agent.
        reason:
          type: string
          example: same key signed in two regions
      required:
        - keyId
        - evidenceRef
    AgentForkEntity:
      type: object
      properties:
        revokedKeyId:
          type: string
          description: The key seen in two places, now revoked.
          example: >-
            did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35#key-1
        suspended:
          type: boolean
          description: >-
            Whether the agent was suspended: true unless the report said
            `suspend: false` or the agent was not active.
          example: true
      required:
        - revokedKeyId
        - suspended

````

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