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

# Inspect one endpoint: schemas, price, version

> Returns the full execution contract of one endpoint: the provider-native input JSON Schema, the output JSON Schema when a trustworthy one exists (null otherwise — samples never imply a contract), its source, the price with every charge clause, the current endpoint_version, the run mode, a sample input, and a link to the provider's own documentation. A sync endpoint also publishes timeout_ms, the maximum time from request to terminal response — set your HTTP client timeout above it. Passing endpoint_version pins the version you expect: anything other than the current version answers 409, the same rule run applies.



## OpenAPI

````yaml /openapi.json post /v1/endpoints/inspect
openapi: 3.1.0
info:
  title: Glasser
  version: 0.0.1
  description: >-
    One key, no contract, pay per call, across paid APIs bought wholesale. Every
    response carries x-request-id; every error body carries the same envelope.
servers: []
security: []
tags:
  - name: Endpoints
  - name: Runs
  - name: Balance
paths:
  /v1/endpoints/inspect:
    post:
      tags:
        - Endpoints
      summary: 'Inspect one endpoint: schemas, price, version'
      description: >-
        Returns the full execution contract of one endpoint: the provider-native
        input JSON Schema, the output JSON Schema when a trustworthy one exists
        (null otherwise — samples never imply a contract), its source, the price
        with every charge clause, the current endpoint_version, the run mode, a
        sample input, and a link to the provider's own documentation. A sync
        endpoint also publishes timeout_ms, the maximum time from request to
        terminal response — set your HTTP client timeout above it. Passing
        endpoint_version pins the version you expect: anything other than the
        current version answers 409, the same rule run applies.
      operationId: endpoints-inspect
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                provider:
                  type: string
                  pattern: ^[a-z0-9][a-z0-9-]*$
                endpoint:
                  type: string
                  pattern: ^\/.+$
                endpoint_version:
                  anyOf:
                    - type: integer
                      exclusiveMinimum: 0
                    - type: 'null'
              required:
                - provider
                - endpoint
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  provider:
                    type: string
                    pattern: ^[a-z0-9][a-z0-9-]*$
                  provider_label:
                    type: string
                    description: >-
                      The Provider's brand name, for display: "People Data Labs"
                      for provider "pdl". Identity stays with `provider` — that
                      is the value run and inspect take, and this one is never
                      sent back.
                  endpoint:
                    type: string
                    pattern: ^\/.+$
                  endpoint_version:
                    type: integer
                    exclusiveMinimum: 0
                  name:
                    type: string
                  description:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  price:
                    type: object
                    properties:
                      rule:
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - flat
                              amount_usd:
                                type: string
                                pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                                description: >-
                                  Exact USD decimal string (min 2, max 6
                                  decimals, one canonical spelling). Sum with
                                  decimal arithmetic or scale by 10^6 — never
                                  floats.
                            required:
                              - type
                              - amount_usd
                            additionalProperties: false
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - per_result
                              per_result_usd:
                                type: string
                                pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                                description: >-
                                  Exact USD decimal string (min 2, max 6
                                  decimals, one canonical spelling). Sum with
                                  decimal arithmetic or scale by 10^6 — never
                                  floats.
                              cap_usd:
                                type: string
                                pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                                description: >-
                                  Exact USD decimal string (min 2, max 6
                                  decimals, one canonical spelling). Sum with
                                  decimal arithmetic or scale by 10^6 — never
                                  floats.
                              partial_usd:
                                type: string
                                pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                                description: >-
                                  Exact USD decimal string (min 2, max 6
                                  decimals, one canonical spelling). Sum with
                                  decimal arithmetic or scale by 10^6 — never
                                  floats.
                            required:
                              - type
                              - per_result_usd
                              - cap_usd
                            additionalProperties: false
                      charges:
                        type: object
                        properties:
                          NO_RESULT:
                            type: string
                            pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                            description: >-
                              Exact USD decimal string (min 2, max 6 decimals,
                              one canonical spelling). Sum with decimal
                              arithmetic or scale by 10^6 — never floats.
                          PROVIDER_ERROR:
                            type: string
                            pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                            description: >-
                              Exact USD decimal string (min 2, max 6 decimals,
                              one canonical spelling). Sum with decimal
                              arithmetic or scale by 10^6 — never floats.
                          TIMED_OUT:
                            type: string
                            pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                            description: >-
                              Exact USD decimal string (min 2, max 6 decimals,
                              one canonical spelling). Sum with decimal
                              arithmetic or scale by 10^6 — never floats.
                          INTERNAL:
                            type: string
                            pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                            description: >-
                              Exact USD decimal string (min 2, max 6 decimals,
                              one canonical spelling). Sum with decimal
                              arithmetic or scale by 10^6 — never floats.
                        required:
                          - NO_RESULT
                          - PROVIDER_ERROR
                          - TIMED_OUT
                          - INTERNAL
                        additionalProperties: false
                    required:
                      - rule
                      - charges
                    additionalProperties: false
                  run_mode:
                    type: string
                    enum:
                      - sync
                      - async
                  timeout_ms:
                    anyOf:
                      - type: integer
                        exclusiveMinimum: 0
                      - type: 'null'
                  method:
                    type: string
                    enum:
                      - GET
                      - POST
                      - PUT
                      - PATCH
                      - DELETE
                      - HEAD
                  input_schema:
                    type: object
                  output_schema:
                    anyOf:
                      - type: object
                      - type: 'null'
                  output_schema_source:
                    anyOf:
                      - type: string
                        enum:
                          - provider
                          - glasser
                      - type: 'null'
                  sample_input:
                    type: object
                  doc_url:
                    anyOf:
                      - type: string
                      - type: 'null'
                required:
                  - provider
                  - provider_label
                  - endpoint
                  - endpoint_version
                  - name
                  - description
                  - tags
                  - price
                  - run_mode
                  - method
                  - input_schema
                  - output_schema
                  - output_schema_source
                  - sample_input
                  - doc_url
                additionalProperties: false
        '400':
          description: ValidationFailed
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedEncoded'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundEncoded'
        '409':
          description: EndpointVersionMismatch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointVersionMismatchEncoded'
        '429':
          description: RateLimited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedEncoded'
      security:
        - bearer: []
components:
  schemas:
    ValidationFailedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    UnauthorizedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    NotFoundEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    EndpointVersionMismatchEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - endpoint_version_mismatch
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    RateLimitedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - rate_limited
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: Bearer

````