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

# Agent trust window

> Get what one agent did over a period of time.  
Answers questions like: how active was the agent, how often was it approved or denied and why, who did it transact with, and did it keep trying after its authority ended.  
Use your own organization DID in `orgDid` to check your agents. Use a partner organization's DID to check theirs; this requires an active sharing grant from that organization, otherwise the request returns 404.  
The window runs from `from` (included) to `to` (excluded), in UTC, and can cover at most 366 days.  
See [Risk metrics](/essentials/risk-metrics) for how sharing grants let you consult another organization's intelligence.



## OpenAPI

````yaml /versions/2026-09-01.yaml get /intelligence/window
openapi: 3.1.0
info:
  title: Humanos API
  description: Humanos API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: humanosApp
    description: ''
paths:
  /intelligence/window:
    get:
      tags:
        - Intelligence
      summary: Agent trust window
      description: >-
        Get what one agent did over a period of time.  

        Answers questions like: how active was the agent, how often was it
        approved or denied and why, who did it transact with, and did it keep
        trying after its authority ended.  

        Use your own organization DID in `orgDid` to check your agents. Use a
        partner organization's DID to check theirs; this requires an active
        sharing grant from that organization, otherwise the request returns
        404.  

        The window runs from `from` (included) to `to` (excluded), in UTC, and
        can cover at most 366 days.  

        See [Risk metrics](/essentials/risk-metrics) for how sharing grants let
        you consult another organization's intelligence.
      operationId: intelligence_window
      parameters:
        - name: orgDid
          required: true
          in: query
          description: >-
            DID of the organization whose data is consulted. Your own
            organization DID needs no grant; any other requires an active
            sharing grant from that organization to yours.
          schema:
            example: did:web:org-a.example
            type: string
        - name: did
          required: true
          in: query
          description: DID of the agent to measure.
          schema:
            example: did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK
            type: string
        - name: from
          required: true
          in: query
          description: Window start, inclusive (ISO 8601).
          schema:
            example: '2026-07-01T00:00:00Z'
            type: string
        - name: to
          required: true
          in: query
          description: >-
            Window end, exclusive (ISO 8601). Must be after `from`; at most 366
            days later.
          schema:
            example: '2026-08-01T00:00:00Z'
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: >-
            The full window body: the question echoed back, then usage and
            incidents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntelligenceWindowEntity'
        '404':
          description: >-
            sharing_not_enabled — the organization does not exist or does not
            share with you. The two cases are deliberately indistinguishable.
components:
  parameters:
    ApiVersion:
      name: API-Version
      in: header
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}$
        example: '2026-09-01'
      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:
    IntelligenceWindowEntity:
      type: object
      properties:
        orgDid:
          type: string
          description: Organization whose data was consulted.
          example: did:web:org-a.example
        did:
          type: string
          description: Agent that was measured.
        from:
          type: string
          description: Window start, inclusive.
          example: '2026-07-01T00:00:00.000Z'
        to:
          type: string
          description: Window end, exclusive.
          example: '2026-08-01T00:00:00.000Z'
        computedAt:
          type: string
          description: When this report was computed.
        usage:
          description: What the agent did.
          allOf:
            - $ref: '#/components/schemas/UsageBlock'
        incidents:
          description: What went wrong.
          allOf:
            - $ref: '#/components/schemas/IncidentsBlock'
      required:
        - orgDid
        - did
        - from
        - to
        - computedAt
        - usage
        - incidents
    UsageBlock:
      type: object
      properties:
        mandates:
          description: The mandate request funnel over the window cohort.
          allOf:
            - $ref: '#/components/schemas/MandateFunnelBlock'
        presentations:
          $ref: '#/components/schemas/PresentationsBlock'
        verifications:
          $ref: '#/components/schemas/VerificationsBlock'
        verifiers:
          $ref: '#/components/schemas/VerifiersBlock'
        burnRate:
          $ref: '#/components/schemas/BurnRateBlock'
      required:
        - mandates
        - presentations
        - verifications
        - verifiers
        - burnRate
    IncidentsBlock:
      type: object
      properties:
        denials:
          description: >-
            Why the agent was denied, split into policy failures and lifecycle
            denials.
          allOf:
            - $ref: '#/components/schemas/DenialsBlock'
        revocations:
          type: object
          description: Mandates revoked in the window, per reason.
          example:
            user_initiated: 1
            exhausted: 2
          additionalProperties:
            type: number
        postRevocationActivity:
          $ref: '#/components/schemas/PostRevocationBlock'
        brokenChains:
          type: number
          description: Mandate chains currently failing cryptographic verification.
      required:
        - denials
        - revocations
        - postRevocationActivity
        - brokenChains
    MandateFunnelBlock:
      type: object
      properties:
        requested:
          type: number
          description: >-
            Mandates requested (issued) inside the window — the cohort the next
            three numbers partition.
        approved:
          type: number
          description: Of the cohort, consented by the end of the window.
        rejected:
          type: number
          description: Of the cohort, rejected by the end of the window.
        pending:
          type: number
          description: Of the cohort, still undecided at `to`.
        approvalRate:
          type: number
          description: approved / requested. Null when nothing was requested.
          nullable: true
          example: 0.902
      required:
        - requested
        - approved
        - rejected
        - pending
        - approvalRate
    PresentationsBlock:
      type: object
      properties:
        total:
          type: number
          description: Presentations created in the window.
        verified:
          type: number
          description: Of them, how many went on to be verified inside the window.
        conversionRate:
          type: number
          description: verified / total. Null when there were no presentations.
          nullable: true
          example: 0.944
      required:
        - total
        - verified
        - conversionRate
    VerificationsBlock:
      type: object
      properties:
        total:
          type: number
          description: Verifications in the window (approved + denied).
        approved:
          type: number
          description: Verifications that passed policy.
        denied:
          type: number
          description: Verifications denied.
        approvalRate:
          type: number
          description: approved / total. Null when the window has no verifications.
          nullable: true
          example: 0.944
      required:
        - total
        - approved
        - denied
        - approvalRate
    VerifiersBlock:
      type: object
      properties:
        distinct:
          type: number
          description: Distinct counterparties that verified the agent in the window.
        firstSeen:
          type: number
          description: >-
            Of them, how many the agent had never transacted with before the
            window.
        firstSeenShare:
          type: number
          description: firstSeen / distinct. Null when the window has no verifiers.
          nullable: true
          example: 0.25
      required:
        - distinct
        - firstSeen
        - firstSeenShare
    BurnRateBlock:
      type: object
      properties:
        approvals:
          type: number
          description: Approved verifications in the window.
        approvalsPerDay:
          type: number
          description: Approvals per day over the window.
          nullable: true
          example: 4.03
        executionsRemaining:
          type: number
          description: >-
            Uses left across execution-bounded mandates live at `to`. Null when
            none are bounded.
          nullable: true
        projectedExhaustion:
          type: string
          description: >-
            Projected instant the allowance runs out at the observed rate. Null
            when unbounded or idle.
          nullable: true
          example: '2026-09-14T10:00:00.000Z'
        byAction:
          type: object
          description: >-
            The same figures re-cut per action, keyed by action URN — a blended
            projection can be wrong for every individual action. An action
            appears when it was used in the window or still has live mandates at
            `to`. Resolve a URN with GET /intelligence/action.
          additionalProperties:
            $ref: '#/components/schemas/ActionBurnBlock'
          example:
            urn:via:action:8dac0698-b005-4572-9801-7be144c545a5:
              approvals: 36
              approvalsPerDay: 1.2
              executionsRemaining: 36
              projectedExhaustion: '2026-09-14T10:00:00.000Z'
      required:
        - approvals
        - approvalsPerDay
        - executionsRemaining
        - projectedExhaustion
        - byAction
    DenialsBlock:
      type: object
      properties:
        byRule:
          type: object
          description: Denials where a policy rule evaluated and failed, per rule.
          example:
            amount <= mandate.maxAmount: 5
          additionalProperties:
            type: number
        byLifecycle:
          type: object
          description: >-
            Denials where policy never ran — the mandate was already inactive,
            exhausted or otherwise unusable — per reason.
          example:
            credential_inactive: 3
          additionalProperties:
            type: number
      required:
        - byRule
        - byLifecycle
    PostRevocationBlock:
      type: object
      properties:
        attempts:
          type: number
          description: >-
            Presentation/verification events recorded AFTER a mandate's
            authority ended — the strongest misuse signal.
        mandatesInvolved:
          type: number
          description: How many mandates saw such attempts.
      required:
        - attempts
        - mandatesInvolved
    ActionBurnBlock:
      type: object
      properties:
        approvals:
          type: number
          description: Approved verifications on this action's mandates in the window.
        approvalsPerDay:
          type: number
          description: Approvals per day over the window, for this action.
          nullable: true
          example: 1.2
        executionsRemaining:
          type: number
          description: >-
            Uses left across this action's execution-bounded mandates live at
            `to`. Null when none are bounded.
          nullable: true
          example: 36
        projectedExhaustion:
          type: string
          description: >-
            Projected instant this action's allowance runs out at its observed
            rate. Null when unbounded or idle.
          nullable: true
          example: '2026-09-14T10:00:00.000Z'
      required:
        - approvals
        - approvalsPerDay
        - executionsRemaining
        - projectedExhaustion

````