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

# Get the OpenAPI document

> Returns the generated OpenAPI document used by the public API reference and client tooling.



## OpenAPI

````yaml /openapi.json get /openapi.json
openapi: 3.1.0
info:
  description: The public API for Perflo financial agents.
  license:
    identifier: LicenseRef-Perflo-Proprietary
    name: Proprietary
  title: Perflo Financial Agents API
  version: 1.0.0
servers:
  - url: https://api.perflo.ai
security: []
tags:
  - description: Gateway health and public API metadata endpoints.
    name: system
paths:
  /openapi.json:
    get:
      tags:
        - system
      summary: Get the OpenAPI document
      description: >-
        Returns the generated OpenAPI document used by the public API reference
        and client tooling.
      operationId: getOpenApiDocument
      parameters:
        - $ref: '#/components/parameters/PerfloRequestId'
      responses:
        '200':
          description: The current public OpenAPI document.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApiDocument'
        '422':
          description: The request shape is invalid.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: The response contract failed.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security: []
components:
  parameters:
    PerfloRequestId:
      description: >-
        Optional caller request identifier. Unsafe values are replaced with a
        generated UUID.
      in: header
      name: X-Request-Id
      required: false
      schema:
        pattern: ^[A-Za-z0-9._~-]{8,128}$
        type: string
  headers:
    PerfloRequestId:
      description: Request identifier echoed on every API response.
      schema:
        pattern: ^[A-Za-z0-9._~-]{8,128}$
        type: string
  schemas:
    OpenApiDocument:
      type: object
      properties:
        components:
          type: object
          propertyNames:
            type: string
            minLength: 1
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          description: Reusable OpenAPI component sections.
        info:
          type: object
          properties:
            description:
              type: string
              minLength: 1
              description: Public API description.
            license:
              type: object
              properties:
                identifier:
                  type: string
                  minLength: 1
                  description: SPDX or LicenseRef identifier.
                name:
                  type: string
                  minLength: 1
                  description: Human-readable license name.
              required:
                - identifier
                - name
              additionalProperties: false
              description: License metadata for the public API contract.
            title:
              type: string
              minLength: 1
              description: Public API title.
            version:
              type: string
              minLength: 1
              description: Public API contract version.
          required:
            - description
            - license
            - title
            - version
          additionalProperties: false
          description: OpenAPI document metadata.
        openapi:
          type: string
          const: 3.1.0
          description: OpenAPI specification version.
        paths:
          type: object
          propertyNames:
            type: string
            pattern: ^\/
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          description: OpenAPI path items keyed by canonical absolute API paths.
        servers:
          minItems: 1
          type: array
          items:
            type: object
            properties:
              url:
                type: string
                format: uri
                description: Base origin for this API environment.
            required:
              - url
            additionalProperties: false
            description: One public API server.
          description: Available public API origins.
        tags:
          minItems: 1
          type: array
          items:
            type: object
            properties:
              description:
                type: string
                minLength: 1
                description: Tag purpose.
              name:
                type: string
                minLength: 1
                description: Stable operation tag name.
            required:
              - description
              - name
            additionalProperties: false
            description: One documented operation tag.
          description: Documented operation tags.
      required:
        - components
        - info
        - openapi
        - paths
        - servers
        - tags
      additionalProperties: false
      description: The machine-readable OpenAPI 3.1 contract for the public Perflo API.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          format: uri
          description: Stable URL identifying the problem class.
        title:
          type: string
          minLength: 1
          description: Short human-readable problem title.
        status:
          type: integer
          minimum: 400
          maximum: 599
          description: HTTP status code for this occurrence.
        detail:
          type: string
          minLength: 1
          description: Human-readable occurrence detail.
        instance:
          type: string
          pattern: ^\/.*
          description: Request path identifying this problem occurrence.
        code:
          type: string
          pattern: ^[a-z][a-z0-9_]*$
          description: Stable machine-readable Perflo error code.
        fields:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ProblemField'
            - type: 'null'
          description: >-
            Field-level failures, or null when the problem is not
            field-specific.
        request_id:
          type: string
          pattern: ^[A-Za-z0-9._~-]{8,128}$
          description: Request identifier used to correlate API responses with server logs.
        retryable:
          type: boolean
          description: Whether repeating the identical request can safely succeed.
        submission_uncertain:
          type: boolean
          description: >-
            Whether an upstream write may have landed and must not be
            resubmitted.
      required:
        - type
        - title
        - status
        - detail
        - instance
        - code
        - fields
        - request_id
        - retryable
        - submission_uncertain
      additionalProperties: false
      description: >-
        RFC 9457 problem details with stable Perflo correlation and retry
        semantics.
    JsonValue:
      description: A JSON value inside the generated OpenAPI document.
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          propertyNames:
            type: string
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    ProblemField:
      type: object
      properties:
        message:
          type: string
          minLength: 1
          description: Human-readable validation failure.
        path:
          type: string
          minLength: 1
          description: Dot-delimited path to the invalid field.
      required:
        - message
        - path
      additionalProperties: false
      description: One field-level request validation failure.

````