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

# List pack contents

> Preview the cards a pack can contain, with their images, tiers and catalog buyback values.

Filter by tier and page through the results. The total counts eligible entries in the catalog. Remaining inventory and future draw results can differ from this preview.

Once a draw resolves, [list the wallet’s buyback offers](https://docs.renaiss.xyz/api-reference/gacha/list-buybacks.md) for its actual payout. See [pack catalog access](https://docs.renaiss.xyz/gacha.md#browse-packs) for builder-only packs.

## Request

Optional builder key

## Response

## Error codes

Match the HTTP status and response text to a row below. For guidance on codes shared across endpoints, see [Error meanings and recovery](https://docs.renaiss.xyz/api-reference/errors.md).

| HTTP | Error code | Text field | Response text and recovery |
| :- | :- | :- | :- |
| `400` | `INVALID_SCHEMA` | `message` | `Unable to load pack content` |
| `400` | `WRONG_REQUEST_PARAMS` | `message` | `Bad request - invalid parameters` |
| `401` | `API_AUTH_INVALID_CREDENTIAL` | `error` | `Invalid authentication credential` The builder key is malformed, unknown, expired or revoked. Check the key. Do not retry with the same key. |
| `403` | `API_AUTH_CREDENTIAL_NOT_ALLOWED` | `error` | `Credential is not allowed by this policy` Omit credentials, or send only an optional builder key in `x-builder-api-key`. |
| `403` | `GACHA_V3_BUILDER_NOT_ACCEPTED_ON_PUBLIC_API` | `error` | `This builder checks out on its own surface, not on the public API` This builder key cannot be used on this API. Do not retry; contact Renaiss. |
| `404` | `CARD_PACK_NOT_FOUND` | `message` | `Pack not found` |
| `408` | `SUBGRAPH_ABORTED` | `message` | `Unable to load pack content` Mainnet can return this for a timed-out pack read. Testnet returns HTTP `502` with `SUBGRAPH_NETWORK_ERROR` for that timeout. |
| `429` | `API_AUTH_RATE_LIMITED` | `error` | `Authentication rate limit exceeded` The builder key hit its rate limit. Wait a little, then retry at a lower rate. |
| `429` | `SUBGRAPH_RATE_LIMITED` | `message` | `Unable to load pack content` |
| `500` | `API_AUTH_ERROR` | `error` | `Internal server error` |
| `500` | `FUNCTION_ERROR` | `error` | `Internal server error` |
| `500` | `FUNCTION_ERROR` | `message` | `Unable to load pack content` |
| `500` | `CARD_PACKS_QUERY_FAILED` `SUBGRAPH_QUERY_FAILED` | `message` | `Unable to load pack content` Read again after a short wait. |
| `500` | Other code | `message` | `Unable to load pack content` |
| `502` | `SUBGRAPH_NETWORK_ERROR` `SUBGRAPH_REQUEST_FAILED` `SUBGRAPH_QUERY_ERROR` | `message` | `Unable to load pack content` Read again after a short wait. |
| `502` | Other code | `message` | `Unable to load pack content` |

On HTTP 429, follow `Retry-After` when present.


## OpenAPI

````yaml api-reference/openapi.json GET /v2/gacha/packs/{slug}/content
openapi: 3.1.1
info:
  version: 1.0.0
  title: Renaiss Builder API v2
  description: >-
    Builder API v2 for gacha, marketplace and redemption with external wallets
    on BNB Smart Chain (chain 56). Any active, approved builder key can prepare
    purchases.


    A collectible is an item a wallet can pull, trade, sell back or redeem, such
    as a card. This API calls every such item a collectible (e.g. cards), in
    paths, fields and descriptions.


    Browse publicly, then prepare and sign actions with the buyer wallet. Gacha
    history and buyback offers require your builder key; purchases and buybacks
    also require a wallet action signature. Private shipping data and redemption
    require a wallet access token, which the API issues from a registered
    partner origin after the wallet signs a sign-in message. Gacha and
    marketplace never use a wallet access token. Keep the builder key on your
    backend.


    The acting wallet is an EOA or a deployed ERC-1271 contract account.
    EIP-7702 delegated accounts, ERC-6492 and ERC-8010 wrapped signatures and
    Renaiss-managed Safes are refused (a Safe only after its signature
    verified). A pull to a contract account that cannot receive ERC-721 tokens
    returns `CONTRACT_WALLET_CANNOT_RECEIVE_NFT`. A failed chain read returns
    `API_AUTH_ERROR` (500). Wallet access tokens and redemption are EOA only.
servers:
  - url: https://api.renaiss.xyz
    description: BNB Smart Chain
  - url: https://dev-api.renaiss.xyz
    description: BNB testnet
security: []
tags:
  - name: Gacha v2
    description: >-
      Direct-EOA pack browsing, purchases, collectible (e.g. card) reveals,
      purchase history and buybacks. Start here; no wallet access token is
      needed.
  - name: Marketplace
    description: >-
      Public collectible (e.g. card) browsing and external-wallet asks, bids,
      purchases and cancellations. Trading requires builder authorization and
      wallet action signatures.
  - name: Users
    description: >-
      What one wallet address has and did: its collectibles (e.g. cards), their
      total market value and its activities. The whole wallet, whichever builder
      it used. Requires your builder key only.
  - name: Redemption
    description: >-
      Shipping eligibility, quotes, redemption preparation, submission and
      tracking. Requires your builder key and a wallet access token for the same
      wallet.
  - name: Wallet access tokens
    description: >-
      Get, refresh and revoke the wallet access tokens that Redeem needs. The
      wallet signs a sign-in message (valid 5 minutes, one use); the API returns
      a wallet access token (15 minutes) and a refresh token (7 days, single
      use). Register exact partner frontend origins with Renaiss before use.
      Gacha and marketplace never use a wallet access token.
paths:
  /v2/gacha/packs/{slug}/content:
    get:
      tags:
        - Gacha v2
      summary: Preview the VRF pack's eligible collectible catalog
      description: >-
        Preview the cards a pack can contain, with their images, tiers and
        catalog buyback values.
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: slug
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          required: false
          name: limit
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            maximum: 10000
            default: 0
          required: false
          name: offset
          in: query
        - schema:
            type: array
            items:
              anyOf:
                - type: string
                  enum:
                    - TOP
                    - S
                    - A
                    - B
                    - C
                    - D
                - type: string
                  enum:
                    - epic
                    - rare
                    - uncommon
                    - common
                    - legendary
                    - thorn
                    - bloom
                    - crown
            description: >-
              One of this pack's `cardPack.tiers[].name` values from `GET
              /v2/gacha/packs/{slug}`. Comma-separate (`?tier=S,A`) or repeat
              for several; omit for every tier. Filters before pagination. A
              name that is not a tier on any pack is a 400; a tier this pack
              lacks returns an empty list.
          required: false
          name: tier
          in: query
        - $ref: '#/components/parameters/OptionalPackBuilderKey'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  collectibles:
                    type: array
                    items:
                      type: object
                      properties:
                        tokenId:
                          type: string
                          pattern: ^\d+$
                          description: >-
                            The catalog collectible's token ID, as a decimal
                            string.
                        name:
                          type: string
                        tier:
                          anyOf:
                            - type: string
                              enum:
                                - TOP
                                - S
                                - A
                                - B
                                - C
                                - D
                            - type: string
                              enum:
                                - epic
                                - rare
                                - uncommon
                                - common
                                - legendary
                                - thorn
                                - bloom
                                - crown
                        buybackBaseValueInUsd:
                          type: string
                          pattern: ^[0-9]+$
                        frontImageUrl:
                          type: string
                        type:
                          type: string
                          enum:
                            - POKEMON
                            - ONE_PIECE
                            - SPORTS
                          description: The collectible's category.
                      required:
                        - tokenId
                        - name
                        - tier
                        - buybackBaseValueInUsd
                        - frontImageUrl
                        - type
                  pagination:
                    type: object
                    properties:
                      total:
                        type: number
                      limit:
                        type: number
                      offset:
                        type: number
                      hasMore:
                        type: boolean
                    required:
                      - total
                      - limit
                      - offset
                      - hasMore
                required:
                  - collectibles
                  - pagination
        '400':
          description: >-
            Bad request - invalid parameters


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - WRONG_REQUEST_PARAMS
                      - INVALID_SCHEMA
                    description: |-
                      Possible codes:
                      - `WRONG_REQUEST_PARAMS`: The request payload is invalid
                      - `INVALID_SCHEMA`: Invalid schema
                  message:
                    type: string
                required:
                  - code
                  - message
        '401':
          description: >-
            The supplied builder key is not accepted.


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  code:
                    type: string
                    enum:
                      - API_AUTH_INVALID_CREDENTIAL
                required:
                  - error
                  - code
              example:
                error: Invalid authentication credential
                code: API_AUTH_INVALID_CREDENTIAL
        '403':
          description: >-
            The supplied credential is not allowed on this public read.


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  code:
                    type: string
                    enum:
                      - API_AUTH_CREDENTIAL_NOT_ALLOWED
                      - GACHA_V3_BUILDER_NOT_ACCEPTED_ON_PUBLIC_API
                required:
                  - error
                  - code
              example:
                error: Credential is not allowed by this policy
                code: API_AUTH_CREDENTIAL_NOT_ALLOWED
        '404':
          description: >-
            Not found


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - CARD_PACK_NOT_FOUND
                    description: |-
                      Possible codes:
                      - `CARD_PACK_NOT_FOUND`: Card pack not found
                  message:
                    type: string
                required:
                  - code
                  - message
        '408':
          description: Mainnet pack-read timeout. Testnet reports this condition as 502.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - SUBGRAPH_ABORTED
                  message:
                    type: string
                required:
                  - code
                  - message
              example:
                code: SUBGRAPH_ABORTED
                message: Unable to load pack content
        '429':
          description: >-
            Too many requests - `SUBGRAPH_RATE_LIMITED` carries a `Retry-After`
            header: wait that many whole seconds, then retry. Too many requests
            with this builder key.


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          headers:
            Retry-After:
              description: Seconds to wait before retrying when this header is present.
              schema:
                type: integer
                minimum: 0
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - SUBGRAPH_RATE_LIMITED
                        description: >-
                          Possible codes:

                          - `SUBGRAPH_RATE_LIMITED`: Too many requests right
                          now. Retry after a short wait.
                      message:
                        type: string
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      error:
                        type: string
                        description: A short sentence about what went wrong.
                      code:
                        type: string
                        enum:
                          - API_AUTH_RATE_LIMITED
                    required:
                      - error
                      - code
        '500':
          description: >-
            A failure on our side. Retry later.


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      error:
                        type: string
                        description: A short sentence about what went wrong.
                      code:
                        type: string
                    required:
                      - error
                      - code
              example:
                code: FUNCTION_ERROR
                message: Unable to load pack content
        '502':
          description: >-
            A failure on our side. Retry later.


            See [error codes and
            recovery](/api-reference/gacha/list-pack-contents#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    examples:
                      - SUBGRAPH_NETWORK_ERROR
                      - SUBGRAPH_REQUEST_FAILED
                      - SUBGRAPH_QUERY_ERROR
                  message:
                    type: string
                required:
                  - code
                  - message
              example:
                message: Unable to load pack content
                code: SUBGRAPH_NETWORK_ERROR
      security: []
components:
  parameters:
    OptionalPackBuilderKey:
      name: x-builder-api-key
      in: header
      required: false
      description: >-
        Leave blank to browse public packs. Supply your builder key to include
        packs available to your builder.
      schema:
        type: string

````

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