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

# DID Document

> No API key: any verifier fetches it  
The W3C DID 1.1 document of `did:web:humanos.tech:<kind>:<id>`, at its `did:web` address  
It lists every registered key under `verificationMethod`, while `authentication` and `assertionMethod` reference only non-revoked keys  
A retired DID still resolves: its keys stay listed so what it signed stays checkable, and none is referenced by `authentication` or `assertionMethod`, so nothing can act for it



## OpenAPI

````yaml /versions/2026-11-02.yaml get /{kind}/{id}/did.json
openapi: 3.1.0
info:
  title: Humanos API
  description: Humanos API
  version: '1.0'
  contact: {}
servers:
  - url: https://api.humanos.tech
security: []
tags:
  - name: Agents
  - name: Requests
  - name: Credentials
  - name: Approval
  - name: User
  - name: Actions
  - name: Audit trail
  - name: DID
  - name: Call proof
  - name: Webhooks
paths:
  /{kind}/{id}/did.json:
    get:
      tags:
        - DID
      summary: DID Document
      description: >-
        No API key: any verifier fetches it  

        The W3C DID 1.1 document of `did:web:humanos.tech:<kind>:<id>`, at its
        `did:web` address  

        It lists every registered key under `verificationMethod`, while
        `authentication` and `assertionMethod` reference only non-revoked keys  

        A retired DID still resolves: its keys stay listed so what it signed
        stays checkable, and none is referenced by `authentication` or
        `assertionMethod`, so nothing can act for it
      operationId: did_didDocument
      parameters:
        - name: kind
          required: true
          in: path
          description: The kind of actor the DID names.
          schema:
            enum:
              - org
              - user
              - agent
            type: string
        - name: id
          required: true
          in: path
          description: The id that ends the DID.
          schema:
            example: 550e8400-e29b-41d4-a716-446655440000
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Returns the DID document.
          content:
            application/did+json:
              schema:
                $ref: '#/components/schemas/DidDocumentEntity'
        '404':
          description: No DID of the platform has this kind and id.
          content:
            application/did+json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: DID 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-11-02'
      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:
    DidDocumentEntity:
      type: object
      properties:
        '@context':
          description: >-
            JSON-LD contexts: the DID core v1 and Multikey contexts, plus
            `https://w3id.org/security/jwk/v1` when the document lists an agent
            key (`JsonWebKey` with `publicKeyJwk`), which the first two do not
            define.
          example:
            - https://www.w3.org/ns/did/v1
            - https://w3id.org/security/multikey/v1
          type: array
          items:
            type: string
        id:
          type: string
          description: The DID this document describes
          example: did:web:humanos.tech:org:550e8400-e29b-41d4-a716-446655440000
        verificationMethod:
          description: Verification methods declared for this DID
          type: array
          items:
            $ref: '#/components/schemas/VerificationMethodEntity'
        authentication:
          description: Verification method IDs authorized for authentication
          example:
            - >-
              did:web:humanos.tech:org:550e8400-e29b-41d4-a716-446655440000#key-1
          type: array
          items:
            type: string
        assertionMethod:
          description: Verification method IDs authorized for making assertions
          example:
            - >-
              did:web:humanos.tech:org:550e8400-e29b-41d4-a716-446655440000#key-1
          type: array
          items:
            type: string
      required:
        - '@context'
        - id
        - verificationMethod
    VerificationMethodEntity:
      type: object
      properties:
        id:
          type: string
          description: >-
            Verification method identifier (MUST be a URI, typically
            `<did>#<keyId>`)
          example: did:web:humanos.tech:org:550e8400-e29b-41d4-a716-446655440000#key-1
        type:
          type: string
          description: >-
            Verification method type: `Multikey` for Ed25519 organization and
            user keys, `JsonWebKey` for P-256 agent keys (W3C names).
          enum:
            - Multikey
            - JsonWebKey
          example: Multikey
        controller:
          type: string
          description: DID of the controller of this verification method
          example: did:web:humanos.tech:org:550e8400-e29b-41d4-a716-446655440000
        publicKeyMultibase:
          type: string
          description: >-
            Ed25519 public key as a multibase string. Present on organization
            and user keys; absent on agent keys, which are P-256 and carry
            `publicKeyJwk` instead.
          example: z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK
        publicKeyJwk:
          type: object
          description: >-
            P-256 public key as a JWK. Present on agent keys, whose v0.3 §16
            proof-of-possession is ES256; absent on organization and user keys,
            which are Ed25519 and carry `publicKeyMultibase`.
          example:
            kty: EC
            crv: P-256
            x: ...
            'y': ...
      required:
        - id
        - type
        - controller

````

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