AskMiles AI API

AskMiles AI API as documented publicly: 31 operations. Contract generated from the documentation by API Evangelist (2026-11-02); not the provider's own document.

Operations 31

GET /.well-known/oauth-authorization-server OAuth app #
POST /.well-known/oauth-authorization-server POST /.well-known/oauth-authorization-server #
GET /health Confirms the worker can reach its data store. #
POST /health POST /health #
POST /mcp The same free‑schema catalog, spoken as Model Context Protocol so an agent can call it without a hand‑written client. #
POST /public/benefits-search Free‑text match against benefit names: lounge programs, credits, protections. #
GET /public/credit-cards Every open card, alphabetical by name. #
POST /public/credit-cards/search Same card rows as the list endpoint, filtered by a JSON body instead of query params. #
GET /public/credit-cards/{cardid} The id is the same URL‑safe slug the list endpoint returns, not the card's display name. #
GET /public/exports/credit_cards credit_cards, transfer_partners, or valuations. Unlike every other endpoint here, the response is NOT unwrapped: it's the raw R2 file, envelope included. #
GET /public/exports/status Size and last‑modified time for each full‑dataset export. #
GET /public/transfer-partners Every bank‑to‑loyalty‑program transfer route: which ones exist and which are live. #
GET /public/transfer-partners/from/{sourceprogram} Every destination program reachable from one source. #
GET /public/transfer-partners/to/{destprogram} Every source program that can transfer into one destination. #
GET /public/valuations Current cents‑per‑point value for every tracked currency. #
POST /register POST /register #
GET /token GET /token #
POST /v1/chat/completions Chat API overview #
GET /v1/health Chat API overview #
GET /v1/models Chat API overview #
GET /v1/public/credit-cards Every open card, alphabetical by name. #
POST /v1/public/credit-cards POST /v1/public/credit-cards #
GET /v1/public/credit-cards/chase-sapphire-preferred-credit-card The id is the same URL-safe slug the list endpoint returns, not the card's display name. #
GET /v1/public/exports/credit_cards credit_cards, transfer_partners, or valuations. Unlike every other endpoint here, the response is NOT unwrapped: it's the raw R2 file, envelope included. #
GET /v1/public/exports/status Size and last-modified time for each full-dataset export. #
GET /v1/public/transfer-partners Every bank-to-loyalty-program transfer route: which ones exist and which are live. #
GET /v1/public/transfer-partners/from/Chase%20Ultimate%20Rewards Every destination program reachable from one source. #
GET /v1/public/transfer-partners/to/United%20MileagePlus Every source program that can transfer into one destination. #
GET /v1/public/valuations Current cents-per-point value for every tracked currency. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/askmiles-ai:askmiles-ai-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

askmiles-ai-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: AskMiles AI API
  version: '2026-11-02'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-02: 31 operation(s) read from 22 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; AskMiles AI has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 5
    documentation: 26
    pages-with-code: 13
    pages-read: 22
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-02'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://askmiles.ai/docs/catalog/endpoints
  - https://askmiles.ai/docs/catalog/endpoints?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/chat-api/overview
  - https://askmiles.ai/docs/chat-api/overview?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/chat-api/errors
  - https://askmiles.ai/docs/chat-api/errors.md
  - https://askmiles.ai/docs/chat-api/overview.md
  - https://askmiles.ai/docs/chat-api/rate-limits
  - https://askmiles.ai/docs/chat-api/rate-limits.md
  - https://askmiles.ai/docs/chat-api/request-and-streaming
  - https://askmiles.ai/docs/chat-api/request-and-streaming.md
  - https://askmiles.ai/docs/chat-api/errors?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/chat-api/rate-limits?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/chat-api/request-and-streaming?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/getting-started/personal-key
  - https://askmiles.ai/developers?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/docs/getting-started/personal-key?utm_source=llms&utm_medium=assistant
  - https://askmiles.ai/developers
  - https://askmiles.ai/docs/getting-started/oauth-app
  - https://askmiles.ai/docs/getting-started/oauth-app.md
  - https://askmiles.ai/docs/getting-started/personal-key.md
  - https://askmiles.ai/docs/getting-started/oauth-app?utm_source=llms&utm_medium=assistant
servers:
- url: https://api.askmiles.ai
paths:
  /.well-known/oauth-authorization-server:
    get:
      operationId: get_well_known_oauth_authorization_server
      tags:
      - API
      summary: OAuth app
      description: Fetch the authorization server metadata once and read the endpoints from it rather than hardcoding them.
      x-source: https://askmiles.ai/docs/getting-started/oauth-app
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_well_known_oauth_authorization_server
      tags:
      - API
      summary: POST /.well-known/oauth-authorization-server
      x-source: https://askmiles.ai/docs/getting-started/oauth-app
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostWellKnownOauthAuthorizationServerRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://mcp.askmiles.ai/.well-known/oauth-authorization-server Copy The document names registration_endpoint , authorization_endpoint\
          \ , token_endpoint , revocation_endpoint , the supported scopes, and S256 as the only PKCE method. 2. Register the client curl https://mcp.askmiles.ai/register\
          \  -H \"Content-Type: application/json\"  -d '{\n \"client_name\": \"Trip planner\",\n \"redirect_uris\": [\"https:/"
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: Confirms the worker can reach its data store.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHealthResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_health
      tags:
      - Health
      summary: POST /health
      x-source: https://askmiles.ai/docs/catalog/endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostHealthRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostHealthResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.askmiles.ai/health\" Copy Response: {\n \"status\": \"healthy\",\n \"data_available\": true,\n \"environment\"\
          : \"production\",\n \"timestamp\": \"2026-08-14T20:03:10.814Z\"\n} Copy GET /public/credit-cards Every open card, alphabetical by name.\
          \ Filter with search, issuer, card_type, or network. curl \"https://api.askmiles.ai/v1/public/credit-cards\" Copy Response: [\n {\n\
          \ \"id\": \"chase-sapphire-preferre"
  /mcp:
    post:
      operationId: post_mcp
      tags:
      - Mcp
      summary: The same free‑schema catalog, spoken as Model Context Protocol so an agent can call it without a hand‑written client.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostMcpRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMcpResponse'
      x-evidence:
        kind: documentation
  /public/benefits-search:
    post:
      operationId: post_public_benefits_search
      tags:
      - Public
      summary: 'Free‑text match against benefit names: lounge programs, credits, protections.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostPublicBenefitsSearchRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostPublicBenefitsSearchResponse'
      x-evidence:
        kind: documentation
  /public/credit-cards:
    get:
      operationId: get_public_credit_cards
      tags:
      - Public
      summary: Every open card, alphabetical by name.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicCreditCardsResponse'
      x-evidence:
        kind: documentation
  /public/credit-cards/search:
    post:
      operationId: post_public_credit_cards_search
      tags:
      - Public
      summary: Same card rows as the list endpoint, filtered by a JSON body instead of query params.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostPublicCreditCardsSearchRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostPublicCreditCardsSearchResponse'
      x-evidence:
        kind: documentation
  /public/credit-cards/{cardid}:
    get:
      operationId: get_public_credit_cards_cardid
      tags:
      - Public
      summary: The id is the same URL‑safe slug the list endpoint returns, not the card's display name.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      parameters:
      - name: cardid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicCreditCardsCardidResponse'
      x-evidence:
        kind: documentation
  /public/exports/credit_cards:
    get:
      operationId: get_public_exports_credit_cards
      tags:
      - Public
      summary: 'credit_cards, transfer_partners, or valuations. Unlike every other endpoint here, the response is NOT unwrapped: it''s the raw
        R2 file, envelope included.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicExportsCreditCardsResponse'
      x-evidence:
        kind: documentation
  /public/exports/status:
    get:
      operationId: get_public_exports_status
      tags:
      - Public
      summary: Size and last‑modified time for each full‑dataset export.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicExportsStatusResponse'
      x-evidence:
        kind: documentation
  /public/transfer-partners:
    get:
      operationId: get_public_transfer_partners
      tags:
      - Public
      summary: 'Every bank‑to‑loyalty‑program transfer route: which ones exist and which are live.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicTransferPartnersResponse'
      x-evidence:
        kind: documentation
  /public/transfer-partners/from/{sourceprogram}:
    get:
      operationId: get_public_transfer_partners_from_sourceprogram
      tags:
      - Public
      summary: Every destination program reachable from one source.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      parameters:
      - name: sourceprogram
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicTransferPartnersFromSourceprogramResponse'
      x-evidence:
        kind: documentation
  /public/transfer-partners/to/{destprogram}:
    get:
      operationId: get_public_transfer_partners_to_destprogram
      tags:
      - Public
      summary: Every source program that can transfer into one destination.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      parameters:
      - name: destprogram
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicTransferPartnersToDestprogramResponse'
      x-evidence:
        kind: documentation
  /public/valuations:
    get:
      operationId: get_public_valuations
      tags:
      - Public
      summary: Current cents‑per‑point value for every tracked currency.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicValuationsResponse'
      x-evidence:
        kind: documentation
  /register:
    post:
      operationId: post_register
      tags:
      - Register
      summary: POST /register
      x-source: https://askmiles.ai/docs/getting-started/oauth-app.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRegisterRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://mcp.askmiles.ai/register  -H \"Content-Type: application/json\"  -d '{\n    \"client_name\": \"Trip planner\",\n\
          \    \"redirect_uris\": [\"https://example.com/oauth/callback\"],\n    \"grant_types\": [\"authorization_code\", \"refresh_token\"],\n\
          \    \"response_types\": [\"code\"],\n    \"token_endpoint_auth_method\": \"none\",\n    \"scope\": \"miles:read miles:chat\"\n  }'\n\
          ```"
  /token:
    get:
      operationId: get_token
      tags:
      - Token
      summary: GET /token
      x-source: https://askmiles.ai/docs/getting-started/oauth-app.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://mcp.askmiles.ai/token  -d grant_type=authorization_code  -d client_id=CLIENT_ID  -d code=CODE  -d redirect_uri=https://example.com/oauth/callback  -d
          code_verifier=VERIFIER

          ```'
  /v1/chat/completions:
    post:
      operationId: post_v1_chat_completions
      tags:
      - Chat
      summary: Chat API overview
      description: An OpenAI-compatible endpoint that returns the answer Miles would give on the site.
      x-source: https://askmiles.ai/docs/chat-api/overview
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/health:
    get:
      operationId: get_v1_health
      tags:
      - Health
      summary: Chat API overview
      description: Answers whether something can serve a completion, not whether the site is up.
      x-source: https://askmiles.ai/docs/chat-api/overview
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/models:
    get:
      operationId: get_v1_models
      tags:
      - Models
      summary: Chat API overview
      description: Returns the only model (miles) and nothing else.
      x-source: https://askmiles.ai/docs/chat-api/overview
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/public/benefits-search:
    get:
      operationId: get_v1_public_benefits_search
      tags:
      - Public
      summary: 'Free-text match against benefit names: lounge programs, credits, protections.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicBenefitsSearchResponse'
      x-evidence:
        kind: documentation
  /v1/public/credit-cards:
    get:
      operationId: get_v1_public_credit_cards
      tags:
      - Public
      summary: Every open card, alphabetical by name.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicCreditCardsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_public_credit_cards
      tags:
      - Public
      summary: POST /v1/public/credit-cards
      x-source: https://askmiles.ai/developers?utm_source=llms&utm_medium=assistant
      parameters:
      - name: issuer
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1PublicCreditCardsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1PublicCreditCardsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl "https://api.askmiles.ai/v1/public/credit-cards?issuer=Chase&limit=5" Copy Base URL https://api.askmiles.ai/v1 Authentication
          None. No key, no signup, no header required. Rate limit None published today; nothing is enforced in the worker. That could change without
          notice; don’t build against a ceiling that isn’t documented here. Freshness Cached per data center and per isolate for 5 minutes. '
  /v1/public/credit-cards/chase-sapphire-preferred-credit-card:
    get:
      operationId: get_v1_public_credit_cards_chase_sapphire_preferred_credit_card
      tags:
      - Public
      summary: The id is the same URL-safe slug the list endpoint returns, not the card's display name.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicCreditCardsChaseSapphirePreferredCreditCardRespon'
      x-evidence:
        kind: documentation
  /v1/public/credit-cards/search:
    get:
      operationId: get_v1_public_credit_cards_search
      tags:
      - Public
      summary: Same card rows as the list endpoint, filtered by a JSON body instead of query params.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicCreditCardsSearchResponse'
      x-evidence:
        kind: documentation
  /v1/public/exports/credit_cards:
    get:
      operationId: get_v1_public_exports_credit_cards
      tags:
      - Public
      summary: 'credit_cards, transfer_partners, or valuations. Unlike every other endpoint here, the response is NOT unwrapped: it''s the raw
        R2 file, envelope included.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicExportsCreditCardsResponse'
      x-evidence:
        kind: documentation
  /v1/public/exports/status:
    get:
      operationId: get_v1_public_exports_status
      tags:
      - Public
      summary: Size and last-modified time for each full-dataset export.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicExportsStatusResponse'
      x-evidence:
        kind: documentation
  /v1/public/transfer-partners:
    get:
      operationId: get_v1_public_transfer_partners
      tags:
      - Public
      summary: 'Every bank-to-loyalty-program transfer route: which ones exist and which are live.'
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicTransferPartnersResponse'
      x-evidence:
        kind: documentation
  /v1/public/transfer-partners/from/Chase%20Ultimate%20Rewards:
    get:
      operationId: get_v1_public_transfer_partners_from_Chase_20Ultimate_20Rewards
      tags:
      - Public
      summary: Every destination program reachable from one source.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicTransferPartnersFromChase20Ultimate20RewardsRespo'
      x-evidence:
        kind: documentation
  /v1/public/transfer-partners/to/United%20MileagePlus:
    get:
      operationId: get_v1_public_transfer_partners_to_United_20MileagePlus
      tags:
      - Public
      summary: Every source program that can transfer into one destination.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicTransferPartnersToUnited20MileageplusResponse'
      x-evidence:
        kind: documentation
  /v1/public/valuations:
    get:
      operationId: get_v1_public_valuations
      tags:
      - Public
      summary: Current cents-per-point value for every tracked currency.
      x-source: https://askmiles.ai/docs/catalog/endpoints
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1PublicValuationsResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostWellKnownOauthAuthorizationServerRequest:
      type: object
      properties:
        client_name:
          type: string
        redirect_uris:
          type: array
          items:
            type: string
        grant_types:
          type: array
          items:
            type: string
        response_types:
          type: array
          items:
            type: string
        token_endpoint_auth_method:
          type: string
        scope:
          type: string
    GetHealthResponse:
      type: object
      properties:
        status:
          type: string
        data_available:
          type: boolean
        environment:
          type: string
        timestamp:
          type: string
    PostHealthRequest:
      type: object
      properties:
        issuer:
          type: string
        annual_fee_max:
          type: integer
        no_foreign_fee:
          type: boolean
        limit:
          type: integer
    PostHealthResponse:
      type: object
      properties:
        status:
          type: string
        data_available:
          type: boolean
        environment:
          type: string
        timestamp:
          type: string
          format: date-time
    PostMcpRequest:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        method:
          type: string
        params:
          type: object
      required:
      - jsonrpc
      - id
      - method
      - params
    PostMcpResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        result:
          type: object
    PostPublicBenefitsSearchRequest:
      type: object
      properties:
        query:
          type: string
        limit:
          type: integer
      required:
      - query
    PostPublicBenefitsSearchResponse:
      type: object
      properties:
        id:
          type: string
        card_name:
          type: string
        display_name:
          type: string
        issuer:
          type: string
        annual_fee:
          type: number
        matched_benefits:
          type: array
    GetPublicCreditCardsResponse:
      type: object
      properties:
        id:
          type: string
        card_name:
          type: string
        display_name:
          type: string
        issuer:
          type: string
        card_type:
          type: string
        network:
          type: string
        card_network_tier:
          type: string
        annual_fee:
          type: number
        foreign_transaction_fee:
          type: number
        rewards_currency:
          type: string
        welcome_offer_available:
          type: boolean
        has_statement_credits:
          type: boolean
        credit_types:
          type: array
        lounge_networks:
          type: array
        protections:
          type: array
        has_elite_status_benefits:
          type: boolean
        has_free_night_certificate:
          type: boolean
        family:
          type: object
    PostPublicCreditCardsSearchRequest:
      type: object
      properties:
        issuer:
          type: string
        annual_fee_max:
          type: number
        no_foreign_fee:
          type: boolean
        limit:
          type: integer
    PostPublicCreditCardsSearchResponse:
      type: object
      properties:
        id:
          type: string
        '...':
          type: string
    GetPublicCreditCardsCardidResponse:
      type: object
      properties:
        id:
          type: string
        '...':
          type: string
    GetPublicExportsCreditCardsResponse:
      type: object
      properties:
        version:
          type: string
        checksum:
          type: string
        count:
          type: integer
        data:
          type: array
    GetPublicExportsStatusResponse:
      type: object
      properties:
        datasets:
          type: object
        last_sync:
          type: string
    GetPublicTransferPartnersResponse:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        has_transfer_bonus:
          type: boolean
    GetPublicTransferPartnersFromSourceprogramResponse:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        deactivated_date:
          type: string
    GetPublicTransferPartnersToDestprogramResponse:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        has_transfer_bonus:
          type: boolean
    GetPublicValuationsResponse:
      type: object
      properties:
        version:
          type: string
        unit:
          type: string
        valuations:
          type: object
        updated_at:
          type: string
        rrv_last_sync:
          type: string
        created_at:
          type: string
    PostRegisterRequest:
      type: object
      properties:
        client_name:
          type: string
        redirect_uris:
          type: array
          items:
            type: string
        grant_types:
          type: array
          items:
            type: string
        response_types:
          type: array
          items:
            type: string
        token_endpoint_auth_method:
          type: string
        scope:
          type: string
    GetV1PublicBenefitsSearchResponse:
      type: object
      properties:
        id:
          type: string
        card_name:
          type: string
        display_name:
          type: string
        issuer:
          type: string
        annual_fee:
          type: number
        matched_benefits:
          type: array
    GetV1PublicCreditCardsResponse:
      type: object
      properties:
        id:
          type: string
        card_name:
          type: string
        display_name:
          type: string
        issuer:
          type: string
        card_type:
          type: string
        network:
          type: string
        card_network_tier:
          type: string
        annual_fee:
          type: number
        foreign_transaction_fee:
          type: number
        rewards_currency:
          type: string
        welcome_offer_available:
          type: boolean
        has_statement_credits:
          type: boolean
        credit_types:
          type: array
        lounge_networks:
          type: array
        protections:
          type: array
        has_elite_status_benefits:
          type: boolean
        has_free_night_certificate:
          type: boolean
        family:
          type: object
    PostV1PublicCreditCardsRequest:
      type: object
      properties:
        model:
          type: string
        messages:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
              content:
                type: string
    PostV1PublicCreditCardsResponse:
      type: object
      properties:
        role:
          type: string
        content:
          type: string
    GetV1PublicCreditCardsChaseSapphirePreferredCreditCardRespon:
      type: object
      properties:
        id:
          type: string
        '...':
          type: string
    GetV1PublicCreditCardsSearchResponse:
      type: object
      properties:
        id:
          type: string
        '...':
          type: string
    GetV1PublicExportsCreditCardsResponse:
      type: object
      properties:
        version:
          type: string
        checksum:
          type: string
        count:
          type: number
        data:
          type: array
    GetV1PublicExportsStatusResponse:
      type: object
      properties:
        datasets:
          type: object
        last_sync:
          type: string
    GetV1PublicTransferPartnersResponse:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        has_transfer_bonus:
          type: boolean
    GetV1PublicTransferPartnersFromChase20Ultimate20RewardsRespo:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        deactivated_date:
          type: string
    GetV1PublicTransferPartnersToUnited20MileageplusResponse:
      type: object
      properties:
        source_program:
          type: string
        dest_program:
          type: string
        is_active:
          type: boolean
        has_transfer_bonus:
          type: boolean
    GetV1PublicValuationsResponse:
      type: object
      properties:
        version:
          type: string
        unit:
          type: string
        valuations:
          type: object
        updated_at:
          type: string
        rrv_last_sync:
          type: string
        created_at:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: API
- name: Chat
- name: Health
- name: Mcp
- name: Models
- name: Public
- name: Register
- name: Token