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

# Datos de mercado

> Valores de propiedades en EE. UU., estimaciones de alquiler, registros de propiedades, anuncios, estadísticas de mercado por código postal y cotizaciones bursátiles, con un único resultado normalizado.

Cada acción devuelve un `output` normalizado. La salida nativa del Proveedor no se repite allí; permanece en el Run y puede leerse con [Get Run](https://glasser.ai/docs/es/api-reference/runs/get.md). `property_value`, `property_rent`, `market_stats` y `stock_quote` exponen campos de nivel superior fijos; `property_search`, `listings_sale` y `listings_rental` exponen `output.items[]`. Un valor que el Proveedor no informa es `null`. Los importes de las propiedades están expresados en USD; una cotización bursátil incluye su `currency`.

Lee `result_status` por separado de `status`: `success`, `no_result`, `error` o `pending`. Una respuesta vacía pero válida, como una dirección sin una estimación, es `no_result` y conserva la estructura de la acción: cada campo es `null`, o `items` es `[]`. `charge_usd` totaliza los `runs` de esta respuesta. Consulta [Selección de proveedores y cargos](https://glasser.ai/docs/es/api-reference/solutions/overview.md#how-provider-selection-works).

## Salida por acción

Los campos de propiedad son `address`, `property_type`, `bedrooms`, `bathrooms`, `living_area_sqft`, `lot_size_sqft`, `year_built`, `latitude`, `longitude`. Los campos de anuncios son `listing_id`, los campos de propiedad, `status`, `listing_type`, `listed_date`, `days_on_market`, `hoa_fee_usd` (cuota mensual de la comunidad de propietarios), `mls_name`, `mls_number`, `agent` y `office`. `agent` y `office` son `{name, phone, email, website}`, o `null` cuando el Proveedor no informa ninguno.

| `action` | `output` |
| - | - |
| `property_value` | campos de propiedad más `estimated_value_usd`, `value_low_usd`, `value_high_usd`, `comparables_count` |
| `property_rent` | campos de propiedad más `estimated_rent_usd` (mensual), `rent_low_usd`, `rent_high_usd`, `comparables_count` |
| `property_search` | `items[]`: `property_id`, campos de propiedad, `last_sale_price_usd`, `last_sale_date`, `owner_names`\[], `owner_type`, `owner_mailing_address`, `owner_occupied` |
| `listings_sale` | `items[]`: campos de anuncios más `price_usd` (`price` solicitado) |
| `listings_rental` | `items[]`: campos de anuncios más `monthly_rent_usd` |
| `market_stats` | `zip`, `updated_at`, `sale` `{average_price_usd, median_price_usd, average_price_per_sqft_usd, median_price_per_sqft_usd, average_days_on_market, median_days_on_market, total_listings, new_listings}`, `rental` `{average_rent_usd, median_rent_usd, average_rent_per_sqft_usd, median_rent_per_sqft_usd, average_days_on_market, median_days_on_market, total_listings, new_listings}` |
| `stock_quote` | `symbol`, `name`, `exchange`, `currency`, `price`, `change`, `change_percent`, `extended_hours_session`, `extended_hours_price`, `extended_hours_change`, `extended_hours_change_percent`, `as_of_text` |

* `comparables_count` es el número de ventas o alquileres comparables que sustentan la estimación.
* `last_sale_date` y `listed_date` son `YYYY-MM-DD`; `updated_at` está expresado en UTC según ISO 8601, cuando RentCast actualizó por última vez el agregado.
* El lado `rental` de `market_stats`, `monthly_rent_usd` y `estimated_rent_usd` corresponde a alquileres mensuales.
* `price` es el último precio de la sesión regular en `currency`; las cotizaciones de Google Finance pueden estar retrasadas. `change` es el movimiento absoluto en `currency` y `change_percent` está expresado en puntos porcentuales (1.5 = 1.5%), ambos respecto al cierre regular anterior.
* `extended_hours_session` es la etiqueta de la sesión tal como se muestra (Pre-market o After hours) y es `null` durante el horario regular. Los valores de `extended_hours_*` comparan la cotización fuera del horario habitual con el precio de la sesión regular, en las mismas unidades.
* `as_of_text` es la marca de tiempo de la página de Google Finance exactamente como se muestra. No está expresada en formato ISO ni corresponde a la hora de `price`.

```json
{
  "action": "property_value",
  "provider": "rentcast",
  "status": "COMPLETED",
  "result_status": "success",
  "output": {
    "address": "5500 Grand Lake Dr, San Antonio, TX 78244", "property_type": "Single Family",
    "bedrooms": 3, "bathrooms": 2, "living_area_sqft": 1878, "lot_size_sqft": 8843, "year_built": 1973,
    "latitude": 29.476011, "longitude": -98.351454,
    "estimated_value_usd": 235000, "value_low_usd": 203000, "value_high_usd": 266000, "comparables_count": 15
  },
  "charge_usd": "0.0814",
  "runs": [{ "provider": "rentcast", "status": "COMPLETED", "charge_usd": "0.0814" }],
  "result_url": "/v1/solutions/gtm/market_data/result?token=…"
}
```


## OpenAPI

````yaml /openapi.es.json post /v1/solutions/gtm/market_data
openapi: 3.1.0
info:
  title: Glasser
  version: 0.0.1
  description: >-
    Una API Key, sin contrato, con pago por llamada, para APIs de pago
    adquiridas al por mayor. Cada respuesta incluye x-request-id; cada cuerpo de
    error incluye el mismo sobre.
servers:
  - url: https://api.glasser.ai
security: []
tags:
  - name: Solutions
  - name: Endpoints
  - name: Runs
  - name: Balance
paths:
  /v1/solutions/gtm/market_data:
    post:
      tags:
        - Solutions
      summary: Datos de mercado
      description: >-
        Valores de propiedades en EE. UU., estimaciones de alquiler, registros
        de propiedades, anuncios de venta y alquiler, estadísticas de mercado
        por código postal y cotizaciones bursátiles. Elige una acción y
        proporciona una dirección, una ciudad y un estado, un código postal o un
        símbolo bursátil.


        Cada acción devuelve resultados normalizados con el id, el proveedor de
        datos y el estado del ciclo de vida del último Run: property_value,
        property_rent, market_stats y stock_quote proporcionan campos fijos de
        nivel superior; property_search, listings_sale y listings_rental
        proporcionan output.items[] con campos fijos por fila. El resultado
        nativo del proveedor de datos no se repite en output; permanece en el
        Run y se puede consultar con GET /v1/runs/:id. Si el proveedor de datos
        no informa un valor, se devuelve null; el dinero de las propiedades está
        en USD y una cotización bursátil incluye su moneda.


        Lee result_status por separado de status: success, no_result, error o
        pending. charge_usd es el total de los Runs de esta respuesta y es null
        hasta que se completen todos los Runs indicados; runs[] contiene el
        cargo de cada Run. Un proveedor de datos especificado no recurre a otro.
        Para QUEUED/RUNNING (HTTP 202), consulta mediante solicitudes sucesivas
        el result_url autenticado en el origen de la API. Reutiliza el mismo
        Idempotency-Key y los mismos parámetros de ejecución para un reintento
        intencionado.
      operationId: gtm-market-data
      parameters:
        - name: idempotency-key
          in: header
          schema:
            type: string
            minLength: 1
            description: >-
              Genera un valor único para cada ejecución prevista (se recomienda
              un UUID). Reintenta con la misma clave y los mismos parámetros de
              ejecución para recuperar el Run original sin un segundo cobro.
              Cambiar los parámetros de ejecución con la misma clave devuelve
              409; cambiar task_id o metadata no actualiza el Run original.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  enum:
                    - property_value
                    - property_rent
                    - property_search
                    - listings_sale
                    - listings_rental
                    - market_stats
                    - stock_quote
                  description: >-
                    Elige los datos que quieres recuperar:


                    - property_value o property_rent: proporciona una dirección.

                    - property_search, listings_sale o listings_rental:
                    proporciona una dirección, una ciudad y un estado, o un
                    código postal.

                    - market_stats: proporciona un código postal.

                    - stock_quote: proporciona un símbolo.
                provider:
                  anyOf:
                    - type: string
                      enum:
                        - auto
                        - rentcast
                        - serpapi
                      description: >-
                        Auto predeterminado: selecciona el primer proveedor de
                        datos elegible según el orden de preferencia de Glasser.
                        Un proveedor de datos especificado debe admitir la
                        solicitud y estar permitido por tu API Key; no recurre a
                        otro proveedor de datos. Los valores disponibles se
                        muestran a continuación.
                    - type: 'null'
                address:
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 300
                    - type: 'null'
                city:
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 100
                    - type: 'null'
                state:
                  anyOf:
                    - type: string
                      pattern: ^[A-Za-z]{2}$
                    - type: 'null'
                zip:
                  anyOf:
                    - type: string
                      pattern: ^\d{5}$
                    - type: 'null'
                symbol:
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 40
                    - type: 'null'
                limit:
                  anyOf:
                    - type: integer
                      minimum: 1
                      maximum: 100
                      description: >-
                        Filas que se devolverán. Mantén un número reducido: la
                        regla de cobro del endpoint al que se dirija la
                        solicitud puede leerlo. Cada capacidad lo limita aún
                        más.
                    - type: 'null'
                task_id:
                  anyOf:
                    - type: string
                      description: >-
                        Agrupa los Runs relacionados, incluido el fallback
                        automático, en un solo Task. Reutiliza una cadena
                        estable y filtra la lista de Runs por task para
                        recuperarlos.
                    - type: 'null'
                metadata:
                  anyOf:
                    - anyOf:
                        - type: object
                          additionalProperties:
                            type: string
                            minLength: 1
                            maxLength: 500
                          maxProperties: 20
                          propertyNames:
                            type: string
                            pattern: ^[a-z][a-z0-9_]{0,39}$
                        - {}
                      description: >-
                        Campos de seguimiento opcionales, devueltos en el Run y
                        disponibles como filtros. Nunca se envían al proveedor
                        de datos ni afectan al enrutamiento, al Price ni a la
                        idempotencia.


                        - Hasta 20 claves: letras minúsculas, dígitos y guiones
                        bajos; deben comenzar por una letra y tener como máximo
                        40 caracteres.

                        - Valores: cadenas de 1 a 500 caracteres.

                        - user_id: el ID opaco de tu usuario final, nunca su
                        dirección de correo electrónico ni su nombre.


                        Las entradas no válidas se descartan por completo, sin
                        truncarlas. La solicitud continúa y el Run devuelve los
                        campos que se almacenaron.
                    - type: 'null'
              required:
                - action
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Éxito
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/MarketDataResult'
        '202':
          description: Éxito
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/MarketDataResult'
        '400':
          description: ValidationFailed | IdempotencyKeyRequired
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
                  - $ref: '#/components/schemas/IdempotencyKeyRequiredEncoded'
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedEncoded'
        '402':
          description: InsufficientBalance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientBalanceEncoded'
        '403':
          description: EndpointNotPermitted | Forbidden
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/EndpointNotPermittedEncoded'
                  - $ref: '#/components/schemas/ForbiddenEncoded'
        '409':
          description: IdempotencyConflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdempotencyConflictEncoded'
        '429':
          description: RateLimited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedEncoded'
        '503':
          description: ServiceUnavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableEncoded'
      security:
        - bearer: []
components:
  schemas:
    MarketDataResult:
      type: object
      properties:
        id:
          type: string
        run_url:
          type: string
          description: Abre este Run en la consola. Requiere pertenecer al Workspace.
        provider:
          type: string
          pattern: ^[a-z0-9][a-z0-9-]*$
        endpoint:
          type: string
          pattern: ^\/.+$
        endpoint_version:
          type: integer
          exclusiveMinimum: 0
        status:
          type: string
          enum:
            - QUEUED
            - RUNNING
            - COMPLETED
            - FAILED
            - STOPPED
          description: >-
            QUEUED o RUNNING: todavía está en curso. COMPLETED: hay una
            respuesta del proveedor de datos disponible, incluidas las
            respuestas que no son 2xx. FAILED: consulta `failure`. STOPPED:
            detenido antes del dispatch. Consulta charge_usd por separado de
            status.
        failure:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - TIMED_OUT
                    - INTERNAL
                message:
                  type: string
              required:
                - kind
                - message
              additionalProperties: false
            - type: 'null'
          description: >-
            Motivo por el que falló el Run. Solo es distinto de null cuando
            status es FAILED.
        input:
          type: object
        output:
          anyOf:
            - anyOf:
                - type: object
                  properties:
                    address:
                      anyOf:
                        - type: string
                        - type: 'null'
                    property_type:
                      anyOf:
                        - type: string
                        - type: 'null'
                    bedrooms:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    bathrooms:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    living_area_sqft:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    lot_size_sqft:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    year_built:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    latitude:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    longitude:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    estimated_value_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    value_low_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    value_high_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    comparables_count:
                      anyOf:
                        - type: integer
                        - type: 'null'
                  required:
                    - address
                    - property_type
                    - bedrooms
                    - bathrooms
                    - living_area_sqft
                    - lot_size_sqft
                    - year_built
                    - latitude
                    - longitude
                    - estimated_value_usd
                    - value_low_usd
                    - value_high_usd
                    - comparables_count
                  additionalProperties: false
                - type: object
                  properties:
                    address:
                      anyOf:
                        - type: string
                        - type: 'null'
                    property_type:
                      anyOf:
                        - type: string
                        - type: 'null'
                    bedrooms:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    bathrooms:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    living_area_sqft:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    lot_size_sqft:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    year_built:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    latitude:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    longitude:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    estimated_rent_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    rent_low_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    rent_high_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    comparables_count:
                      anyOf:
                        - type: integer
                        - type: 'null'
                  required:
                    - address
                    - property_type
                    - bedrooms
                    - bathrooms
                    - living_area_sqft
                    - lot_size_sqft
                    - year_built
                    - latitude
                    - longitude
                    - estimated_rent_usd
                    - rent_low_usd
                    - rent_high_usd
                    - comparables_count
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          property_id:
                            anyOf:
                              - type: string
                              - type: 'null'
                          address:
                            anyOf:
                              - type: string
                              - type: 'null'
                          property_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          bedrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          bathrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          living_area_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          lot_size_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          year_built:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          latitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          longitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          last_sale_price_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          last_sale_date:
                            anyOf:
                              - type: string
                              - type: 'null'
                          owner_names:
                            anyOf:
                              - type: array
                                items:
                                  type: string
                              - type: 'null'
                          owner_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          owner_mailing_address:
                            anyOf:
                              - type: string
                              - type: 'null'
                          owner_occupied:
                            anyOf:
                              - type: boolean
                              - type: 'null'
                        required:
                          - property_id
                          - address
                          - property_type
                          - bedrooms
                          - bathrooms
                          - living_area_sqft
                          - lot_size_sqft
                          - year_built
                          - latitude
                          - longitude
                          - last_sale_price_usd
                          - last_sale_date
                          - owner_names
                          - owner_type
                          - owner_mailing_address
                          - owner_occupied
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          listing_id:
                            anyOf:
                              - type: string
                              - type: 'null'
                          address:
                            anyOf:
                              - type: string
                              - type: 'null'
                          property_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          bedrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          bathrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          living_area_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          lot_size_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          year_built:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          latitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          longitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          status:
                            anyOf:
                              - type: string
                              - type: 'null'
                          listing_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          listed_date:
                            anyOf:
                              - type: string
                              - type: 'null'
                          days_on_market:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          hoa_fee_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          mls_name:
                            anyOf:
                              - type: string
                              - type: 'null'
                          mls_number:
                            anyOf:
                              - type: string
                              - type: 'null'
                          agent:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  phone:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  email:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  website:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - name
                                  - phone
                                  - email
                                  - website
                                additionalProperties: false
                              - type: 'null'
                          office:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  phone:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  email:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  website:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - name
                                  - phone
                                  - email
                                  - website
                                additionalProperties: false
                              - type: 'null'
                          price_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                        required:
                          - listing_id
                          - address
                          - property_type
                          - bedrooms
                          - bathrooms
                          - living_area_sqft
                          - lot_size_sqft
                          - year_built
                          - latitude
                          - longitude
                          - status
                          - listing_type
                          - listed_date
                          - days_on_market
                          - hoa_fee_usd
                          - mls_name
                          - mls_number
                          - agent
                          - office
                          - price_usd
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          listing_id:
                            anyOf:
                              - type: string
                              - type: 'null'
                          address:
                            anyOf:
                              - type: string
                              - type: 'null'
                          property_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          bedrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          bathrooms:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          living_area_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          lot_size_sqft:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          year_built:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          latitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          longitude:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          status:
                            anyOf:
                              - type: string
                              - type: 'null'
                          listing_type:
                            anyOf:
                              - type: string
                              - type: 'null'
                          listed_date:
                            anyOf:
                              - type: string
                              - type: 'null'
                          days_on_market:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          hoa_fee_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          mls_name:
                            anyOf:
                              - type: string
                              - type: 'null'
                          mls_number:
                            anyOf:
                              - type: string
                              - type: 'null'
                          agent:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  phone:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  email:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  website:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - name
                                  - phone
                                  - email
                                  - website
                                additionalProperties: false
                              - type: 'null'
                          office:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  phone:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  email:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                  website:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - name
                                  - phone
                                  - email
                                  - website
                                additionalProperties: false
                              - type: 'null'
                          monthly_rent_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                        required:
                          - listing_id
                          - address
                          - property_type
                          - bedrooms
                          - bathrooms
                          - living_area_sqft
                          - lot_size_sqft
                          - year_built
                          - latitude
                          - longitude
                          - status
                          - listing_type
                          - listed_date
                          - days_on_market
                          - hoa_fee_usd
                          - mls_name
                          - mls_number
                          - agent
                          - office
                          - monthly_rent_usd
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    zip:
                      anyOf:
                        - type: string
                        - type: 'null'
                    updated_at:
                      anyOf:
                        - type: string
                        - type: 'null'
                    sale:
                      anyOf:
                        - type: object
                          properties:
                            average_price_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_price_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            average_price_per_sqft_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_price_per_sqft_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            average_days_on_market:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_days_on_market:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            total_listings:
                              anyOf:
                                - type: integer
                                - type: 'null'
                            new_listings:
                              anyOf:
                                - type: integer
                                - type: 'null'
                          required:
                            - average_price_usd
                            - median_price_usd
                            - average_price_per_sqft_usd
                            - median_price_per_sqft_usd
                            - average_days_on_market
                            - median_days_on_market
                            - total_listings
                            - new_listings
                          additionalProperties: false
                        - type: 'null'
                    rental:
                      anyOf:
                        - type: object
                          properties:
                            average_rent_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_rent_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            average_rent_per_sqft_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_rent_per_sqft_usd:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            average_days_on_market:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            median_days_on_market:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - Infinity
                                        - '-Infinity'
                                        - NaN
                                - type: 'null'
                            total_listings:
                              anyOf:
                                - type: integer
                                - type: 'null'
                            new_listings:
                              anyOf:
                                - type: integer
                                - type: 'null'
                          required:
                            - average_rent_usd
                            - median_rent_usd
                            - average_rent_per_sqft_usd
                            - median_rent_per_sqft_usd
                            - average_days_on_market
                            - median_days_on_market
                            - total_listings
                            - new_listings
                          additionalProperties: false
                        - type: 'null'
                  required:
                    - zip
                    - updated_at
                    - sale
                    - rental
                  additionalProperties: false
                - type: object
                  properties:
                    symbol:
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      anyOf:
                        - type: string
                        - type: 'null'
                    exchange:
                      anyOf:
                        - type: string
                        - type: 'null'
                    currency:
                      anyOf:
                        - type: string
                        - type: 'null'
                    price:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    change:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    change_percent:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    extended_hours_session:
                      anyOf:
                        - type: string
                        - type: 'null'
                    extended_hours_price:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    extended_hours_change:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    extended_hours_change_percent:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    as_of_text:
                      anyOf:
                        - type: string
                        - type: 'null'
                  required:
                    - symbol
                    - name
                    - exchange
                    - currency
                    - price
                    - change
                    - change_percent
                    - extended_hours_session
                    - extended_hours_price
                    - extended_hours_change
                    - extended_hours_change_percent
                    - as_of_text
                  additionalProperties: false
            - type: 'null'
          description: >-
            Campos normalizados por action. La salida nativa del proveedor de
            datos no se repite aquí; permanece en el Run (GET /v1/runs/:id). Los
            valores que el proveedor de datos no informa son null; una respuesta
            vacía conserva la estructura de action con todos los campos en null
            (o items: []) y result_status no_result. Los importes están en USD,
            salvo que action incluya un campo de moneda. Las fechas llamadas
            *_date tienen el formato YYYY-MM-DD, *_at tiene el formato ISO 8601
            UTC y *_text es el texto de presentación exactamente como se
            devolvió.


            - property_value: address, property_type, bedrooms, bathrooms,
            living_area_sqft (superficie habitable), lot_size_sqft, year_built,
            latitude, longitude, estimated_value_usd, value_low_usd,
            value_high_usd, comparables_count (número de ventas comparables en
            las que se basa la estimación)

            - property_rent: address, property_type, bedrooms, bathrooms,
            living_area_sqft (superficie habitable), lot_size_sqft, year_built,
            latitude, longitude, estimated_rent_usd (mensual), rent_low_usd,
            rent_high_usd, comparables_count (número de alquileres comparables
            en los que se basa la estimación)

            - property_search: items[]: property_id, address, property_type,
            bedrooms, bathrooms, living_area_sqft (superficie habitable),
            lot_size_sqft, year_built, latitude, longitude, last_sale_price_usd,
            last_sale_date (YYYY-MM-DD), owner_names[], owner_type,
            owner_mailing_address, owner_occupied

            - listings_sale: items[]: listing_id, address, property_type,
            bedrooms, bathrooms, living_area_sqft (superficie habitable),
            lot_size_sqft, year_built, latitude, longitude, status,
            listing_type, listed_date (YYYY-MM-DD), days_on_market, hoa_fee_usd
            (cuota mensual de HOA), mls_name, mls_number, agent `{name, phone,
            email, website}`, office `{name, phone, email, website}`, price_usd
            (precio solicitado)

            - listings_rental: items[]: listing_id, address, property_type,
            bedrooms, bathrooms, living_area_sqft (superficie habitable),
            lot_size_sqft, year_built, latitude, longitude, status,
            listing_type, listed_date (YYYY-MM-DD), days_on_market, hoa_fee_usd
            (cuota mensual de HOA), mls_name, mls_number, agent `{name, phone,
            email, website}`, office `{name, phone, email, website}`,
            monthly_rent_usd

            - market_stats: zip, updated_at (ISO 8601 UTC, cuando RentCast
            actualizó por última vez el agregado), sale `{average_price_usd,
            median_price_usd, average_price_per_sqft_usd,
            median_price_per_sqft_usd, average_days_on_market,
            median_days_on_market, total_listings, new_listings}`, rental
            `{average_rent_usd, median_rent_usd, average_rent_per_sqft_usd,
            median_rent_per_sqft_usd (alquiler mensual), average_days_on_market,
            median_days_on_market, total_listings, new_listings}`

            - stock_quote: symbol, name, exchange, currency, price (último
            precio de la sesión ordinaria, en la moneda correspondiente; las
            cotizaciones de Google Finance pueden tener retraso), change (cambio
            absoluto, en la moneda correspondiente, respecto al cierre ordinario
            anterior), change_percent (puntos porcentuales respecto al cierre
            ordinario anterior: 1.5 = 1.5%), extended_hours_session (etiqueta de
            la sesión tal como se muestra, p. ej., Pre-market o After hours;
            null durante el horario ordinario), extended_hours_price,
            extended_hours_change y extended_hours_change_percent (cotización
            fuera del horario ordinario respecto al precio de la sesión
            ordinaria, en las mismas unidades), as_of_text (marca de tiempo de
            la página de Google Finance exactamente como se muestra, no en
            formato ISO ni correspondiente a la hora del precio)
        provider_response:
          anyOf:
            - type: object
              properties:
                http_status:
                  type: integer
                  minimum: 100
                  maximum: 599
                  description: >-
                    Estado HTTP devuelto por el proveedor de datos. Compruébalo
                    incluso cuando el Run esté COMPLETED.
                error:
                  anyOf:
                    - {}
                    - type: 'null'
              required:
                - http_status
              additionalProperties: false
            - type: 'null'
          description: >-
            Solo es distinto de null cuando status es COMPLETED.


            - Para respuestas 2xx, output contiene JSON nativo del proveedor de
            datos (con cualquier estructura) o null si el cuerpo está vacío.

            - Para respuestas que no son 2xx, error contiene el cuerpo del error
            del proveedor de datos y output es null.


            Los campos sensibles se eliminan de ambos cuerpos.
        charge_usd:
          anyOf:
            - type: string
              pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
              description: >-
                Cadena decimal exacta en USD (mínimo 2 y máximo 6 decimales, con
                una única representación canónica). Suma con aritmética decimal
                o escala por 10^6; nunca uses números de coma flotante.
            - type: 'null'
          description: >-
            Cargo total de los Runs de esta respuesta de Solution. Es null hasta
            que se liquiden todos los Runs incluidos. Cada Run conserva su
            propio cargo; los fallos también pueden generar cargos.
        charge_basis:
          anyOf:
            - type: object
              properties:
                clause:
                  type: string
                  enum:
                    - rule
                    - NO_RESULT
                    - PROVIDER_ERROR
                    - TIMED_OUT
                    - INTERNAL
                quantity:
                  anyOf:
                    - type: integer
                      minimum: 0
                    - type: 'null'
              required:
                - clause
                - quantity
              additionalProperties: false
            - type: 'null'
          description: >-
            Base del cargo de un único Run, o null para un total de varios Runs.
            Consulta runs[].charge_basis para cada cargo.
        stoppable:
          type: boolean
          description: >-
            Indica si actualmente se puede aceptar una solicitud de detención.
            Esto no garantiza que el Run pueda detenerse antes del dispatch.
        stop_requested_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC ISO-8601
              format: date-time
            - type: 'null'
          description: >-
            Momento en que se solicitó la detención. El Run puede continuar si
            el dispatch ya había comenzado.
        created_at:
          type: string
          description: Marca de tiempo UTC ISO-8601
          format: date-time
        started_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC ISO-8601
              format: date-time
            - type: 'null'
        completed_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC ISO-8601
              format: date-time
            - type: 'null'
        task_id:
          anyOf:
            - type: string
            - type: 'null'
        metadata:
          type: object
          additionalProperties:
            type: string
            minLength: 1
            maxLength: 500
          maxProperties: 20
          propertyNames:
            type: string
            pattern: ^[a-z][a-z0-9_]{0,39}$
          description: >-
            Tus campos de seguimiento almacenados. Úsalos para filtrar Runs.
            Nunca se envían al proveedor de datos ni afectan al enrutamiento,
            Price o la idempotencia.


            - Hasta 20 claves: letras minúsculas, dígitos y guiones bajos; deben
            comenzar por una letra; como máximo 40 caracteres.

            - Valores: cadenas de 1–500 caracteres.

            - user_id: el ID opaco de tu usuario final, nunca su dirección de
            correo electrónico ni su nombre.
        action:
          type: string
          enum:
            - property_value
            - property_rent
            - property_search
            - listings_sale
            - listings_rental
            - market_stats
            - stock_quote
        result_status:
          type: string
          enum:
            - success
            - no_result
            - error
            - pending
          description: >-
            Estado de entrega empresarial, independiente del ciclo de vida final
            del Run en status. no_result es una respuesta vacía pero válida;
            error significa que no se pudo entregar la salida del proveedor de
            datos.
        error:
          anyOf:
            - type: object
              properties:
                code:
                  type: string
                message:
                  type: string
              required:
                - code
                - message
              additionalProperties: false
            - type: 'null'
        runs:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              run_url:
                type: string
                description: Abre este Run en la consola. Requiere pertenecer al Workspace.
              provider:
                type: string
                pattern: ^[a-z0-9][a-z0-9-]*$
              endpoint:
                type: string
                pattern: ^\/.+$
              endpoint_version:
                type: integer
                exclusiveMinimum: 0
              status:
                type: string
                enum:
                  - QUEUED
                  - RUNNING
                  - COMPLETED
                  - FAILED
                  - STOPPED
                description: >-
                  QUEUED o RUNNING: todavía está en curso. COMPLETED: hay una
                  respuesta del proveedor de datos disponible, incluidas las
                  respuestas que no son 2xx. FAILED: consulta `failure`.
                  STOPPED: detenido antes del dispatch. Consulta charge_usd por
                  separado de status.
              failure:
                anyOf:
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - TIMED_OUT
                          - INTERNAL
                      message:
                        type: string
                    required:
                      - kind
                      - message
                    additionalProperties: false
                  - type: 'null'
                description: >-
                  Motivo por el que falló el Run. Solo es distinto de null
                  cuando status es FAILED.
              input:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              output:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              provider_response:
                anyOf:
                  - type: object
                    properties:
                      http_status:
                        type: integer
                        minimum: 100
                        maximum: 599
                        description: >-
                          Estado HTTP devuelto por el proveedor de datos.
                          Compruébalo incluso cuando el Run esté COMPLETED.
                    required:
                      - http_status
                    additionalProperties: false
                  - type: 'null'
              charge_usd:
                anyOf:
                  - type: string
                    pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                    description: >-
                      Cadena decimal exacta en USD (mínimo 2 y máximo 6
                      decimales, con una única representación canónica). Suma
                      con aritmética decimal o escala por 10^6; nunca uses
                      números de coma flotante.
                  - type: 'null'
                description: >-
                  Cargo final como cadena decimal exacta en USD. Es null
                  mientras está QUEUED o RUNNING. Un Run FAILED puede tener un
                  cargo distinto de cero según el Price del Endpoint.
              charge_basis:
                anyOf:
                  - type: object
                    properties:
                      clause:
                        type: string
                        enum:
                          - rule
                          - NO_RESULT
                          - PROVIDER_ERROR
                          - TIMED_OUT
                          - INTERNAL
                      quantity:
                        anyOf:
                          - type: integer
                            minimum: 0
                          - type: 'null'
                    required:
                      - clause
                      - quantity
                    additionalProperties: false
                  - type: 'null'
                description: >-
                  Cláusula de Price utilizada para calcular el cargo. Es null
                  antes de la liquidación o cuando no se realizó ningún intento
                  con el proveedor de datos.
              stoppable:
                type: boolean
                description: >-
                  Indica si actualmente se puede aceptar una solicitud de
                  detención. Esto no garantiza que el Run pueda detenerse antes
                  del dispatch.
              stop_requested_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
                description: >-
                  Momento en que se solicitó la detención. El Run puede
                  continuar si el dispatch ya había comenzado.
              created_at:
                type: string
                description: Marca de tiempo UTC ISO-8601
                format: date-time
              started_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
              completed_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
              task_id:
                anyOf:
                  - type: string
                  - type: 'null'
              metadata:
                type: object
                additionalProperties:
                  type: string
                  minLength: 1
                  maxLength: 500
                maxProperties: 20
                propertyNames:
                  type: string
                  pattern: ^[a-z][a-z0-9_]{0,39}$
                description: >-
                  Tus campos de seguimiento almacenados. Úsalos para filtrar
                  Runs. Nunca se envían al proveedor de datos ni afectan al
                  enrutamiento, Price o la idempotencia.


                  - Hasta 20 claves: letras minúsculas, dígitos y guiones bajos;
                  deben comenzar por una letra; como máximo 40 caracteres.

                  - Valores: cadenas de 1–500 caracteres.

                  - user_id: el ID opaco de tu usuario final, nunca su dirección
                  de correo electrónico ni su nombre.
            required:
              - id
              - run_url
              - provider
              - endpoint
              - endpoint_version
              - status
              - failure
              - input
              - output
              - provider_response
              - charge_usd
              - charge_basis
              - stoppable
              - stop_requested_at
              - created_at
              - started_at
              - completed_at
              - task_id
              - metadata
            additionalProperties: false
        result_url:
          type: string
          description: >-
            Ruta de URL autenticada y de solo lectura para consultar este
            resultado normalizado y el cargo total. Úsala con el origen de la
            API. No crea Runs ni reanuda el fallback. GET /v1/runs/:id sigue
            devolviendo el Run nativo e individual.
      required:
        - id
        - run_url
        - provider
        - endpoint
        - endpoint_version
        - status
        - failure
        - input
        - output
        - provider_response
        - charge_usd
        - charge_basis
        - stoppable
        - stop_requested_at
        - created_at
        - started_at
        - completed_at
        - task_id
        - metadata
        - action
        - result_status
        - error
        - runs
        - result_url
      additionalProperties: false
    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
    IdempotencyKeyRequiredEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - idempotency_key_required
            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
    InsufficientBalanceEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - insufficient_balance
            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
    EndpointNotPermittedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - endpoint_not_permitted
            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
    ForbiddenEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            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
    IdempotencyConflictEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - idempotency_conflict
            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
    ServiceUnavailableEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - service_unavailable
            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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.