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

# Search runnable endpoints

> Searches the data sources by keyword and returns ranked endpoint summaries, each identified by provider, endpoint, and endpoint_version, with its price and run mode. Several providers may sell the same capability; the ranking is relevance-only and the price is shown alongside so the caller chooses. Pages are short by default (5, up to 20): pass next_cursor back as cursor for the next page; the cursor is bound to the query. The list is already scoped to the calling key's effective policy: every endpoint in it is one this key can run. An empty list is a valid answer — when no data source matches, the endpoint says so instead of returning the nearest wrong operation.



## OpenAPI

````yaml /openapi.json post /v1/endpoints/search
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/search:
    post:
      tags:
        - Endpoints
      summary: Search runnable endpoints
      description: >-
        Searches the data sources by keyword and returns ranked endpoint
        summaries, each identified by provider, endpoint, and endpoint_version,
        with its price and run mode. Several providers may sell the same
        capability; the ranking is relevance-only and the price is shown
        alongside so the caller chooses. Pages are short by default (5, up to
        20): pass next_cursor back as cursor for the next page; the cursor is
        bound to the query. The list is already scoped to the calling key's
        effective policy: every endpoint in it is one this key can run. An empty
        list is a valid answer — when no data source matches, the endpoint says
        so instead of returning the nearest wrong operation.
      operationId: endpoints-search
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  anyOf:
                    - type: string
                    - type: 'null'
                limit:
                  anyOf:
                    - type: integer
                      minimum: 1
                      maximum: 20
                    - type: 'null'
                cursor:
                  anyOf:
                    - type: string
                    - type: 'null'
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      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'
                      required:
                        - provider
                        - provider_label
                        - endpoint
                        - endpoint_version
                        - name
                        - description
                        - tags
                        - price
                        - run_mode
                      additionalProperties: false
                  next_cursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                required:
                  - data
                  - next_cursor
                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'
        '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
    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

````