> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anthid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get platform handoff latency

> Returns the distribution of platform handoff latency over the last hour: the time from the intents API receiving a request to the broker client being invoked for it. The figure describes the platform as a whole rather than any one organization, so every authenticated caller sees the same numbers and no organization scope is applied. Percentiles are `null` until the window holds at least 20 samples, because a percentile over fewer is the worst of a handful rather than a distribution; `sample_count` is reported either way. Spans that run backwards are discarded at ingestion as clock skew between the two services and are not counted. Responses are cached for a few seconds, so `measured_at` can trail the request.



## OpenAPI

````yaml /api-reference/ledger.openapi.json get /v1/platform/latency
openapi: 3.1.0
info:
  title: ledger
  description: ''
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://api.anthid.com
    description: Production
security: []
tags:
  - name: ledger
    description: Ledger API
paths:
  /v1/platform/latency:
    get:
      tags:
        - ledger
      summary: Get platform handoff latency
      description: >-
        Returns the distribution of platform handoff latency over the last hour:
        the time from the intents API receiving a request to the broker client
        being invoked for it. The figure describes the platform as a whole
        rather than any one organization, so every authenticated caller sees the
        same numbers and no organization scope is applied. Percentiles are
        `null` until the window holds at least 20 samples, because a percentile
        over fewer is the worst of a handful rather than a distribution;
        `sample_count` is reported either way. Spans that run backwards are
        discarded at ingestion as clock skew between the two services and are
        not counted. Responses are cached for a few seconds, so `measured_at`
        can trail the request.
      operationId: getPlatformLatency
      responses:
        '200':
          description: Platform latency retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformLatencyResponse'
        '401':
          description: Missing or invalid authentication credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Caller exceeded the request rate limit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error while reading platform latency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    PlatformLatencyResponse:
      type: object
      description: >-
        Platform handoff latency over a trailing window.


        Measured from the intents API receiving a request to the broker client
        being

        invoked for it, across every organization — this describes the platform,
        not

        a tenant, so every caller sees the same figure.


        Percentiles are `null` when the window holds too few samples to
        characterise

        a distribution; `sample_count` says how many there were either way.
      required:
        - sample_count
        - window_seconds
        - measured_at
      properties:
        max_ms:
          type:
            - integer
            - 'null'
          format: int64
        measured_at:
          type: string
          format: date-time
          description: >-
            When the window was computed. Responses are cached briefly, so this
            can

            trail the request by a few seconds.
        p50_ms:
          type:
            - number
            - 'null'
          format: double
        p95_ms:
          type:
            - number
            - 'null'
          format: double
        p99_ms:
          type:
            - number
            - 'null'
          format: double
        sample_count:
          type: integer
          format: int64
          minimum: 0
        window_seconds:
          type: integer
          format: int64
          description: Trailing window the figures cover.
    Error:
      oneOf:
        - type: object
          required:
            - EncryptionError
          properties:
            EncryptionError:
              type: string
        - type: object
          required:
            - WorkOsError
          properties:
            WorkOsError:
              type: string
        - type: object
          required:
            - KvError
          properties:
            KvError:
              type: string
        - type: object
          required:
            - StreamError
          properties:
            StreamError:
              type: string
        - type: object
          required:
            - InternalError
          properties:
            InternalError:
              type: string
        - type: object
          required:
            - ThirdPartyError
          properties:
            ThirdPartyError:
              type: string
        - type: object
          required:
            - ParseError
          properties:
            ParseError:
              type: string
        - type: object
          required:
            - NotFound
          properties:
            NotFound:
              type: string
        - type: object
          required:
            - AlreadyExists
          properties:
            AlreadyExists:
              type: string
        - type: object
          required:
            - BadRequest
          properties:
            BadRequest:
              type: string
        - type: object
          required:
            - Forbidden
          properties:
            Forbidden:
              type: string
        - type: object
          required:
            - Unauthorized
          properties:
            Unauthorized:
              type: string
        - type: object
          required:
            - Database
          properties:
            Database:
              type: string
        - type: object
          required:
            - TooManyRequests
          properties:
            TooManyRequests:
              type: string
        - type: object
          required:
            - BrokerError
          properties:
            BrokerError:
              type: string
        - type: object
          required:
            - AuthError
          properties:
            AuthError:
              type: string
        - type: object
          required:
            - InvalidInput
          properties:
            InvalidInput:
              type: string
        - type: object
          required:
            - ConnectionLimitExceeded
          properties:
            ConnectionLimitExceeded:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````