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

# Start Key Change

> No API key: the agent calls this itself  
Issue the single-use registration challenge under the agent's operator organization, and the `aud` its PoP must carry (the platform DID)  
One challenge authenticates one key change



## OpenAPI

````yaml /versions/2026-10-16.yaml post /agents/self/challenge/{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/self/challenge/{did}:
    post:
      tags:
        - Agents
      summary: Start Key Change
      description: >-
        No API key: the agent calls this itself  

        Issue the single-use registration challenge under the agent's operator
        organization, and the `aud` its PoP must carry (the platform DID)  

        One challenge authenticates one key change
      operationId: agents_selfChallenge
      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'
      responses:
        '201':
          description: >-
            Returns the single-use nonce, its expiry and the audience for the
            PoP.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentChallengeEntity'
        '403':
          description: The DID is not an agent, or the agent has no operator organization.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 403
                  message:
                    type: string
                    example: self-service is for agents
                  error:
                    type: string
                    example: Forbidden
        '404':
          description: No agent has this DID.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: agent 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:
    AgentChallengeEntity:
      type: object
      properties:
        regNonce:
          type: string
          description: Single-use nonce the registration evidence must embed.
          example: k3Jd0Q7bXm2sVQ8hZ1pYt4Rc
        exp:
          type: number
          description: Absolute expiry, epoch milliseconds.
          example: 1767225600000
        ttl:
          type: number
          description: Freshness window in seconds.
          example: 60
        aud:
          type: string
          description: >-
            The platform's DID: the `aud` a registration `proof` names. The key
            being registered signs a `via-reg+jwt` over this and the nonce (v0.3
            §16.5).
          example: did:web:humanos.tech
      required:
        - regNonce
        - exp
        - ttl
        - aud

````

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