Rarible NFT Collections API

The NFT Collections API from Rarible — 6 operation(s) for nft collections.

Operations 6

GET /v0.1/collections/{collection} Get NFT Collection by Id #
GET /v0.1/collections/{collection}/generateTokenId Generate TokenId #
DELETE /v0.1/collections/{collection}/refreshMeta Reset NFT metadata #
DELETE /v0.1/collections/{collection}/resetMeta Reset Collection metadata #
GET /v0.1/collections/byOwner Get NFT Collections owned by user #
GET /v0.1/collections/all Get all NFT Collections #

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/rarible-nft-collections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

rarible-nft-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAPI definition Charts NFT Collections API
  version: v0.1
  description: '# Exciting News


    Hey there, amazing developers! 👋


    We''ve got some fantastic news to share that will make your experience with our product even better. We''re thrilled to announce the implementation of API-Keys, which brings a new level of control and convenience to your development process. So, let''s dive right into the details! ✨


    ## API-Keys for Enhanced Functionality 🔑


    Starting now, we have introduced API-Keys to streamline your interactions with our methods. You might have noticed a slight change while making requests – now, all you need to do is include the parameter `X-API-KEY` in the Header of your request. Simple as that!


    ## Get Your API-Key in a Snap! ⚡️


    Securing your API-Key is a breeze. We''ve made the process super user-friendly to ensure you can get started quickly. Just head over to our website and fill out a simple form. Once you''ve done that, your shiny new API-Key will be delivered straight to your email inbox. Easy peasy! 📧


    [Get Your API-Key Here](https://api.rarible.org/registration)

    [Configure SDK with API-key](https://github.com/rarible/sdk#api-querying)


    ## Unlock the Power of the Rarible Protocol 🔓


    As passionate developers, we know you''re always hungry for knowledge and eager to explore new frontiers. That''s why we invite you to discover the incredible world of the Rarible Protocol. By visiting our dedicated protocol page, you''ll gain access to a treasure trove of useful information, tips, and insights that will elevate your development skills to new heights. 🚀


    [Explore the Rarible Protocol](https://rarible.org)


    So, buckle up and get ready for an enhanced development journey with our API-Keys. We''re excited to see what you''ll create using our revamped system! 💪🚀


    Stay curious, keep innovating, and happy coding! ✨


    [P.S. Join our Discord Server to stay up to date and ask questions](https://discord.gg/rarifoundation)

    '
servers:
- url: https://{environment}.rarible.org
  description: Production (Mainnet)
  variables:
    environment:
      enum:
      - api
      - testnet-api
      default: api
security:
- ApiKeyAuth: []
tags:
- name: NFT Collections
  x-controller: CollectionController
paths:
  /v0.1/collections/{collection}:
    get:
      tags:
      - NFT Collections
      summary: Get NFT Collection by Id
      description: Returns NFT Collection by Id
      operationId: getCollectionById
      parameters:
      - name: collection
        in: path
        required: true
        description: Address of the collection
        schema:
          $ref: '#/components/schemas/ContractAddress'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '404':
          $ref: '#/components/responses/EntityNotFound'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/{collection}/generateTokenId:
    get:
      tags:
      - NFT Collections
      summary: Generate TokenId
      description: Returns next available TokenId for specified minter
      operationId: generateTokenId
      parameters:
      - name: collection
        in: path
        description: Address of the NFT collection
        required: true
        schema:
          $ref: '#/components/schemas/ContractAddress'
      - name: minter
        in: query
        description: Minter address
        required: true
        schema:
          $ref: '#/components/schemas/UnionAddress'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionTokenId'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/{collection}/refreshMeta:
    delete:
      tags:
      - NFT Collections
      summary: Reset NFT metadata
      description: Reloads metadata for all NFTs in the Collection (see 'Reset NFT metadata' API)
      operationId: refreshCollectionItemsMeta
      parameters:
      - name: collection
        in: path
        required: true
        description: Address of the collection
        schema:
          $ref: '#/components/schemas/CollectionId'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/{collection}/resetMeta:
    delete:
      tags:
      - NFT Collections
      summary: Reset Collection metadata
      description: Reloads metadata for Collection (NOT for collection's NFTs)
      operationId: resetCollectionMeta
      parameters:
      - name: collection
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/CollectionId'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/byOwner:
    get:
      tags:
      - NFT Collections
      summary: Get NFT Collections owned by user
      description: Returns list of NFT Collections belong to specified user
      operationId: getCollectionsByOwner
      parameters:
      - name: blockchains
        description: Since user's address can be present in several blockchains (for example, ETHEREUM and POLYGON),  you can use this filter to get Orders only for specific blockchains.  Or keep it empty to get Order from all blockchains
        in: query
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/Blockchain'
      - name: owner
        in: query
        description: Owner of searching collections
        required: true
        schema:
          $ref: '#/components/schemas/UnionAddress'
      - name: continuation
        in: query
        required: false
        description: Continuation token from the previous response
        schema:
          type: string
      - name: size
        in: query
        required: false
        description: The number of items to return
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collections'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/all:
    get:
      tags:
      - NFT Collections
      summary: Get all NFT Collections
      description: Returns all NFT Collections in accordance with specified filters
      operationId: getAllCollections
      parameters:
      - name: blockchains
        in: query
        required: false
        description: Names of the blockchain networks. If no one specified, data from all blockchains will be returned
        schema:
          type: array
          items:
            $ref: '#/components/schemas/Blockchain'
      - name: continuation
        in: query
        required: false
        description: Continuation token from the previous response
        schema:
          type: string
      - name: size
        in: query
        required: false
        description: The number of items to return
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collections'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    EthOrderBasicSeaportDataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_BASIC_SEAPORT_DATA_V1
      required:
      - '@type'
    EthErc20AssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC20
        contract:
          $ref: '#/components/schemas/ContractAddress'
      required:
      - '@type'
      - contract
    EthOrderDataLegacy:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V1
        fee:
          $ref: '#/components/schemas/BigInteger'
      required:
      - fee
      - '@type'
    Collection:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/CollectionId'
        parent:
          $ref: '#/components/schemas/CollectionId'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        structure:
          type: string
          enum:
          - REGULAR
          - COMPOSITE
          - PART
          description: 'Collection structure can be described as:

            - REGULAR: a standalone collection that has a corresponding contract address on the blockchain.

            - COMPOSITE: an artificial collection that is composed of one or more regular collections or items.

            - PART: an artificial collection that is a part of a larger regular collection, thus has a parent collection.

            '
        type:
          type: string
          enum:
          - CRYPTO_PUNKS
          - ERC721
          - ERC1155
          - SOLANA
          - TOKEN_GROUP_2022
          - APTOS
          - STELLAR
        status:
          type: string
          enum:
          - PENDING
          - ERROR
          - CONFIRMED
        name:
          type: string
        symbol:
          type: string
        owner:
          $ref: '#/components/schemas/UnionAddress'
        features:
          type: array
          default: []
          items:
            type: string
            enum:
            - APPROVE_FOR_ALL
            - SET_URI_PREFIX
            - BURN
            - MINT_WITH_ADDRESS
            - SECONDARY_SALE_FEES
            - MINT_AND_TRANSFER
            - PAUSABLE
            - NOT_FOR_SALE
        minters:
          type: array
          description: List of addresses that can mint items in this collection
          items:
            $ref: '#/components/schemas/UnionAddress'
        meta:
          $ref: '#/components/schemas/CollectionMeta'
        bestBidOrder:
          $ref: '#/components/schemas/Order'
        bestSellOrder:
          $ref: '#/components/schemas/Order'
        bestBidOrdersByCurrency:
          type: array
          description: Contains best bid order for each currency if exists
          items:
            $ref: '#/components/schemas/Order'
        self:
          type: boolean
        scam:
          deprecated: true
          description: Deprecated, use spamScore instead
          type: boolean
          default: false
        spamScore:
          description: Spam score of the collection, 0 - not spam, 100 - spam
          type: integer
          format: int32
        hasTraits:
          type: boolean
          default: true
        shared:
          type: boolean
          default: false
        extra:
          type: object
          description: Blockchain-specific information about this NFT collection particular to that blockchain's data model
          additionalProperties:
            type: string
        lastUpdatedAt:
          type: string
          format: date-time
          description: Timestamp of last collection update in Union
        version:
          type: integer
          format: int64
      required:
      - id
      - blockchain
      - name
      - type
      - features
    EthCollectionTokenId:
      required:
      - signature
      - '@type'
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETHEREUM
        signature:
          $ref: '#/components/schemas/EthCollectionTokenIdSignature'
    EthSeaportOrderType:
      type: string
      enum:
      - FULL_OPEN
      - PARTIAL_OPEN
      - FULL_RESTRICTED
      - PARTIAL_RESTRICTED
      - CONTRACT
    ContractAddress:
      type: string
      description: Blockchain contract address in Union format `ETHEREUM:${token}`
      example: ETHEREUM:0xd07dc4262bcdbf85190c01c996b4c06a461d2430
    EthErc721LazyAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC721_Lazy
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        uri:
          type: string
        creators:
          type: array
          description: Creators of the target item
          default: []
          items:
            $ref: '#/components/schemas/Creator'
        royalties:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Royalty'
        signatures:
          type: array
          default: []
          items:
            type: string
      required:
      - '@type'
      - contract
      - tokenId
      - uri
      - creators
      - royalties
      - signatures
    EthOrderDataRaribleV2DataV3Sell:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V2_DATA_V3_SELL
        payout:
          $ref: '#/components/schemas/Payout'
        originFeeFirst:
          $ref: '#/components/schemas/Payout'
        originFeeSecond:
          $ref: '#/components/schemas/Payout'
        maxFeesBasePoint:
          type: integer
        marketplaceMarker:
          type: string
      required:
      - '@type'
      - maxFeesBasePoint
    SolanaSolAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_SOL
      required:
      - '@type'
    MetaContent:
      type: object
      properties:
        fileName:
          type: string
        url:
          type: string
        representation:
          type: string
          enum:
          - PREVIEW
          - BIG
          - INITIAL
          - ORIGINAL
          - PORTRAIT
        mimeType:
          type: string
          example: image/png
        size:
          type: integer
          format: int64
        available:
          type: boolean
      required:
      - url
      - representation
      oneOf:
      - $ref: '#/components/schemas/ImageContent'
      - $ref: '#/components/schemas/VideoContent'
      - $ref: '#/components/schemas/AudioContent'
      - $ref: '#/components/schemas/Model3dContent'
      - $ref: '#/components/schemas/HtmlContent'
    ImageContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - IMAGE
        width:
          type: integer
        height:
          type: integer
    Blockchain:
      type: string
      enum:
      - APTOS
      - ETHEREUM
      - POLYGON
      - SOLANA
      - ARBITRUM
      - CHILIZ
      - LIGHTLINK
      - ZKSYNC
      - BASE
      - RARI
      - ZKLINK
      - QUAI
      - ECLIPSE
      - ELECTRONEUM
      - SAAKURU
      - OASIS
      - MATCH
      - MOONBEAM
      - ETHERLINK
      - ZKCANDY
      - BERACHAIN
      - ABSTRACT
      - SHAPE
      - TELOS
      - HEDERAEVM
      - VICTION
      - SETTLUS
      - GOAT
      - HYPEREVM
      - MEGAETH
      - MEGAETHTESTNET
      - MEGAETHTESTNETV2
      - BASECAMP
      - CAMP
      - SOMNIA
      - ARENAZ
      - INJECTIVE
      - INJECTIVETESTNET
      - APECHAIN
      - BLOCKCHAINKEK
      - STELLAR
      - ZILLIQA
      - FRAXTAL
      - XLAYER
      - MONAD
      example: ETHEREUM
    HtmlContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - HTML
    Creator:
      type: object
      properties:
        account:
          $ref: '#/components/schemas/UnionAddress'
        value:
          type: integer
      required:
      - account
      - value
    AudioContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - AUDIO
    Asset:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AssetType'
        value:
          $ref: '#/components/schemas/BigDecimal'
      required:
      - type
      - value
    CollectionMeta:
      required:
      - name
      - content
      type: object
      properties:
        name:
          type: string
          description: Name of the collection
        description:
          type: string
          description: Description of the collection
        createdAt:
          type: string
          format: date-time
        tags:
          type: array
          items:
            type: string
        genres:
          type: array
          items:
            type: string
        language:
          description: Language in RFC 1176 format
          type: string
        rights:
          type: string
        rightsUri:
          type: string
        externalUri:
          description: URI to external page related to the collection
          type: string
        originalMetaUri:
          description: URI to the original meta JSON
          type: string
        content:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/MetaContent'
        externalLink:
          type: string
          description: External link to the original website for the collection
        sellerFeeBasisPoints:
          type: integer
          format: int32
          description: Indicates a 1% seller fee
        feeRecipient:
          $ref: '#/components/schemas/UnionAddress'
    SolanaFtAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_FT
        address:
          $ref: '#/components/schemas/ContractAddress'
      required:
      - '@type'
      - address
    EthOrderDataRaribleV2DataV3Buy:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V2_DATA_V3_BUY
        payout:
          $ref: '#/components/schemas/Payout'
        originFeeFirst:
          $ref: '#/components/schemas/Payout'
        originFeeSecond:
          $ref: '#/components/schemas/Payout'
        marketplaceMarker:
          type: string
      required:
      - '@type'
    BigDecimal:
      type: string
      example: 123456.789
    AssetType:
      type: object
      oneOf:
      - $ref: '#/components/schemas/NativeCurrencyAssetType'
      - $ref: '#/components/schemas/TokenCurrencyAssetType'
      - $ref: '#/components/schemas/NftAssetType'
      - $ref: '#/components/schemas/NftOfCollectionAssetType'
      - $ref: '#/components/schemas/EthEthereumAssetType'
      - $ref: '#/components/schemas/EthErc20AssetType'
      - $ref: '#/components/schemas/EthErc721AssetType'
      - $ref: '#/components/schemas/EthErc721LazyAssetType'
      - $ref: '#/components/schemas/EthErc1155AssetType'
      - $ref: '#/components/schemas/EthErc1155LazyAssetType'
      - $ref: '#/components/schemas/EthCryptoPunksAssetType'
      - $ref: '#/components/schemas/EthGenerativeArtAssetType'
      - $ref: '#/components/schemas/EthCollectionAssetType'
      - $ref: '#/components/schemas/SolanaNftAssetType'
      - $ref: '#/components/schemas/SolanaFtAssetType'
      - $ref: '#/components/schemas/SolanaSolAssetType'
    OrderStatus:
      type: string
      enum:
      - ACTIVE
      - FILLED
      - INACTIVE
      - CANCELLED
    ItemId:
      type: string
      description: Item Id, has format `ETHEREUM:${token}:${tokenId}`
      example: ETHEREUM:0xb66a603f4cfe17e3d27b87a8bfcad319856518b8:32292934596187112148346015918544186536963932779440027682601542850818403729410
    EthCollectionTokenIdSignature:
      required:
      - v
      - r
      - s
      type: object
      properties:
        v:
          type: integer
        r:
          type: string
        s:
          type: string
    SolanaAuctionHouseDataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_AUCTION_HOUSE_V1
        fee:
          type: integer
        requiresSignOff:
          type: boolean
        auctionHouse:
          $ref: '#/components/schemas/ContractAddress'
      required:
      - '@type'
    VideoContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - VIDEO
        width:
          type: integer
        height:
          type: integer
    EthSeaportOffer:
      type: object
      properties:
        itemType:
          $ref: '#/components/schemas/EthSeaportItemType'
        token:
          $ref: '#/components/schemas/UnionAddress'
        identifierOrCriteria:
          $ref: '#/components/schemas/BigInteger'
        startAmount:
          $ref: '#/components/schemas/BigInteger'
        endAmount:
          $ref: '#/components/schemas/BigInteger'
      required:
      - itemType
      - token
      - identifierOrCriteria
      - startAmount
      - endAmount
    Royalty:
      type: object
      properties:
        account:
          $ref: '#/components/schemas/UnionAddress'
        value:
          type: integer
      required:
      - account
      - value
    UnionApiErrorEntityNotFound:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          enum:
          - NOT_FOUND
          default: NOT_FOUND
        message:
          type: string
          description: Error message
    TokenCurrencyAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - CURRENCY_TOKEN
        contract:
          $ref: '#/components/schemas/ContractAddress'
      required:
      - '@type'
      - contract
    CollectionId:
      type: string
      description: Collection id
      example: ETHEREUM:0xb66a603f4cfe17e3d27b87a8bfcad319856518b8
    RawOrderData:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - RAW
        data:
          $ref: '#/components/schemas/RawJson'
      required:
      - '@type'
    EthOrderSeaportDataV1:
      type: object
      properties:
        protocol:
          $ref: '#/components/schemas/UnionAddress'
        orderType:
          $ref: '#/components/schemas/EthSeaportOrderType'
        offer:
          type: array
          items:
            $ref: '#/components/schemas/EthSeaportOffer'
        consideration:
          type: array
          items:
            $ref: '#/components/schemas/EthSeaportConsideration'
        zone:
          $ref: '#/components/schemas/UnionAddress'
        zoneHash:
          type: string
        conduitKey:
          type: string
        counter:
          deprecated: true
          type: integer
          format: int64
        nonce:
          $ref: '#/components/schemas/BigInteger'
      required:
      - protocol
      - orderType
      - offer
      - consideration
      - zone
      - zoneHash
      - conduitKey
      oneOf:
      - $ref: '#/components/schemas/EthOrderBasicSeaportDataV1'
    EthOrderDataRaribleV2DataV2:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V2_2
        payouts:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
        originFees:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
        isMakeFill:
          type: boolean
          description: If true, the 'fill' part of the order applies to the 'make' side, otherwise to the 'take' side
      required:
      - '@type'
      - payouts
      - originFees
      - isMakeFill
    UnionApiErrorBadRequest:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          enum:
          - BAD_REQUEST
          - VALIDATION
          default: BAD_REQUEST
        message:
          type: string
          description: Error message
    UnionApiErrorServerError:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          enum:
          - UNKNOWN
          default: UNKNOWN
        message:
          type: string
          description: Error message
    NftOfCollectionAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - NFT_OF_COLLECTION
        collectionId:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - collectionId
    RawJson:
      type: object
    Platform:
      type: string
      enum:
      - RARIBLE
      - OPEN_SEA
      - CRYPTO_PUNKS
      - HEN
      - OBJKT
      - VERSUM
      - TEIA
      - OTHER
      - FXHASH
    BigInteger:
      type: string
      example: 123456
    EthOrderDataRaribleV2DataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V2
        payouts:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
        originFees:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
      required:
      - '@type'
      - payouts
      - originFees
    EthErc1155AssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC1155
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
      required:
      - '@type'
      - contract
      - tokenId
    Payout:
      type: object
      properties:
        account:
          $ref: '#/components/schemas/UnionAddress'
        value:
          type: integer
      required:
      - account
      - value
    CollectionTokenId:
      required:
      - tokenId
      type: object
      properties:
        tokenId:
          $ref: '#/components/schemas/BigInteger'
      oneOf:
      - $ref: '#/components/schemas/DefaultCollectionTokenId'
      - $ref: '#/components/schemas/EthCollectionTokenId'
    Model3dContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - MODEL_3D
    EthCryptoPunksAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - CRYPTO_PUNKS
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          type: integer
      required:
      - '@type'
      - contract
      - tokenId
    SolanaNftAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_NFT
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        itemId:
          $ref: '#/components/schemas/ItemId'
      required:
      - '@type'
      - itemId
    EthErc721AssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC721
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
      required:
      - '@type'
      - contract
      - tokenId
    EthGenerativeArtAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - GEN_ART
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - contract
    EthErc1155LazyAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC1155_Lazy
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        uri:
          type: string
        supply:
          $ref: '#/components/schemas/BigInteger'
        creators:
          type: array
          description: Creators of the target item
          default: []
          items:
            $ref: '#/components/schemas/Creator'
        royalties:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Royalty'
        signatures:
          type: array
          default: []
          items:
            type: string
      required:
      - '@type'
      - contract
      - tokenId
      - uri
      - creators
      - supply
      - royalties
      - signatures
    EthCollectionAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - COLLECTION
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - contract
    NativeCurrencyAssetType:
      type: object
      properties:
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        contract:
          $ref: '#/components/schemas/ContractAddress'
        '@type':
          type: string
          enum:
          - CURRENCY_NATIVE
      required:
      - '@type'
      - blockchain
    EthOrderCryptoPunksData:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_CRYPTO_PUNKS
        stub:
          type: string
          default: STUB
      required:
      - '@type'
    Collections:
      type: object
      properties:
        total:
          deprecated: true
          type: integer
          format: int64
          description: Number of ownerships were found by request
        continuation:
          type: string
          description: Continuation token to paginate collections search result
        collections:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Collection'
      required:
      - collections
    EthRaribleV2OrderData:
      oneOf:
      - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV1'
      - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV2'
      - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3'
      - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3Sell'
      - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3Buy'
    EthOrderOpenSeaV1DataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_OPEN_SEA_V1
        exchange:
          $ref: '#/components/schemas/UnionAddress'
        makerRelayerFee:
          $ref: '#/components/schemas/BigInteger'
        takerRelayerFee:
          $ref: '#/components/schemas/BigInteger'
        makerProtocolFee:
          $ref: '#/components/schemas/BigInteger'
        takerProtocolFee:
          $ref: '#/components/schemas/BigInteger'
        feeRecipient:
          $ref: '#/components/schemas/UnionAddress'
        feeMethod:
          type: string
          enum:
          - PROTOCOL_FEE
          - SPLIT_FEE
        side:
          type: string
          enum:
          - BUY
          - SELL
        saleKind:
          type: string
          enum:
          - FIXED_PRICE
          - DUTCH_AUCTION
        howToCall:
          type: string
          enum:
          - CALL
          - DELEGATE_CALL
        callData:
          type: string
        replacementPattern:
          type: string
        staticTarget:
          $ref: '#/components/schemas/UnionAddress'
        staticExtraData:
          type: string
        extra:
          $ref: '#/components/schemas/BigInteger'
      required:
      - '@type'
      - dataType
      - exchange
      - makerRelayerFee
      - takerRelayerFee
      - makerProtocolFee
      - takerProtocolFee
      - feeRecipient
 

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rarible/refs/heads/main/openapi/rarible-nft-collections-api-openapi.yml