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

# Get Agent Policy

> A published version of the organization's policy as it applies to the agent: for each tool its latest declaration lists, the access the version gives it and the controls that guard it  
Without `version`, the version in force. An earlier version is applied to the tools and controls as they are today; what was decided then is on the chains



## OpenAPI

````yaml /versions/2026-11-02.yaml get /agents/policy/{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: Agents
  - name: Requests
  - name: Credentials
  - name: Approval
  - name: User
  - name: Actions
  - name: Audit trail
  - name: DID
  - name: Call proof
  - name: Webhooks
paths:
  /agents/policy/{did}:
    get:
      tags:
        - Agents
      summary: Get Agent Policy
      description: >-
        A published version of the organization's policy as it applies to the
        agent: for each tool its latest declaration lists, the access the
        version gives it and the controls that guard it  

        Without `version`, the version in force. An earlier version is applied
        to the tools and controls as they are today; what was decided then is on
        the chains
      operationId: agents_policy
      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
        - name: version
          required: false
          in: query
          description: >-
            A published version of the policy, by its number; the version in
            force when absent.
          schema:
            minimum: 0
            example: 2
            type: number
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Returns the policy version and each tool as it treats it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPolicyEntity'
        '404':
          description: >-
            The agent is unknown or another organization operates it, or the
            organization published no such version.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: policy version 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:
    AgentPolicyEntity:
      type: object
      properties:
        policy:
          description: The version read; null when the organization has none.
          anyOf:
            - $ref: '#/components/schemas/AgentPolicyVersionEntity'
            - type: 'null'
        everyCall:
          description: The control every call must also pass, when the version names one.
          allOf:
            - $ref: '#/components/schemas/AgentPolicyControlEntity'
        tools:
          description: Each tool its latest declaration lists, as the version treats it.
          type: array
          items:
            $ref: '#/components/schemas/AgentPolicyToolEntity'
      required:
        - policy
        - tools
    AgentPolicyVersionEntity:
      type: object
      properties:
        version:
          type: number
          description: 'The version number: 0 is the one every organization starts on.'
          example: 3
        default:
          type: string
          description: >-
            What a tool no entry names gets: allowed, refused, or a person's
            mandate needed.
          enum:
            - allow
            - deny
            - mandate
          example: deny
        publishedAt:
          format: date-time
          type:
            - string
            - 'null'
          description: When a member published it; null for version 0, which nobody chose.
          example: '2026-10-20T09:00:00.000Z'
      required:
        - version
        - default
        - publishedAt
    AgentPolicyControlEntity:
      type: object
      properties:
        id:
          type: string
          description: The pinned control version's URN.
          example: urn:via:action:0193a4b2-7c1d-7e4f-9a8b-2c3d4e5f6a7b
        name:
          type: string
          description: The control's name.
          example: Payment limits
        rules:
          description: Its rules that govern the tool, by their descriptions.
          example:
            - The amount is at most the organization limit
          type: array
          items:
            type: string
        limits:
          description: The organization limits its rules compare with, and their values.
          example:
            - name: maxAmount
              value: 500
              description: Most per payment
          type: array
          items:
            type: object
      required:
        - id
        - name
        - rules
        - limits
    AgentPolicyToolEntity:
      type: object
      properties:
        name:
          type: string
          description: The tool's name.
          example: send_payment
        service:
          type: string
          description: The service the tool is in, as the agent named it.
          example: Stripe
        access:
          type: string
          description: >-
            `allow`: any call; `rules`: a call that passes every control in
            `controls`; `mandate`: a call under a person's mandate, made on one
            of `mandateControls` when listed; `deny`: none; `not_set`: no entry
            names it, so the version's `default` decides.
          enum:
            - allow
            - rules
            - mandate
            - deny
            - not_set
          example: rules
        controls:
          description: '`rules`: the controls a call must pass.'
          type: array
          items:
            $ref: '#/components/schemas/AgentPolicyControlEntity'
        mandateControls:
          description: '`mandate`: the controls a person''s mandate is made on.'
          type: array
          items:
            $ref: '#/components/schemas/AgentPolicyMandateControlEntity'
      required:
        - name
        - access
    AgentPolicyMandateControlEntity:
      type: object
      properties:
        id:
          type: string
          description: The control version's URN.
          example: urn:via:action:0193a4b2-7c1d-7e4f-9a8b-2c3d4e5f6a7b
        name:
          type: string
          description: The control's name.
          example: Refunds
      required:
        - id
        - name

````

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