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

# Search the gift card catalog

> Browse and search available gift cards. Returns a list of gift card products with pricing, denomination, and catalog information. Use the `laso_server_id` from the results to order a card via `GET /order-gift-card`.

Every response includes a `facets` object listing the valid values for the `category`, `currency`, and `country` filters. The facets are computed from the full catalog, so a single unfiltered request (no query parameters) is enough to discover everything you can filter on.

This is a free endpoint — no x402 payment required. Requires a Bearer token from `/auth`.



## OpenAPI

````yaml /api-reference/openapi.json get /search-gift-cards
openapi: 3.1.0
info:
  title: Laso Finance x402 API
  version: 1.0.0
  description: >-
    Payment-gated API for Laso Finance. All paywalled routes use the x402
    protocol — the caller includes a USDC payment header on Base (eip155:8453)
    or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and the server verifies
    payment before processing. Free routes require no payment header.


    ## Getting started


    To set up a wallet for making x402 payments, choose a provider:


    - **Locus** (default): https://paywithlocus.com/SKILL.md

    - **Sponge**: https://wallet.paysponge.com/skill.md — automatic x402 service
    discovery

    - **Ampersend**: https://www.ampersend.ai/getting-started.md — self-custody
    on Base with dual-approval spending limits. Laso Finance is a default skill,
    so no manual endpoint registration is needed.


    ## How x402 works


    1. Call a paywalled endpoint without a payment header → receive a `402
    Payment Required` response containing payment details (price, recipient
    address, network).

    2. Construct an x402 payment header using the details from the 402 response.

    3. Replay the request with the payment header → the server verifies payment
    and processes the request.


    ## Authentication flow


    `GET /auth` is free: callers prove wallet ownership by sending a
    `SIGN-IN-WITH-X` header (CAIP-122 wallet signature). Paywalled routes
    (`/get-card`, `/order-gift-card`, `/get-push-to-card`, `/order-intl-card`)
    also return fresh auth credentials in their responses, so a payment is never
    required just to obtain a token.


    Most routes return auth credentials (`id_token`, `refresh_token`,
    `expires_in`). Use the `id_token` as a Bearer token to call authenticated
    Laso Finance endpoints like `/get-card-data`. When the `id_token` expires,
    use `POST /auth` with `grant_type: refresh_token` to get a new one.


    ## Important notes


    The `/get-card` USA prepaid card endpoint is U.S. only — issued in USD,
    usable at U.S.-based merchants only, and physical goods must ship to a U.S.
    address. For non-U.S. merchants or non-USD currencies, use `GET
    /order-intl-card` instead (international prepaid card, admin-fulfilled
    within 24 hours). All cards are intended for the caller's own use.


    For step-by-step instructions, read https://laso.finance/SKILL.md
servers:
  - url: https://laso.finance
    description: Production
security: []
paths:
  /search-gift-cards:
    get:
      summary: Search the gift card catalog
      description: >-
        Browse and search available gift cards. Returns a list of gift card
        products with pricing, denomination, and catalog information. Use the
        `laso_server_id` from the results to order a card via `GET
        /order-gift-card`.


        Every response includes a `facets` object listing the valid values for
        the `category`, `currency`, and `country` filters. The facets are
        computed from the full catalog, so a single unfiltered request (no query
        parameters) is enough to discover everything you can filter on.


        This is a free endpoint — no x402 payment required. Requires a Bearer
        token from `/auth`.
      operationId: searchGiftCards
      parameters:
        - name: q
          in: query
          required: false
          description: Search query to filter gift cards by name (e.g. "Amazon", "Uber")
          schema:
            type: string
        - name: country
          in: query
          required: false
          description: >-
            ISO 3166-1 alpha-2 country code to filter by (e.g. "US", "GB").
            Returns gift cards available in that country, including borderless
            products that have no country restriction.
          schema:
            type: string
        - name: currency
          in: query
          required: false
          description: Currency code to filter by (e.g. "USD", "EUR")
          schema:
            type: string
        - name: category
          in: query
          required: false
          description: >-
            Category to filter by (e.g. "ecommerce", "travel", "gaming"). See
            the `facets.categories` array in any response for the full list of
            valid values.
          schema:
            type: string
      responses:
        '200':
          description: List of matching gift card products
          content:
            application/json:
              schema:
                type: object
                properties:
                  gift_cards:
                    type: array
                    items:
                      $ref: '#/components/schemas/GiftCardProduct'
                  count:
                    type: integer
                    description: Number of results returned
                  filters:
                    type: object
                    properties:
                      query:
                        type:
                          - string
                          - 'null'
                      country:
                        type:
                          - string
                          - 'null'
                      currency:
                        type:
                          - string
                          - 'null'
                      category:
                        type:
                          - string
                          - 'null'
                  facets:
                    type: object
                    description: >-
                      Valid filter values, computed from the full catalog. Use
                      these to discover what you can pass to the `category`,
                      `currency`, and `country` query parameters.
                    properties:
                      categories:
                        type: array
                        items:
                          type: string
                        description: All valid `category` filter values.
                      currencies:
                        type: array
                        items:
                          type: string
                        description: All valid `currency` filter values.
                      countries:
                        type: array
                        items:
                          type: string
                        description: >-
                          All valid `country` filter values (ISO 3166-1 alpha-2
                          codes).
        '401':
          description: Missing or invalid Bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Missing or invalid Authorization header
      security:
        - BearerAuth: []
components:
  schemas:
    GiftCardProduct:
      type: object
      description: A gift card product from the catalog.
      properties:
        laso_server_id:
          type: string
          description: Product identifier to use when ordering via GET /order-gift-card
        name:
          type: string
          description: Gift card brand name
        description:
          type: string
        category:
          type:
            - string
            - 'null'
          description: Catalog category for the gift card (e.g. "ecommerce", "travel").
        country:
          type:
            - string
            - 'null'
          example: FR
          description: >-
            ISO 3166-1 alpha-2 country the gift card belongs to. Null for
            borderless products available in more than one country.
        currency:
          type:
            - string
            - 'null'
          example: USD
          description: Currency code for the gift card
        min:
          type: number
          description: Minimum order amount
        max:
          type: number
          description: Maximum order amount
        increment:
          type: string
          description: Minimum order increment
        denominations:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            If set, only these exact amounts can be ordered. Null for
            range-based products.
        product_image_url:
          type: string
          description: URL of the gift card image
        catalog_info:
          type:
            - object
            - 'null'
          properties:
            brand_description:
              type:
                - string
                - 'null'
            redemption_instructions:
              type:
                - string
                - 'null'
    Error:
      type: object
      properties:
        error:
          type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: ID token from `/auth` or `/get-card`

````