/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ interface paths { "/api/v2/drops/{slug}/items/{token_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Build transaction data for updating a SelfMint drop item * @description Returns ready-to-sign onchain transaction data for updating a SelfMint drop item. The caller is responsible for signing and broadcasting the transaction. */ put: operations["update_self_mint_drop_item"]; post?: never; delete?: never; options?: never; head?: never; /** * Update drop item * @description Update drop item metadata. */ patch: operations["update_drop_item"]; trace?: never; }; "/api/v2/accounts/wallets/{wallet}/private": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Make a registered wallet private * @description Hides the wallet's public account linkage, including agent ownership relationships. */ put: operations["make_wallet_private"]; post?: never; /** * Make a registered wallet public * @description Allows the wallet's public account linkage, including eligible agent ownership relationships. */ delete: operations["make_wallet_public"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/agent": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Declare the authenticated account an agent * @description Self-reported and not OpenSea verification. Independent of ownership: an agent nobody owns is valid. */ put: operations["declare_agent_account"]; post?: never; /** Withdraw the authenticated account's agent declaration */ delete: operations["withdraw_agent_account_declaration"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/watchlist": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Add a watchlist entry * @description Add an NFT, token, collection, or perpetual to the authenticated account's watchlist. */ post: operations["add_watchlist_entry"]; /** * Remove a watchlist entry * @description Remove an NFT, token, collection, or perpetual from the authenticated account's watchlist. */ delete: operations["remove_watchlist_entry"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/transactions/receipt": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get transaction receipt * @description Get the receipt/status for a submitted transaction. Works for all transaction types including listing fulfillments, cross-chain buys, sweeps, offer fulfillments, and token swaps. Poll this endpoint after submitting transactions to check completion status. */ post: operations["get_transaction_receipt"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tools/usage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * [Beta] Report tool usage (metrics only) * @description [Beta] Report verified tool usage for metrics and analytics purposes only. Supports verification_type: eip3009_authorization (free tools, identity proof) or x402_settlement (paid tools, onchain USDC payment verification). Identify the tool by providing tool_chain_id + tool_registry_address (an onchain EVM address, or x402_bazaar / x402_bankr for x402 tools) + tool_onchain_id, or alternatively just tool_endpoint (the tool's canonical URL). This endpoint does NOT trigger any onchain transactions. This endpoint is under active development and may change without notice. */ post: operations["report_tool_usage"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tokens/batch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get tokens by contract identifiers * @description Retrieve multiple tokens in a single request by providing a list of contract identifiers (chain and address). Not-found tokens are silently omitted from the response. */ post: operations["get_tokens_batch"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/swap/execute": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Execute a token swap * @description Get executable transactions for token-to-token swaps. Supports same-chain and cross-chain swaps with multiple from/to assets. */ post: operations["post_swap_execute"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/saved-tools": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * [Beta] List saved tools * @description List tools saved by the authenticated account. */ get: operations["list_saved_tools"]; put?: never; /** * [Beta] Save a tool * @description Save a registered tool for the authenticated account. */ post: operations["save_tool"]; /** * [Beta] Remove a saved tool * @description Idempotently remove a registered tool from the authenticated account's saved tools. Removed is false when the tool was already absent. */ delete: operations["unsave_tool"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/profile/username": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Claim a profile username * @description Claim a username for the authenticated wallet. */ post: operations["claim_profile_username"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/profile/shelves": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get profile shelves * @description Get the shelves for a public wallet address. */ get: operations["get_profile_shelves"]; put?: never; /** * Create a profile shelf * @description Create a shelf for the authenticated wallet. */ post: operations["create_profile_shelf"]; delete?: never; options?: never; head?: never; /** * Reorder profile shelves * @description Reorder the authenticated wallet's shelves. */ patch: operations["reorder_profile_shelves"]; trace?: never; }; "/api/v2/profile/nft-pfp": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Set NFT profile picture * @description Set an onchain NFT owned by the authenticated wallet as its verified profile picture. The NFT must be from a verified collection and owned by one of the account's wallets. */ post: operations["set_profile_nft_pfp"]; /** * Clear NFT profile picture * @description Clear the authenticated wallet's NFT profile picture. This operation is idempotent: it returns 200 with `success=false` when no NFT profile picture was set, and `success=true` when one was cleared. */ delete: operations["clear_profile_nft_pfp"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/profile/images": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Upload a profile image * @description Set contentType in the context request to the exact MIME type of the image bytes. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as the matching profile image field in PATCH /api/v2/profile. */ post: operations["upload_profile_image"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/orders/{chain}/{protocol}/offers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create an item offer * @description Create an offer to purchase a single NFT (ERC721 or ERC1155). */ post: operations["post_offer"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/orders/{chain}/{protocol}/listings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create a listing * @description List a single NFT (ERC721 or ERC1155) for sale on the OpenSea marketplace. */ post: operations["post_listing"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Cancel an order * @description Offchain cancel a single order, offer or listing, by its order hash when protected by the SignedZone. Protocol and Chain are required to prevent hash collisions. Please note cancellation is only assured if a fulfillment signature was not vended prior to cancellation. */ post: operations["cancel_order"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get order cancellation actions * @description Returns the blockchain actions needed to cancel an order onchain, for orders that cannot be cancelled offchain through the cancel endpoint. A Solana order is always cancelled this way, because it lives onchain from the moment it is created. The order is addressed by the same identifier the get-order endpoint uses, and only its maker may cancel it. */ post: operations["create_cancel_order_actions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create a criteria offer * @description Create a criteria offer to purchase any NFT in a collection or which matches the specified trait. For trait offers where the Build Offer endpoint returns identifierOrCriteria '0', use that value directly — trait matching is validated server-side at fulfillment time rather than via onchain merkle proof. */ post: operations["post_criteria_offer_v2"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/fulfillment_data": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Fulfill an offer * @description Retrieve all the information, including signatures, needed to fulfill an offer directly onchain. For trait offers with identifierOrCriteria '0', the server validates that the specified token matches the offer's trait criteria before generating fulfillment data. */ post: operations["generate_offer_fulfillment_data_v2"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/fulfillment/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get offer fulfillment actions * @description Returns the blockchain actions a seller needs to accept an offer, for offers that cannot be accepted with Seaport calldata. A Solana offer is always accepted this way, because it settles through an onchain program rather than a signed order. The offer is addressed by the same identifier the get-order endpoint uses, and a criteria offer additionally requires a consideration naming the token being sold. * * On Solana two fields on the returned action are load-bearing. When `partially_signed_transaction` is present the transaction is already cosigned: append your signature to those exact bytes and broadcast them, and do not rebuild the message from `instructions`, which invalidates the cosigner signature. When `sponsored_fee_payer` is present an OpenSea relayer pays the fee and your wallet is only a co-signer; when it is absent you pay your own fee. * * Accepting fewer units than an offer's remaining quantity leaves the offer live, so a successful fill does not imply the offer is consumed. */ post: operations["create_offer_fulfillment_actions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/build": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Build a criteria offer * @description Build a portion of a criteria offer including the consideration item, zone, and zone hash needed to post an offer. For trait offers on supported collections, the identifierOrCriteria in the returned consideration will be '0' (no merkle root computation needed). For other collections, a computed merkle root is returned. When identifierOrCriteria is '0', the encodedTokenIds field is informational only and not required for constructing the onchain order. */ post: operations["build_offer_v2"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get offer creation actions * @description Returns the blockchain actions needed to offer on an NFT, the offer-side counterpart of the listing actions endpoint. On EVM chains these are payment approvals followed by a Seaport order to sign, which the signature endpoints then accept. On Solana the actions instead carry an unsigned bid transaction to sign and submit onchain; there is no order to post back to OpenSea afterwards. */ post: operations["create_offer_actions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/nfts/batch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get NFTs by identifiers * @description Retrieve multiple NFTs in a single request by providing a list of identifiers (chain, contract address, and token ID). Not-found NFTs are silently omitted from the response. */ post: operations["get_nfts_batch"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/sweep": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Sweep buy items from a collection * @description Buy up to N items from a collection using any payment token, including cross-chain. If a requested item becomes unavailable, the system can automatically substitute it with the next cheapest listing from the same collection (enabled by default). Returns an ordered list of transactions to execute. Collections on EVM chains only; a collection on any other chain is rejected. */ post: operations["sweep_collection"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/fulfillment_data": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Fulfill a listing * @description Retrieve all the information, including signatures, needed to fulfill a listing directly onchain. */ post: operations["generate_listing_fulfillment_data_v2"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/fulfillment/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get listing fulfillment actions * @description Returns the blockchain actions needed to fulfill a listing, for listings that cannot be fulfilled with Seaport calldata. A Solana listing is always fulfilled this way, because it settles through an onchain program rather than a signed order. The listing is addressed by the same identifier the get-order endpoint uses. */ post: operations["create_listing_fulfillment_actions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/cross_chain_fulfillment_data": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Fulfill a listing using a different token * @description Get fulfillment data to buy one or more listings using a token on a different chain or a different token on the same chain. Supports cross-chain purchases and same-chain token swaps via the Relay protocol. Returns an ordered list of transactions to execute. Listings on EVM chains only; a listing on any other chain is rejected. */ post: operations["generate_cross_chain_listing_fulfillment_data"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get listing creation actions * @description Returns the blockchain actions (approvals + Seaport order signing payload) needed to list one or more NFTs. This eliminates the need to construct Seaport orders manually. */ post: operations["create_listing_actions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get drop by collection slug * @description Get detailed drop information for a collection, including stages and supply. */ get: operations["get_drop_by_slug"]; put?: never; /** * Update Creator Studio drop edits * @description Update an existing ERC-721 SeaDrop V1 drop and its stages. * * Saves a Creator Studio draft. It does not change the live drop: SeaDrop stages are onchain contract state, so the draft has to be published separately before buyers see it. A 200 here means the draft was accepted, not that the drop changed. * * `stages` replaces the whole set rather than merging, so send every stage the drop should end up with, including ones you are not changing. Reuse an existing stage uuid to update it, supply a new UUID to add one, and omit a stage to delete it. * * The stage list has four rules, and rules 2 and 4 interact in a way worth reading before the first attempt: * * 1. Exactly one stage must be `public_sale`. * 2. That public stage must be first in the array. * 3. The presales, meaning every stage after the first, must be contiguous among themselves: each one starts exactly when the previous presale ended. The first presale start time is not constrained. * 4. The last presale must end exactly when the public stage starts. * * Together, 2 and 4 mean array order is not chronological order: the public stage is listed first and runs last, with the presales running in array order before it. A drop with two allowlist stages therefore sends `[public, presale1, presale2]` while time runs presale1, then presale2, then public. Rule 3 does not tie presale1 back to the public stage, which is why the chain reads forward from presale1 rather than from the array head. * * Per-wallet mint limits are cumulative across stages, so `max_total_mintable_by_wallet` on a later stage is a running total for the wallet rather than a fresh allowance. */ post: operations["save_drop_edits"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/prereveal-item": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Save prereveal drop item * @description Save prereveal drop item metadata. */ post: operations["save_prereveal_drop_item"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/mint": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Build mint transaction data for a drop * @description Returns ready-to-sign transaction data for minting tokens from a drop. The caller is responsible for signing and submitting the transaction. No wallet authentication is required — only an API key. The minter address in the request body determines who will receive the tokens. Stage selection is handled automatically by the backend — if multiple stages are active, the first eligible stage is used. */ post: operations["build_drop_mint_transaction"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/items": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Build transaction data for creating a SelfMint drop item * @description Returns ready-to-sign onchain transaction data for creating a SelfMint drop item. The caller is responsible for signing and broadcasting the transaction. */ post: operations["save_self_mint_drop_item"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/items/media": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Upload drop item media * @description This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass each token as media_token to POST /api/v2/drops/{slug}/items or POST /api/v2/drops/{slug}/prereveal-item, as media_tokens to POST /api/v2/drops/{slug}/items/media/save, or as media_token to PUT /api/v2/drops/{slug}/items/{token_id}. */ post: operations["upload_drop_item_media"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/items/media/save": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Save drop item media * @description Persist drop item media references. */ post: operations["save_drop_item_media"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/cross_chain_mint": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Build cross-chain mint transactions for a drop * @description Returns an ordered list of transactions for minting a drop using a token on another chain. The payer signs each transaction in order, and the minter receives the NFT. After submission, pass receipt_request to POST /api/v2/transactions/receipt and poll until the status is terminal. */ post: operations["build_cross_chain_drop_mint_transactions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/allowlist": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Upload drop allowlist * @description The file is CSV with a header row, and the wallet column must be named address or walletaddress. Optional per-row columns are a custom mint limit and a custom price. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as allowlist_file_token to POST /api/v2/drops/{slug}/allowlist/validate, which returns a different token. That second token is the one a stage takes: send it as allowlist_file_token on the stage in POST /api/v2/drops/{slug}, or the uploaded file is never attached to anything. The presigned upload expires about a minute after it is issued, so request the context and upload in one go rather than requesting it ahead of time. */ post: operations["upload_drop_allowlist"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/allowlist/validate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Validate drop allowlist * @description Validate an uploaded drop allowlist file token. */ post: operations["validate_drop_allowlist"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/deploy": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Build deploy contract transaction data * @description Returns ready-to-sign transaction data for deploying a new NFT drop contract. The caller is responsible for signing and submitting the transaction. */ post: operations["deploy_drop_contract"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/{slug}/images/{image_type}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Upload collection image * @description Set the content_type query parameter to the exact MIME type of the image bytes. This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. Pass the token as the matching image field in PATCH /api/v2/collections/{slug}. */ post: operations["upload_collection_image"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/batch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Get collections by slugs * @description Retrieve multiple collections in a single request by providing a list of slugs. Results are returned in the same order as the input slugs. Not-found collections are silently omitted. */ post: operations["get_collections_batch"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/validate-metadata": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Validate NFT metadata * @description Fetch and validate NFT metadata directly from the blockchain without using cached data. Returns both original and processed (SeaDN) URLs to show how the metadata would be ingested. This endpoint does not persist any data. */ post: operations["validate_nft_metadata"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/refresh": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Refresh NFT metadata * @description Queue a metadata refresh for a specific NFT to update its information from the blockchain. */ post: operations["refresh_nft_metadata"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/auth/keys": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create an instant API key * @description Creates a free-tier API key instantly without authentication. The key can be used immediately for all API endpoints. Keys expire after 7 days. */ post: operations["create_instant_api_key"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/assets/transfer": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Transfer NFTs or tokens between wallets * @description Returns ordered blockchain actions to execute for transferring one or more NFTs or tokens from one wallet to another. Supports bulk transfers of multiple assets in a single request. */ post: operations["transfer_assets"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/watch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Watch a followed profile */ post: operations["watch_account"]; /** Stop watching a profile */ delete: operations["unwatch_account"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/follow": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Follow a profile */ post: operations["follow_account"]; /** Unfollow a profile */ delete: operations["unfollow_account"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/wallets/siwx": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Link a wallet to the authenticated account * @description Verify control of a wallet using a SIWX signature and link it to the authenticated account. */ post: operations["link_wallet_with_siwx"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/agent-relationships": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List the authenticated account's agent relationships * @description Includes proposals still awaiting either party. Pending relationships appear here only; they are never shown on a public profile. Truncated to the 100 most recent confirmed relationships and the 50 most recent live proposals, bounded separately so unanswered proposals cannot displace confirmed relationships. No total is returned. Confirming or revoking names the counterparty's account id, which this listing is the source of. */ get: operations["list_own_agent_relationships"]; put?: never; /** * Propose an agent ownership relationship * @description Both accounts must agree. Proposing a relationship that is already awaiting you confirms it, so a client that cannot tell who moved first can simply propose. */ post: operations["propose_agent_relationship"]; /** * Withdraw a proposal or revoke a confirmed agent relationship * @description Either party may remove the relationship at any point. Addressed exactly as confirm is: `counterparty_account_id` or `counterparty_address`, one of the two, plus your own side. */ delete: operations["revoke_agent_relationship"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/agent-relationships/confirm": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Confirm an agent relationship proposed to the authenticated account * @description Name the other party by `counterparty_account_id`, from `agent_account_id` or `owner_account_id` on a listed relationship, or by `counterparty_address`. Prefer the account: the relationship is the pair of accounts, so it stays addressable after either party unlinks the wallet it was proposed with, whereas an address stops resolving once unlinked. */ post: operations["confirm_agent_relationship"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/profile": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Update profile settings * @description Update the authenticated wallet's profile settings. */ patch: operations["update_profile_settings"]; trace?: never; }; "/api/v2/profile/shelves/{shelf_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Delete a profile shelf * @description Delete the authenticated wallet's shelf. */ delete: operations["delete_profile_shelf"]; options?: never; head?: never; /** * Update a profile shelf * @description Update shelf fields and optionally item descriptions. Shelf field updates are applied first; if a later item description update fails, earlier changes are not rolled back. */ patch: operations["update_profile_shelf"]; trace?: never; }; "/api/v2/collections/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get a single collection * @description Get a single collection including details such as fees, traits, and links. */ get: operations["get_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Modify collection metadata * @description Update an existing collection's metadata. */ patch: operations["modify_collection"]; trace?: never; }; "/api/v2/collections/{slug}/visibility": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Set collection visibility * @description Hide or unhide a collection. */ patch: operations["set_collection_visibility"]; trace?: never; }; "/api/v2/collections/{slug}/metadata": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Update collection metadata * @description Update collection about, hero, overview, and logo image metadata. */ patch: operations["update_collection_metadata"]; trace?: never; }; "/api/v2/traits/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection traits * @description Get all available traits for a collection with their value counts and data types. */ get: operations["get_collection_traits"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/traits/{slug}/floors": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get trait floor prices * @description Get the cheapest active listing for every trait value in a collection, in one request. Trait values with no active listing are omitted. Results are ordered by trait type, then value, then price. * * Only traits with text values are included. A numeric trait has no enumerable set of values, so it is reported as a min/max range by 'GET /api/v2/traits/{slug}' rather than as a floor per value here. * * Prices come from each item's best listing across every marketplace OpenSea aggregates, the same basis as 'floor_price' in 'GET /api/v2/collections/{slug}/stats'. A floor can therefore be below the cheapest listing fulfillable through this API, because 'GET /api/v2/listings/collection/{slug}/best' serves only the OpenSea order book. * * Prices are not converted to a common currency: a trait value listed in more than one currency appears once per currency, and prices are only comparable within the same 'payment_token_symbol'. */ get: operations["get_collection_trait_floors"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tools": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * [Beta] List registered tools * @description [Beta] List verified registered tools with optional sorting and filtering. This endpoint is under active development and may change without notice. */ get: operations["list_tools"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * [Beta] Get a registered tool * @description [Beta] Get a registered tool by its composite key: registry chain, registry address, and tool ID. Includes pricing recipients and NFT collection info for gated tools. This endpoint is under active development and may change without notice. */ get: operations["get_tool"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tools/{registry_chain}/{registry_addr}/{tool_id}/activity": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * [Beta] Get activity for a registered tool * @description [Beta] Returns merged x402 payment events and usage reports for a tool, deduplicated by transaction hash. Each event includes an attribution field indicating confidence level. This endpoint is under active development and may change without notice. */ get: operations["get_tool_activity"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tools/search": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * [Beta] Search registered tools * @description [Beta] Search for verified registered tools by name, tags, creator, or other criteria. This endpoint is under active development and may change without notice. */ get: operations["search_tools"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tokens/trending": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get trending tokens * @description Get trending tokens based on OpenSea's trending score algorithm. Returns tokens with high momentum including memecoins and newly popular assets. Pass `sort_by` and `sort_direction` to order the same set of tokens differently. */ get: operations["get_trending_tokens"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/tokens/top": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get top tokens * @description Get top tokens ranked by 24-hour trading volume. Returns established tokens with high market activity. Pass `sort_by` and `sort_direction` to order the same set of tokens differently. */ get: operations["get_top_tokens"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/token-groups": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token groups * @description Get a paginated list of token groups sorted by market cap descending. Token groups represent equivalent currencies across different blockchains (e.g., ETH on Ethereum, Base, and Arbitrum are all in the "eth" token group). */ get: operations["get_token_groups"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/token-groups/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get a token group by slug * @description Get detailed information about a specific token group by its slug identifier. */ get: operations["get_token_group"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/swap/quote": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get swap quote * @description Get a quote for swapping tokens, including price details and executable transaction data. */ get: operations["get_swap_quote"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/search": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Search across OpenSea * @description Search across collections, tokens, NFTs, and accounts. Results are ranked by relevance. */ get: operations["search"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get an order * @description Get a single order by its order hash. */ get: operations["get_order"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/collection/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get offers by collection * @description Get collection offers on a collection. */ get: operations["get_offers_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/collection/{slug}/traits": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get trait offers for a collection * @description Get trait offers for a collection. Use the `mode` parameter to select the bid category. * * **Single string trait:** `?mode=STRING&type=Background&value=Red` * **Multiple string traits:** `?mode=MULTI&traits=[{"traitType":"Background","value":"Red"},{"traitType":"Eyes","value":"Blue"}]` * **Numeric trait range:** `?mode=NUMERIC&type=Level&min_value=1&max_value=10` * * Omit filter params to discover all bids of that mode (e.g. `?mode=NUMERIC` returns all numeric bids). * * If `mode` is omitted, the mode is inferred from the params for backward compatibility. */ get: operations["get_offers_collection_trait"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/collection/{slug}/nfts/{identifier}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get offers by NFT * @description Get offers for an NFT. */ get: operations["get_offers_nft"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/collection/{slug}/nfts/{identifier}/best": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get best offer by NFT * @description Get the best offer for an NFT. */ get: operations["get_best_offer_nft"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/offers/collection/{slug}/all": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get all offers by collection * @description Get all offers for a collection. */ get: operations["list_offers_collection_all"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/metadata/{chain}/{contractAddress}/{tokenId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFT metadata * @description Get detailed metadata for an NFT including name, description, image, traits, and external links. */ get: operations["get_nft_metadata"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/collection/{slug}/nfts/{identifier}/best": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get best listing by NFT * @description Get the best listing for an NFT. */ get: operations["get_best_listing_nft"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/collection/{slug}/best": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get best listings by collection * @description Get the best listings for a collection sorted by price ascending. Optionally filter by item traits using the 'traits' query parameter with a JSON array of trait filters. Multiple traits are AND-combined (items must match all). Note: results are not deduplicated by token ID — if a token has multiple listings, each listing is returned individually. Filter client-side if you need unique tokens. Example: ?traits=[{"traitType":"Background","value":"Red"}] */ get: operations["get_best_listings_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/listings/collection/{slug}/all": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get all listings by collection * @description Get all listings for a collection. */ get: operations["list_listings_collection_all"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/events": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get events * @description Get a list of events, with optional filtering by event type and time range. */ get: operations["list_events"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/events/collection/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get events (by collection) * @description Get a list of events for a collection. Optionally filter by traits to only return events for items matching the specified trait criteria. */ get: operations["list_events_by_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/events/chain/{chain}/contract/{address}/nfts/{identifier}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get events (by NFT) * @description Get a list of events for a specific NFT. */ get: operations["list_events_by_nft"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/events/accounts/{address}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get events (by account) * @description Get a list of events for an account. */ get: operations["list_events_by_account"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get drops * @description Get a list of NFT drops (mints) by type: featured, upcoming, or recently_minted. Results may be fewer than the requested limit due to post-fetch filtering. */ get: operations["get_drops"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/{slug}/eligibility": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get drop eligibility for the authenticated wallet * @description Returns per-stage eligibility for the authenticated wallet, including pricing and mint limits. */ get: operations["get_drop_eligibility"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/drops/deploy/{chain}/{tx_hash}/receipt": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deploy contract receipt * @description Check the status of a contract deployment transaction. Returns the deployment status and, on success, the deployed contract address and linked collection slug. */ get: operations["get_deploy_contract_receipt"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get multiple collections * @description Get a list of collections with filters and sorting options. */ get: operations["list_collections"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/{slug}/stats": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection stats * @description Get statistics for a collection including volume, floor price, and trading metrics. Each currency-denominated figure carries its own symbol: volume is reported in the currency named by volume_symbol, and the floor in the currency named by floor_price_symbol. The two can differ, so read each number against its own symbol. */ get: operations["get_collection_stats"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/{slug}/offer_aggregates": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection offer aggregates * @description Get aggregated offer buckets grouped by price level for a collection. */ get: operations["get_collection_offer_aggregates"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/{slug}/holders": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection holders * @description Get a paginated list of holders for a collection. */ get: operations["get_collection_holders"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/{slug}/floor_prices": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection floor price history * @description Get time-series floor price data for a collection. */ get: operations["get_collection_floor_prices"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/trending": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get trending collections * @description Get a list of trending NFT collections sorted by sales activity over a specified timeframe. Trending is determined by sales volume and activity metrics. Available timeframes range from 1 minute to all time. For the one_day timeframe without a chain filter, collections are sorted by a composite trending score; all other timeframes sort by raw sales count. Results are filtered to verified, non-spam, non-NSFW collections with minimum volume thresholds. */ get: operations["get_trending_collections"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collections/top": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get top collections * @description Get top NFT collections ranked by various stats (sorted descending). Unlike /trending, results are not filtered by verification status; spam-tagged collections are excluded via trust-safety enforcement states. Available sort options: one_day_volume, seven_days_volume, thirty_days_volume, floor_price, one_day_sales, seven_days_sales, thirty_days_sales, total_volume, total_sales. */ get: operations["get_top_collections"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/collection/{slug}/nfts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFTs by collection * @description Get NFTs in a specific collection. Optionally filter by traits using the 'traits' query parameter with a JSON array of trait filters. Multiple traits are AND-combined (items must match all specified traits). Example: ?traits=[{"traitType":"Background","value":"Red"},{"traitType":"Eyes","value":"Blue"}] */ get: operations["get_nfts_by_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chains": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get supported chains * @description Get all supported blockchain chains with metadata including name, native currency symbol, swap support, and block explorer information. */ get: operations["get_chains"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token details * @description Get detailed information about a specific token by chain and contract address. */ get: operations["get_token"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/price_history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token price history * @description Get historical price data for a specific token. */ get: operations["get_token_price_history"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/ohlcv": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token OHLCV candles * @description Get OHLCV (Open, High, Low, Close, Volume) candlestick data for a specific token. */ get: operations["get_token_ohlcv"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/liquidity-pools": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token liquidity pools * @description Get liquidity pools for a specific token. */ get: operations["get_token_liquidity_pools"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/holders": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token holders * @description Get paginated list of holders for a specific token, including quantity held and USD value. */ get: operations["get_token_holders"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/activity": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token swap activity * @description Get paginated swap activity for a specific token on a given chain. */ get: operations["get_token_activity"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/token/{address}/activity/stats": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token trading activity stats * @description Get materialized trade count, USD volume, and average trade size for a token. Windows with no swaps are omitted; an omitted requested key means zero trades in that window. Each window ends at its own materialized snapshot; computed_at is the oldest snapshot among the returned windows and can precede request time because the response is cached. The 1h and 24h windows also carry unique_buyer_count and unique_seller_count, which are null when the counts are unavailable for that token; 5m and 4h never carry them. */ get: operations["get_token_activity_stats"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/payment_token/{address}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get payment token * @description Get a payment token by chain and contract address. */ get: operations["get_payment_token"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get contract * @description Get contract metadata including collection information, contract standards, and ownership details. */ get: operations["get_contract"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFTs by contract * @description Get all NFTs for a specific contract address on a blockchain. */ get: operations["get_nfts_by_contract"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFT * @description Get metadata, traits, ownership information, and rarity for a single NFT. */ get: operations["get_nft"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/owners": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFT owners * @description Get a paginated list of owners for a specific NFT. Particularly useful for ERC-1155 tokens which can have multiple owners. */ get: operations["get_nft_owners"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collection by NFT * @description Get the collection that an NFT belongs to. This is useful for multi-contract collections like Art Blocks where the item ID disambiguates which collection the NFT belongs to. */ get: operations["get_nft_collection"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/analytics": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFT analytics * @description Get analytics data for a specific NFT including sales history and floor price history. */ get: operations["get_nft_analytics"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/chain/{chain}/account/{address}/nfts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get NFTs by account * @description Get all NFTs owned by a specific account on a blockchain, with optional collection filtering. */ get: operations["get_nfts_by_account"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get an OpenSea account profile * @description Get an OpenSea Account Profile including details such as bio, social media usernames, and profile image. */ get: operations["get_account"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/relationship": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get the authenticated account's relationship with a profile */ get: operations["get_account_relationship"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/following": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get profiles followed * @description Returns the profiles followed by an address or username profile, including followed wallets. */ get: operations["get_account_following"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/followers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get profile followers */ get: operations["get_account_followers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/{address_or_username}/agent-relationships": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get public agent ownership relationships for a profile * @description Returns the account confirmed to own this one as its agent, and the accounts it is the confirmed owner of. Only relationships both accounts confirmed appear; a proposal one side has not accepted is visible to the two parties alone. Ownership is a declaration and not an authorization, and is self-reported rather than verified by OpenSea. Standard API-key quotas and an additional 30-per-hour per-profile limit apply. */ get: operations["get_agent_profile_relationships"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/resolve/{identifier}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Resolve an account identifier * @description Resolve an ENS name (e.g. vitalik.eth), OpenSea username, or wallet address to canonical account info including address, username, and ENS name. The ENS path performs both forward resolution (name → address) and reverse lookup (address → canonical primary name). The address and ENS paths perform enrichment calls (username + ENS reverse lookup) in parallel. The username path only needs an ENS reverse lookup after the initial resolution and runs it sequentially. The ENS and username paths require an extra initial call and may be slower than the address path on cache misses. */ get: operations["resolve_account"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/tokens": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token balances by account * @description Get fungible token balances for a specific wallet address. Returns quantity (in display units, not raw/wei), USD value, and token metadata for each token held. */ get: operations["get_token_balances_by_account"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/token_watchlist": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get tokens watched by an account * @description Get the tokens watched by the authenticated account. Requires wallet identity authentication; the requested address must belong to the authenticated account. */ get: operations["get_account_token_watchlist"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/token-activity": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get account token activity * @description Get paginated fungible token activity (transfers, swaps, wraps, and unwraps) for an account across all chains. Optionally filter by chain, token, and/or activity type. */ get: operations["get_account_token_activity"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/portfolio": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get portfolio stats for an account * @description Get portfolio analytics including total value, NFT/token breakdown, and P&L for a wallet address over a given timeframe. */ get: operations["get_portfolio_stats"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/portfolio/history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get portfolio net worth history for an account * @description Get net worth time series data for a wallet address over a given timeframe. */ get: operations["get_portfolio_history"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/pnl": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get trading P&L for an account * @description Get aggregated realized and unrealized trading profit and loss across all currencies held by a wallet address. Returns 200 with figures (which may be zero for a real but flat wallet) when OpenSea has indexed P&L for the wallet, and 404 only when no P&L has been indexed for it — letting consumers distinguish "indexed but flat" from "not indexed". */ get: operations["get_wallet_pnl"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/pnl/token-transfers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get token transfers for a wallet's position in a currency * @description Get a paginated, transfer-level breakdown of a wallet's position in a single currency (identified by contract_address + chain). Combine `direction` and `transfer_type` to distinguish zero-cost acquisitions (airdrops, CEX transfers) from buys. */ get: operations["get_wallet_token_transfers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/pnl/closed-positions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get closed (realized) trading positions for an account * @description Get a paginated, per-trade breakdown of a wallet's realized P&L. Each closed position reflects FIFO (first-in, first-out) cost-basis lot matching. */ get: operations["get_wallet_closed_positions"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/perpetual_watchlist": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get perpetuals watched by an account * @description Get the perpetual futures watched by the authenticated account. Requires wallet identity authentication; the requested address must belong to the authenticated account. */ get: operations["get_account_perpetual_watchlist"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/offers_received": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get offers received by an account * @description Get a paginated list of offers received on items owned by a wallet address. */ get: operations["get_profile_offers_received"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/offers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get active offers made by an account * @description Get a paginated list of active offers made by a wallet address. */ get: operations["get_profile_offers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/listings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get active listings for an account * @description Get a paginated list of active listings created by a wallet address. */ get: operations["get_profile_listings"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/favorites": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get items favorited by an account * @description Get a paginated list of items favorited by a wallet address. Requires wallet identity authentication; the requested address must belong to the authenticated account. */ get: operations["get_profile_favorites"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/account/{address}/collections": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get collections owned by an account * @description Get a paginated list of collections owned by a wallet address, with ownership data. */ get: operations["get_profile_collections"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/accounts/wallets/{wallet}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Unlink a wallet from the authenticated account * @description Unlink a wallet from the authenticated account using a scoped wallet token. */ delete: operations["unlink_wallet"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v2/auth/tokens/exchange": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Exchange a scoped token for an access token * @description Exchanges an opaque scoped token (personal access token) for a short-lived access token that satisfies `WalletAuth` on wallet-scoped endpoints. Send the returned `accessToken` as `Authorization: Bearer `. * * This is the credential path for headless callers that hold no signing key: the scoped token in the request body is the only credential, so no session cookie, wallet signature, or API key is required. The alternative is the OAuth 2.1 authorization-code flow described by the `WalletAuth` security scheme. * * Failures are deliberately opaque. An unknown, revoked, rotated, or non-scoped subject token and a disabled integration all return the same 403 `Token exchange is not available`, so a 403 is not by itself evidence that the endpoint is unavailable. */ post: operations["exchange_scoped_token"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } interface components { schemas: { /** * @description Blockchain chain identifier. Use the chain slug (e.g., 'ethereum', 'polygon', 'arbitrum', 'optimism', 'base') * @default ethereum * @example ethereum * @enum {string} */ ChainIdentifier: "blast" | "base" | "ethereum" | "zora" | "arbitrum" | "sei" | "avalanche" | "polygon" | "optimism" | "ape_chain" | "flow" | "b3" | "soneium" | "ronin" | "bera_chain" | "solana" | "shape" | "unichain" | "gunzilla" | "abstract" | "animechain" | "hyperevm" | "somnia" | "monad" | "hyperliquid" | "megaeth" | "ink" | "robinhood" | "stablechain" | "arc"; /** @description Ready-to-sign SelfMint drop item transaction data */ SelfMintDropItemResponse: { /** @description Transaction target contract address */ to: string; /** @description Encoded transaction data (hex) */ data: string; /** @description Transaction value in wei (hex) */ value: string; /** @description Chain identifier */ chain: string; }; V1ErrorWrapper: { errors: string[]; }; /** @description Trait identifier for a SelfMint drop item */ SelfMintDropItemTraitRequest: { /** @description Trait type */ trait_type: string; /** @description Trait value */ value: string; }; /** @description Request to update a SelfMint drop item */ UpdateSelfMintDropItemRequest: { /** @description Media token reference */ media_token: string; /** @description Item name */ name: string; /** @description Item description */ description?: string; /** @description External URL */ external_url?: string; /** @description Animated media for the item, alongside its image. Omit to leave the stored value alone; send an empty string to remove it. */ animation_url?: string; /** @description Item traits */ traits?: components["schemas"]["SelfMintDropItemTraitRequest"][]; }; WalletVisibilityResponse: { address: string; is_private: boolean; }; AgentAccountStatusResponse: { is_agent: boolean; changed: boolean; }; /** @description Request body for managing a watchlist entry */ WatchlistRequest: { /** * @description Watchlist entity type * @enum {string} */ type: "ITEM" | "TOKEN" | "COLLECTION" | "PERPETUAL"; /** * @description Blockchain chain slug * @example ethereum */ chain?: string; /** @description Contract address */ contract_address?: string; /** @description Token ID */ token_id?: string; /** @description Collection slug */ slug?: string; /** @description Perpetual ID */ id?: string; }; /** @description Response for a favorites write operation */ FavoriteResponse: { /** @description Whether the operation succeeded */ success: boolean; }; /** @description An asset with quantity in base units */ AssetQuantityInput: { /** * @description The blockchain chain * @example ethereum */ chain: string; /** * @description The contract address * @example 0x0000000000000000000000000000000000000000 */ contract: string; /** * @description Token ID for NFTs * @example 1234 */ token_id?: string; /** * @description Amount in base units (wei/lamports) * @example 1000000000000000000 */ amount: string; }; /** @description The original swap quote assets */ SwapQuoteInput: { /** @description Assets being sent/spent */ from_assets: components["schemas"]["AssetQuantityInput"][]; /** @description Assets being received */ to_assets?: components["schemas"]["AssetQuantityInput"][]; }; /** @description A transaction identifier with optional swap provider */ TransactionIdentifierInput: { /** * @description The transaction hash * @example 0xabc123... */ transaction_hash: string; /** * @description The blockchain chain * @example ethereum */ chain: string; /** * @description The swap provider used (e.g. RELAY, JUPITER, ZERO_EX, LOCAL_BUY_NFT). Required when relay_request_id is not provided. Can be omitted for cross-chain flows that use relay_request_id. * @example RELAY */ swap_provider?: string; }; /** @description Request to get a transaction receipt/status */ TransactionReceiptRequest: { /** @description Transaction identifiers to look up */ transaction_identifiers?: components["schemas"]["TransactionIdentifierInput"][]; /** @description The swap quote that was originally submitted */ swap_quote: components["schemas"]["SwapQuoteInput"]; /** @description Relay request ID for cross-chain tracking */ relay_request_id?: string; /** @description Request ID for workflow tracking */ request_id?: string; }; /** @description Asset identifier with chain, contract address, and optional token ID */ AssetIdentifierResponse: { /** * @description The blockchain chain * @example ethereum */ chain: string; /** * @description The contract address * @example 0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 */ contract: string; /** * @description Token ID for NFTs * @example 1234 */ token_id?: string; }; /** @description Receipt for a single asset in a transaction */ AssetReceiptResponse: { /** @description The asset received */ asset: components["schemas"]["AssetIdentifierResponse"]; /** * @description Quantity received in base units * @example 1 */ quantity: string; /** @description Price paid per item */ price: components["schemas"]["PriceResponse"]; }; /** @description Price information for an asset */ PriceResponse: { /** * @description Amount in the token's native units * @example 5.5 */ amount: string; /** * @description Token symbol * @example ETH */ currency?: string; /** * @description USD equivalent * @example 19250 */ usd: string; }; /** @description Total spent across all assets in a transaction */ TotalSpentResponse: { /** @description Price breakdown per token type */ price_per_token: components["schemas"]["PriceResponse"][]; }; /** @description Transaction receipt with status and asset details */ TransactionReceiptResponse: { /** * @description Transaction status: PENDING, SUCCESS, PARTIAL_SUCCESS, or FAILED * @example SUCCESS */ status: string; /** @description Reason for failure, if applicable */ fail_reason?: string; /** @description Successfully received assets */ asset_receipts: components["schemas"]["AssetReceiptResponse"][]; /** @description Assets that failed to be received */ failed_asset_receipts: components["schemas"]["AssetReceiptResponse"][]; /** @description Total amount spent across all assets */ total_spent: components["schemas"]["TotalSpentResponse"]; /** @description Assets that are missing from the receipt */ missing_assets: components["schemas"]["AssetIdentifierResponse"][]; /** @description Whether a cross-chain refund was issued */ cross_chain_refunded?: boolean; }; Eip3009Fields: { caller_address?: string; signature?: string; /** Format: int64 */ chain_id?: number; from?: string; to?: string; value?: number; valid_after?: number; valid_before?: number; nonce?: string; }; ToolUsageRequest: { verification_type?: string; /** Format: int64 */ tool_chain_id?: number; tool_registry_address?: string; /** Format: int64 */ tool_onchain_id?: number; tool_endpoint?: string; /** Format: int64 */ latency_ms?: number; eip3009?: components["schemas"]["Eip3009Fields"]; x402?: components["schemas"]["X402SettlementFields"]; }; X402SettlementFields: { caller_address?: string; tx_hash?: string; /** Format: int64 */ chain_id?: number; }; ToolUsageResponse: { id: string; verified: boolean; verification_type: string; }; /** @description Request body for batch token retrieval by contract identifiers */ BatchTokensRequest: { /** @description List of token contract identifiers to retrieve */ contracts: components["schemas"]["TokenContractInput"][]; }; /** @description A token contract identifier consisting of chain and address */ TokenContractInput: { /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; /** @description Common token identity fields shared across token responses */ TokenBaseResponse: { /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The display name of the token * @example USDC */ name: string; /** * @description The ticker symbol of the token * @example USDC */ symbol: string; /** @description URL of the token's image */ image_url?: string; /** * @description Current price in USD * @example 1 */ usd_price: string; /** * Format: int32 * @description Number of decimal places * @example 6 */ decimals: number; /** @description URL to the token page on OpenSea */ opensea_url: string; }; TokenBatchResponse: { tokens: components["schemas"]["TokenDetailedResponse"][]; }; /** @description Detailed token information including stats and social links */ TokenDetailedResponse: { /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The display name of the token * @example USDC */ name: string; /** * @description The ticker symbol of the token * @example USDC */ symbol: string; /** @description URL of the token's image */ image_url?: string; /** * @description Current price in USD * @example 1 */ usd_price: string; /** * Format: int32 * @description Number of decimal places * @example 6 */ decimals: number; /** @description URL to the token page on OpenSea */ opensea_url: string; /** @description A description of the token */ description?: string; /** * @description Source of the description. `TOKEN_METADATA` is supplied by token metadata; `AI_GENERATED` is OpenSea's generated token-page description. * @enum {string} */ description_source?: "TOKEN_METADATA" | "AI_GENERATED"; /** * Format: double * @description When an AI-generated description was generated */ description_generated_at?: number; /** @description Sources used for an AI-generated description */ description_sources?: string[]; /** @description Market statistics for the token */ stats?: components["schemas"]["TokenStatsResponse"]; /** @description Social media links for the token */ socials?: components["schemas"]["TokenSocialsResponse"]; /** * Format: int64 * @description Number of token holders */ holders_count?: number; /** @description Whether OpenSea has verified the token */ is_verified: boolean; /** * Format: double * @description When OpenSea first recorded the token */ created_at?: number; /** * Format: double * @description Earliest known onchain activity for the token */ genesis_date?: number; /** * @description Token safety status based on OpenSea's spam-classification rules. `OK` for tokens that pass all safety checks (the normal case). Categories are intentionally broad and may evolve. Possible values, in decreasing severity: `WARNING` (flagged as risky/suspicious — caution advised), `SPAM` (flagged as spam), `LOW_LIQUIDITY` (insufficient liquidity pool reserves), `OK` (passes all checks). * @default OK * @enum {string} */ status: "OK" | "WARNING" | "SPAM" | "LOW_LIQUIDITY"; }; /** @description Social media links for a token */ TokenSocialsResponse: { /** @description The token's website URL */ website?: string; /** @description The token's subreddit identifier */ subreddit_identifier?: string; /** @description The token's Twitter/X handle */ twitter_handle?: string; /** @description The token's Telegram identifier */ telegram_identifier?: string; /** * Format: int64 * @description Twitter/X follower count */ twitter_follower_count?: number; }; /** @description Market statistics for a token */ TokenStatsResponse: { /** * Format: double * @description Market capitalization in USD */ market_cap_usd?: number; /** * Format: double * @description Fully diluted valuation in USD */ fdv_usd?: number; /** * Format: double * @description Circulating supply of the token */ circulating_supply?: number; /** * Format: double * @description Maximum supply of the token */ max_supply?: number; /** * Format: double * @description Total supply of the token */ total_supply?: number; /** * Format: double * @description 24-hour trading volume in USD */ volume_24h?: number; /** * Format: double * @description Price change percentage over the last hour */ price_change_1h?: number; /** * Format: double * @description Price change percentage over the last 24 hours */ price_change_24h?: number; /** * Format: double * @description Price change percentage over the last 7 days */ price_change_7d?: number; /** * Format: double * @description Price change percentage over the last 30 days */ price_change_30d?: number; }; /** @description An asset to swap with chain, contract address, and amount */ SwapAssetInput: { /** * @description Chain slug (e.g. ethereum, base, solana) * @example ethereum */ chain: string; /** * @description Contract address of the token * @example 0x0000000000000000000000000000000000000000 */ contract: string; /** * @description Amount in the smallest unit of the token (e.g. wei for ETH). Use "0" for to_assets to receive the market rate. * @example 1000000000000000000 */ amount: string; }; /** @description Request body for executing a token swap */ SwapExecuteRequest: { /** @description Tokens to swap from (at least one required) */ from_assets: components["schemas"]["SwapAssetInput"][]; /** @description Tokens to swap to (at least one required) */ to_assets: components["schemas"]["SwapAssetInput"][]; /** * @description Wallet address executing the swap * @example 0x1234567890abcdef1234567890abcdef12345678 */ address: string; /** @description Recipient address (defaults to sender address) */ recipient?: string; /** * Format: double * @description Slippage tolerance as a decimal (0.0 to 0.5, default: 0.01) * @example 0.01 */ slippage_tolerance?: number; }; /** @description An account referenced by a Solana instruction */ SvmInstructionAccountResponse: { /** * @description Base58-encoded account address * @example So11111111111111111111111111111111111111112 */ pubkey: string; /** @description Whether the account must sign the transaction */ signer: boolean; /** @description Whether the instruction writes to the account */ writable: boolean; }; /** @description A Solana instruction to include in the transaction */ SvmInstructionResponse: { /** * @description Base58-encoded program address the instruction invokes * @example JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 */ program_id: string; /** @description Accounts the instruction reads or writes, in order */ accounts: components["schemas"]["SvmInstructionAccountResponse"][]; /** * @description Hex-encoded instruction payload, optionally 0x-prefixed * @example 01020304 */ data?: string; }; /** @description Everything needed to compile and sign a Solana v0 transaction. The client supplies a recent blockhash. */ SvmTransactionDetailsResponse: { /** @description Base58-encoded address the transaction is built for */ from: string; /** @description Instructions to include, in order */ instructions: components["schemas"]["SvmInstructionResponse"][]; /** @description Base58-encoded address lookup tables the compiled message must reference to stay under the transaction size limit */ address_lookup_tables: string[]; }; /** @description A cost component of the swap */ SwapCostResponse: { /** * @description The type of cost * @example GAS * @enum {string} */ type: "GAS" | "PROVIDER" | "PROTOCOL" | "SWAP" | "MARKETPLACE" | "CREATOR" | "MEV_PROTECTION" | "EXECUTION"; /** * @description Cost amount in USD * @example 0.5 */ usd: string; }; /** @description Response containing quote details and executable swap transactions */ SwapExecuteResponse: { /** @description Price and fee details for the swap */ quote: components["schemas"]["SwapQuoteDetails"]; /** @description Ordered list of transactions to execute the swap */ transactions: components["schemas"]["SwapTransactionResponse"][]; }; /** @description Price impact of the swap */ SwapPriceImpact: { /** * @description Price impact in USD (negative means user loses value) * @example -1.5 */ usd: string; /** * @description Price impact as a percentage (negative means user loses value) * @example -0.08 */ percent: string; }; /** @description Price and fee details for a swap quote */ SwapQuoteDetails: { /** * Format: double * @description Total value of tokens received in USD * @example 1850.5 */ total_price_usd: number; /** * Format: double * @description Total cost of tokens sent in USD * @example 1869 */ total_cost_usd: number; /** * Format: double * @description Slippage tolerance as a decimal (e.g. 0.01 = 1%) * @example 0.01 */ slippage_tolerance: number; /** * Format: int64 * @description Estimated swap duration in milliseconds * @example 30000 */ estimated_duration_ms: number; /** * Format: int32 * @description Recommended delay in milliseconds before re-requesting this quote; absent when there is no actionable route * @example 2000 */ refresh_after_ms?: number; /** * Format: int32 * @description Marketplace fee in basis points * @example 50 */ marketplace_fee_bps: number; /** @description Price impact of the swap (null if unavailable) */ price_impact?: components["schemas"]["SwapPriceImpact"]; /** * @description The swap provider that fulfilled this quote (null if unavailable) * @example RELAY */ swap_provider?: string; /** * Format: double * @description Recommended slippage tolerance based on volatility analysis (null if unavailable) * @example 2 */ recommended_slippage?: number; /** @description Breakdown of costs for the swap */ costs: components["schemas"]["SwapCostResponse"][]; /** @description Errors encountered for individual swap routes */ route_errors: components["schemas"]["SwapRouteErrorResponse"][]; }; /** @description An error encountered for a specific swap route */ SwapRouteErrorResponse: { /** * @description The error type * @example INSUFFICIENT_FUNDS */ type: string; }; /** @description A transaction to be submitted onchain to execute a swap */ SwapTransactionResponse: { /** * @description The blockchain for this transaction * @example ethereum */ chain: string; /** @description The destination address for the transaction */ to?: string; /** @description The transaction data. For EVM chains: hex-encoded calldata. For SVM chains: comma-separated instructions in programId:data format. */ data: string; /** @description The native token value to send with the transaction (decimal) */ value?: string; /** @description The native token value to send with the transaction (hex, 0x-prefixed) */ value_hex?: string; /** @description Structured Solana transaction contents. Set for SVM chains only; `data` is a lossy summary of the same instructions. */ svm?: components["schemas"]["SvmTransactionDetailsResponse"]; /** @description Gas limit for the transaction, in gas units. Already includes a safety buffer over the estimate — use it as-is (or take the max of this and your own buffered estimate) and do not shrink it. Null when no reliable estimate is available. */ gas_limit?: string; }; /** @description A registered tool to save or remove from saved tools */ SavedToolRequest: { /** * @description Numeric registered tool ID * @example 42 */ tool_id: string; /** * @description Numeric registry chain ID * @example 8453 */ registry_chain: string; /** * @description Registry contract address or supported x402 registry identifier * @example 0x0000000000000000000000000000000000000000 */ registry_addr: string; /** * @description Saved-tools toolkit name * @example All */ toolkit_name?: string; }; /** @description A tool saved by the authenticated account */ SavedToolResponse: { /** @description Saved-tool record ID */ id: string; /** @description Numeric registered tool ID */ tool_id: string; /** @description Numeric registry chain ID */ registry_chain: string; /** @description Registry contract address or x402 registry identifier */ registry_addr: string; }; /** @description Request body for claiming a profile username */ ClaimAccountUsernameRequest: { /** @description Username to claim */ username: string; }; /** @description Response for claiming a profile username */ ClaimAccountUsernameResponse: { /** @description Whether the username claim succeeded */ success: boolean; }; /** @description Identifier for a shelf item */ ProfileShelfItemIdentifierResponse: { chain: string; contract_address: string; token_id: string; }; /** @description Metadata for a shelf item */ ProfileShelfItemMetadataResponse: { description?: string; }; /** @description Profile shelf */ ProfileShelfResponse: { id: string; account_address?: string; title: string; description?: string; /** Format: int32 */ display_order: number; items: components["schemas"]["ProfileShelfItemIdentifierResponse"][]; icon?: string; view?: string; single_item_shelf_side?: string; shelf_item_metadata: { [key: string]: components["schemas"]["ProfileShelfItemMetadataResponse"]; }; }; /** @description Request body for creating a profile shelf */ CreateProfileShelfRequest: { /** @description Shelf title */ title: string; /** @description Shelf description */ description?: string; items: components["schemas"]["ProfileShelfItemRequest"][]; /** @description Shelf icon */ icon?: string; /** @description Shelf view */ view?: string; /** @description Single-item shelf side */ single_item_shelf_side?: string; }; /** @description A shelf item identifier */ ProfileShelfItemRequest: { /** @description Item token ID */ token_id: string; /** @description Blockchain chain slug */ chain: string; /** @description Contract address */ contract_address: string; }; NftPfpResponse: { contract_address: string; token_id: string; chain: string; collection_slug?: string; image_url: string; is_verified: boolean; }; /** @description Request body for setting an NFT as the profile picture */ SetNftPfpRequest: { /** * @description Contract address of the NFT * @example 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d */ contractAddress: string; /** * @description Token ID of the NFT * @example 1 */ tokenId: string; /** * @description Chain the NFT is on * @example ethereum */ chain: string; }; /** @description This response starts a three-step upload flow. First, request this context from OpenSea. Second, call the returned method at the returned URL. For POST, add every fields entry unchanged as a multipart text field, then add a file part containing the bytes. The file part must be last. Let the HTTP library generate the multipart boundary; do not set the overall multipart Content-Type header yourself. POST storage uploads normally return 204. For PUT, upload the raw bytes, use only headers explicitly required by the endpoint, and expect 200. Treat any 2xx storage response as success. The URL and fields are short-lived sensitive credentials. Do not log, persist, alter, or put them in tickets. Third, after storage succeeds, pass the returned token to the documented OpenSea API endpoint. Do not use the token before the storage upload succeeds. */ UploadContext: { /** * @description Short-lived storage URL. Use it exactly as returned and treat it as sensitive. * @example https://uploads.example.com/ */ url: string; /** * @description HTTP method to use at url. Current upload contexts use POST. * @example POST * @enum {string} */ method: "POST" | "PUT"; /** * @description Short-lived sensitive multipart text fields for POST. Submit every entry unchanged before the file part. Content-Type contains the exact MIME type required by the signed policy. This map is empty for PUT. * @example { * "key": "uploads/example.png", * "Content-Type": "image/png" * } */ fields: { [key: string]: string; }; /** * @description Reference for the next OpenSea API call. Use it only after storage returns 2xx. * @example upload-token-example */ token: string; }; /** @description Request body for uploading a profile image */ UploadProfileImageRequest: { /** @description Image type to upload */ imageType: string; /** * @description Exact MIME type of the image bytes * @example image/png */ contentType: string; }; ConsiderationItem: { /** Format: int32 */ itemType: number; token: string; identifierOrCriteria: string; startAmount: string; endAmount: string; recipient: string; }; OfferItem: { /** Format: int32 */ itemType: number; token: string; identifierOrCriteria: string; startAmount: string; endAmount: string; }; SeaportParameters: { offerer: string; zone?: string; offer: components["schemas"]["OfferItem"][]; consideration: components["schemas"]["ConsiderationItem"][]; /** Format: int32 */ orderType: number; startTime: string; endTime: string; zoneHash: string; salt: string; conduitKey: string; /** Format: int32 */ totalOriginalConsiderationItems: number; counter: string; }; SeaportRequest: { parameters: components["schemas"]["SeaportParameters"]; protocol_address: string; signature: string; }; CollectionInner: { slug: string; }; ContractInner: { address: string; }; Criteria: { collection?: components["schemas"]["CollectionInner"]; contract?: components["schemas"]["ContractInner"]; traits?: components["schemas"]["TraitData"][]; numeric_traits?: components["schemas"]["NumericTraitData"][]; encoded_token_ids?: string; }; Item: { /** Format: int32 */ itemType: number; token: string; identifierOrCriteria: string; startAmount: string; endAmount: string; }; NumericTraitData: { type: string; /** Format: float */ min?: number; /** Format: float */ max?: number; }; Offer: components["schemas"]["ListingOrOffer"] & { /** @description Seaport order hash, a 0x-prefixed 32-byte value. Absent on an order that settles through a Solana marketplace program, which has no Seaport identity and carries `svm_order` instead. Every EVM order has one. */ order_hash?: string; chain: string; protocol_data?: components["schemas"]["ProtocolData"]; protocol_address?: string; asset?: components["schemas"]["OrderAsset"]; /** Format: int64 */ remaining_quantity: number; /** Format: int64 */ order_created_at?: number; /** @description Marketplace protocol a Solana order settles through, which is what tells you which identity shape the order uses. Absent on a Seaport order, whose payload is unchanged. Only orders we can build fulfillment for carry a value here. */ protocol?: string; /** @description Identity of a Solana order, present in place of `order_hash`. A client that assumes `order_hash` is always set should read this field first and fall back to `order_hash`. */ svm_order?: components["schemas"]["SvmOrderIdentity"]; criteria?: components["schemas"]["Criteria"]; price: components["schemas"]["Price"]; /** @enum {string} */ status: "ACTIVE" | "INACTIVE" | "FULFILLED" | "EXPIRED" | "CANCELLED"; }; Order: { /** @description Seaport order hash, a 0x-prefixed 32-byte value. Absent on an order that settles through a Solana marketplace program, which has no Seaport identity and carries `svm_order` instead. Every EVM order has one. */ order_hash?: string; chain: string; protocol_data?: components["schemas"]["ProtocolData"]; protocol_address?: string; asset?: components["schemas"]["OrderAsset"]; /** Format: int64 */ remaining_quantity: number; /** Format: int64 */ order_created_at?: number; /** @description Marketplace protocol a Solana order settles through, which is what tells you which identity shape the order uses. Absent on a Seaport order, whose payload is unchanged. Only orders we can build fulfillment for carry a value here. */ protocol?: string; /** @description Identity of a Solana order, present in place of `order_hash`. A client that assumes `order_hash` is always set should read this field first and fall back to `order_hash`. */ svm_order?: components["schemas"]["SvmOrderIdentity"]; }; OrderAsset: { identifier?: string; contract: string; }; Parameters: { offerer: string; offer: components["schemas"]["Item"][]; consideration: components["schemas"]["ConsiderationItem"][]; startTime: string; endTime: string; /** Format: int32 */ orderType: number; zone: string; zoneHash: string; salt: string; conduitKey: string; /** Format: int32 */ totalOriginalConsiderationItems: number; counter: number; }; Price: { currency: string; /** Format: int32 */ decimals: number; value: string; }; ProtocolData: { parameters: components["schemas"]["Parameters"]; signature?: string; }; /** @description Identity of an order that settles through a Solana marketplace program. Such an order has no Seaport order hash, so `order_hash` is absent from its payload and it is addressed instead by `id`, the transaction signature that created it joined to the onchain state account holding it. Pass that `id` wherever an endpoint takes an order hash. */ SvmOrderIdentity: { /** * @description `creation_signature:order_state`. This is what an endpoint expecting an order hash takes for a Solana order, for example `GET /api/v2/orders/chain/solana/protocol/{protocol_address}/{order_hash}`. Base58 and case-sensitive; do not lowercase it. * @example 5j7s1QzqC8sT4Kz1oB9dYnUZ4qHnKX6h9YmZ6Zt7Zb3Q:CvhyBLWDcNwMatkNvMYuHALvbG1NzYrGw32dGzREaQKc */ id: string; /** @description Address of the onchain account holding the order's state. The second half of `id`. */ order_state: string; /** @description Signature of the transaction that created the order. The first half of `id`. */ creation_signature: string; /** @description Mint of the asset the order is for, where the program records one. Absent otherwise. */ asset_id?: string; /** @description Wallet that created the order. */ maker: string; }; TraitData: { type: string; value: string; }; Listing: components["schemas"]["ListingOrOffer"] & { /** @description Seaport order hash, a 0x-prefixed 32-byte value. Absent on an order that settles through a Solana marketplace program, which has no Seaport identity and carries `svm_order` instead. Every EVM order has one. */ order_hash?: string; chain: string; protocol_data?: components["schemas"]["ProtocolData"]; protocol_address?: string; asset?: components["schemas"]["OrderAsset"]; /** Format: int64 */ remaining_quantity: number; /** Format: int64 */ order_created_at?: number; /** @description Marketplace protocol a Solana order settles through, which is what tells you which identity shape the order uses. Absent on a Seaport order, whose payload is unchanged. Only orders we can build fulfillment for carry a value here. */ protocol?: string; /** @description Identity of a Solana order, present in place of `order_hash`. A client that assumes `order_hash` is always set should read this field first and fall back to `order_hash`. */ svm_order?: components["schemas"]["SvmOrderIdentity"]; price: components["schemas"]["ListingPrice"]; type: string; /** @enum {string} */ status: "ACTIVE" | "INACTIVE" | "FULFILLED" | "EXPIRED" | "CANCELLED"; }; ListingPrice: { /** @description What a buyer pays to fill this listing through OpenSea. For most listings this equals the sum of the consideration items in protocolData. A listing ingested from another marketplace may additionally include OpenSea's marketplace fee, which is applied to the transaction at fulfillment rather than being part of the order the seller signed; where that applies, the consideration in protocolData sums to less than this value. */ current: components["schemas"]["Price"]; }; CancelRequest: { offererSignature?: string; }; CancelResponse: { last_signature_issued_valid_until: string; }; /** @description Request to get order cancellation actions */ CancelOrderActionsRequest: { /** * @description Maker wallet address that owns the order * @example 0x... */ address: string; }; /** @description Response containing blockchain actions to execute for order cancellation */ CancelOrderActionsResponse: { /** @description Ordered list of blockchain actions to execute. May include approval actions (e.g. setApprovalForAll) and a createListingsAction containing the Seaport order to sign. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; }; JsonNode: unknown; CollectionCriteria: { slug: string; }; ContractCriteria: { address: string; }; /** @description Criteria for collection or trait offers. When traits are specified, the offer targets NFTs matching those traits. For supported collections, the identifierOrCriteria (merkle root) will be '0' and trait matching is validated server-side at fulfillment time. */ CriteriaRequest: { collection: components["schemas"]["CollectionCriteria"]; contract?: components["schemas"]["ContractCriteria"]; /** * @deprecated * @description Deprecated: Use 'traits' array instead which supports both single and multiple traits. */ trait?: components["schemas"]["TraitCriteria"]; /** @description Trait criteria for the offer. Each trait specifies a type and value that target NFTs must match. These traits are validated server-side at fulfillment time. */ traits?: components["schemas"]["TraitCriteria"][]; /** @description Numeric trait criteria for the offer. Each entry specifies a trait type with optional min/max range bounds. Can be combined with categorical traits. */ numericTraits?: components["schemas"]["NumericTraitCriteria"][]; }; NumericTraitCriteria: { type: string; /** Format: double */ min?: number; /** Format: double */ max?: number; }; OfferWithCriteriaRequest: { protocol_data: components["schemas"]["SeaportProtocolDataModel"]; criteria: components["schemas"]["CriteriaRequest"]; protocol_address: string; }; SeaportProtocolDataModel: { parameters: components["schemas"]["SeaportParameters"]; signature: string; }; TraitCriteria: { type: string; value: string; }; ConsiderationObject: { asset_contract_address: string; token_id: string; }; FulfillerObject: { address: string; }; FullfillmentDataRequest: { offer: components["schemas"]["OfferObject"]; fulfiller: components["schemas"]["FulfillerObject"]; consideration?: components["schemas"]["ConsiderationObject"]; /** * Format: int64 * @description Optional quantity of units to fulfill; defaults to 1 for offers */ units_to_fill?: number; /** * @description Whether to include optional creator fees in the fulfillment. If creator fees are already required, this is a no-op. Defaults to false. * @default false */ include_optional_creator_fees: boolean; }; OfferObject: { hash: string; chain: string; protocol_address: string; }; AdditionalRecipient: { value?: components["schemas"]["Type"][]; amount?: number; recipient?: string; typeAsString?: string; nativeValueCopy?: unknown[]; }; Address: { value?: string; typeAsString?: string; }; AdvancedOrder: { value?: components["schemas"]["Type"][]; parameters?: components["schemas"]["OrderParameters"]; numerator?: number; denominator?: number; /** Format: byte */ signature?: string; /** Format: byte */ extraData?: string; typeAsString?: string; nativeValueCopy?: unknown[]; }; BasicOrderParameters: { value?: components["schemas"]["Type"][]; considerationToken?: string; considerationIdentifier?: number; considerationAmount?: number; offerer?: string; zone?: string; offerToken?: string; offerIdentifier?: number; offerAmount?: number; basicOrderType?: number; startTime?: number; endTime?: number; /** Format: byte */ zoneHash?: string; salt?: number; /** Format: byte */ offererConduitKey?: string; /** Format: byte */ fulfillerConduitKey?: string; totalOriginalAdditionalRecipients?: number; additionalRecipients?: components["schemas"]["AdditionalRecipient"][]; /** Format: byte */ signature?: string; typeAsString?: string; nativeValueCopy?: unknown[]; }; CriteriaResolver: { value?: components["schemas"]["Type"][]; orderIndex?: number; side?: number; index?: number; identifier?: number; criteriaProof?: string[]; typeAsString?: string; nativeValueCopy?: unknown[]; }; FulfillAdvancedOrder: components["schemas"]["SeaportCall"] & { advancedOrder: components["schemas"]["AdvancedOrder"]; criteriaResolvers: components["schemas"]["CriteriaResolver"][]; fulfillerConduitKey: string; recipient: components["schemas"]["Address"]; }; FulfillAvailableAdvancedOrders: components["schemas"]["SeaportCall"] & { orders: components["schemas"]["AdvancedOrder"][]; criteriaResolvers: components["schemas"]["CriteriaResolver"][]; offerFulfillments: components["schemas"]["FulfillmentComponent"][][]; considerationFulfillments: components["schemas"]["FulfillmentComponent"][][]; fulfillerConduitKey: string; recipient: components["schemas"]["Address"]; maximumFulfilled: components["schemas"]["Uint256"]; }; FulfillAvailableOrders: components["schemas"]["SeaportCall"] & { orders: components["schemas"]["Order"][]; offerFulfillments: components["schemas"]["FulfillmentComponent"][][]; considerationFulfillments: components["schemas"]["FulfillmentComponent"][][]; fulfillerConduitKey: string; maximumFulfilled: components["schemas"]["Uint256"]; }; FulfillBasicOrder: components["schemas"]["SeaportCall"] & { parameters: components["schemas"]["BasicOrderParameters"]; }; FulfillListingResponse: { protocol: string; fulfillment_data: components["schemas"]["FulfillmentData"]; }; FulfillOrder: components["schemas"]["SeaportCall"] & { order: components["schemas"]["Order"]; fulfillerConduitKey: string; }; Fulfillment: { value?: components["schemas"]["Type"][]; offerComponents?: components["schemas"]["FulfillmentComponent"][]; considerationComponents?: components["schemas"]["FulfillmentComponent"][]; typeAsString?: string; nativeValueCopy?: unknown[]; }; FulfillmentComponent: { value?: components["schemas"]["Type"][]; orderIndex?: number; itemIndex?: number; typeAsString?: string; nativeValueCopy?: unknown[]; }; FulfillmentData: { transaction: components["schemas"]["TransactionData"]; orders: components["schemas"]["OrderData"][]; }; MatchAdvancedOrders: components["schemas"]["SeaportCall"] & { orders: components["schemas"]["AdvancedOrder"][]; criteriaResolvers: components["schemas"]["CriteriaResolver"][]; fulfillments: components["schemas"]["Fulfillment"][]; recipient: components["schemas"]["Address"]; }; MatchOrders: components["schemas"]["SeaportCall"] & { orders: components["schemas"]["Order"][]; fulfillments: components["schemas"]["Fulfillment"][]; }; OrderData: { parameters: components["schemas"]["Parameters"]; signature: string; }; OrderParameters: { value?: components["schemas"]["Type"][]; offerer?: string; zone?: string; offer?: components["schemas"]["OfferItem"][]; consideration?: components["schemas"]["ConsiderationItem"][]; orderType?: number; startTime?: number; endTime?: number; /** Format: byte */ zoneHash?: string; salt?: number; /** Format: byte */ conduitKey?: string; totalOriginalConsiderationItems?: number; typeAsString?: string; nativeValueCopy?: unknown[]; }; SeaportCall: unknown; TransactionData: { function: string; /** Format: int32 */ chain: number; to: string; value: string; value_hex?: string; input_data: components["schemas"]["FulfillAdvancedOrder"] | components["schemas"]["FulfillAvailableAdvancedOrders"] | components["schemas"]["FulfillAvailableOrders"] | components["schemas"]["FulfillBasicOrder"] | components["schemas"]["FulfillOrder"] | components["schemas"]["MatchAdvancedOrders"] | components["schemas"]["MatchOrders"]; /** @description 4-byte hex attribution suffix (e.g. 0xcdb44011) to append to the ABI-encoded calldata before submitting the transaction onchain. Appending this suffix attributes the fill to OpenSea; omitting it does not affect execution. */ calldata_suffix?: string; }; Type: { value?: unknown; typeAsString?: string; }; Uint256: { value?: number; /** Format: int32 */ bitSize?: number; typeAsString?: string; }; /** @description Response containing blockchain actions to execute to fulfill an order */ FulfillmentActionsResponse: { /** @description Ordered list of blockchain actions to execute. May include approval actions (e.g. setApprovalForAll) and a createListingsAction containing the Seaport order to sign. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; }; BuildOfferRequest: { offerer: string; /** Format: int32 */ quantity: number; criteria: components["schemas"]["CriteriaObject"]; protocol_address: string; offer_protection_enabled: boolean; }; CollectionObject: { slug: string; }; CriteriaObject: { collection: components["schemas"]["CollectionObject"]; /** * @deprecated * @description Deprecated: Use 'traits' array instead which supports both single and multiple traits. */ trait?: components["schemas"]["TraitObject"]; traits?: components["schemas"]["TraitObject"][]; numericTraits?: components["schemas"]["NumericTraitCriteria"][]; }; TraitObject: { type: string; value: string; }; BuildOfferResponse: { partialParameters: components["schemas"]["PartialParameters"]; /** @description The criteria to pass through to the POST /api/v2/offers submit step. Includes collection and trait information so trait offers are not accidentally submitted as collection offers. */ criteria: components["schemas"]["CriteriaRequest"]; /** @description Encoded token IDs that can be used to fulfill the criteria offer. When identifierOrCriteria is '0', this field is informational only and not required for order construction. */ encodedTokenIds?: string; }; Consideration: { /** Format: int32 */ itemType: number; token: string; /** @description For criteria-based offers, this is the merkle root of eligible token IDs. For trait offers on supported collections, this will be '0' — trait matching is validated server-side at fulfillment time instead of via onchain merkle proof. */ identifierOrCriteria: string; startAmount: string; endAmount: string; recipient: string; }; PartialParameters: { consideration: components["schemas"]["Consideration"][]; zone: string; zoneHash: string; }; /** @description An item to make an offer on */ CreateOfferActionItem: { /** * @description Chain of the item (e.g. 'ethereum', 'base') * @example ethereum */ chain: string; /** * @description Contract address of the NFT * @example 0x... */ contract: string; /** * @description Token ID of the NFT * @example 1234 */ token_id: string; }; /** @description Request to get offer creation actions */ CreateOfferActionsRequest: { /** @description Item to make an offer on */ item: components["schemas"]["CreateOfferActionItem"]; /** * @description Maker (buyer) wallet address * @example 0x... */ address: string; /** * Format: int64 * @description Quantity to offer on (use 1 for ERC-721) * @example 1 */ quantity: number; /** @description Price per item */ price: components["schemas"]["ListingPriceInput"]; /** * @description Offer start time in ISO 8601 format. Defaults to now. * @example 2026-05-01T00:00:00Z */ start_time?: string; /** * @description Offer end time in ISO 8601 format. Defaults to 30 days from start. * @example 2026-06-01T00:00:00Z */ end_time?: string; /** @description Whether to include optional creator fees. Defaults to false. */ use_creator_fee?: boolean; }; /** @description Price for a listing item */ ListingPriceInput: { /** * @description Price amount in the currency's unit (e.g. '5.0' for 5 ETH) * @example 5 */ amount: string; /** * @description Contract address of the payment currency (use 0x0000000000000000000000000000000000000000 for native token) * @example 0x0000000000000000000000000000000000000000 */ currency: string; }; /** @description Response containing blockchain actions to execute for offer creation */ CreateOfferActionsResponse: { /** @description Ordered list of blockchain actions to execute. May include approval actions (e.g. setApprovalForAll) and a createListingsAction containing the Seaport order to sign. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; }; /** @description Request body for batch NFT retrieval by identifiers */ BatchNftsRequest: { /** @description List of NFT identifiers to retrieve */ identifiers: components["schemas"]["NftIdentifierInput"][]; }; /** @description An NFT identifier consisting of chain, contract address, and token ID */ NftIdentifierInput: { /** * @description The blockchain the NFT is on * @example ethereum */ chain: string; /** * @description The contract address of the NFT * @example 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D */ contract_address: string; /** * @description The token ID of the NFT * @example 1 */ token_id: string; }; AgentBindingResponse: { agent_id: string; binding_contract: string; agent: components["schemas"]["AgentNftResponse"]; registered_by?: string; }; AgentNftResponse: { chain: string; token_id: string; contract_address: string; }; Nft: { identifier: string; collection: string; contract: string; token_standard: string; name?: string; description?: string; image_url?: string; display_image_url?: string; display_animation_url?: string; metadata_url?: string; opensea_url: string; updated_at: string; is_disabled: boolean; is_nsfw: boolean; original_image_url?: string; original_animation_url?: string; traits: components["schemas"]["Trait"][]; /** Format: double */ estimated_value_usd?: number; /** Format: int32 */ decimals?: number; }; NftBatchResponse: { nfts: components["schemas"]["NftDetailed"][]; }; NftDetailed: { identifier: string; collection: string; contract: string; token_standard: string; name?: string; description?: string; image_url?: string; display_image_url?: string; display_animation_url?: string; metadata_url?: string; opensea_url: string; updated_at: string; is_disabled: boolean; is_nsfw: boolean; original_image_url?: string; original_animation_url?: string; traits: components["schemas"]["Trait"][]; /** Format: double */ estimated_value_usd?: number; /** Format: int32 */ decimals?: number; animation_url?: string; is_suspicious: boolean; creator: string; owners: components["schemas"]["Owner"][]; rarity?: components["schemas"]["Rarity"]; subscription?: components["schemas"]["SubscriptionInfoResponse"]; agent_binding?: components["schemas"]["AgentBindingResponse"]; }; Owner: { address: string; /** Format: int32 */ quantity: number; quantity_string: string; }; Rarity: { strategy_id: string; strategy_version: string; /** Format: int64 */ rank?: number; }; SubscriptionInfoResponse: { /** * Format: double * @description Unix timestamp in seconds, including fractional seconds */ expires_at?: number; is_renewable: boolean; is_expired: boolean; }; Trait: { trait_type: string; display_type?: string; max_value?: string; value: unknown; }; /** @description Payment token to use for a cross-chain transaction */ CrossChainPaymentToken: { /** * @description Chain of the payment token (e.g. 'base', 'ethereum') * @example base */ chain: string; /** * @description Contract address of the payment token (use 0x0000000000000000000000000000000000000000 for native token) * @example 0x0000000000000000000000000000000000000000 */ token_address: string; }; /** @description Request to sweep buy items from a collection */ SweepCollectionRequest: { /** * @description The slug of the collection to sweep * @example pudgypenguins */ collection_slug: string; /** @description The token to pay with */ payment: components["schemas"]["CrossChainPaymentToken"]; /** * Format: int32 * @description Maximum number of items to buy (1-50) * @example 5 */ max_items: number; /** * @description Maximum price per item in the payment token's units * @example 10 */ max_price_per_item: string; /** * @description Address of the buyer * @example 0x... */ buyer: string; /** @description Optional recipient address for the purchased items */ recipient?: string; }; /** @description Response containing ordered blockchain actions to execute for a collection sweep */ SweepCollectionResponse: { /** @description Ordered list of blockchain actions to execute. Each action is a JSON object with a single field indicating the type (e.g. buyItemAction, permit2SignatureAction, paymentApprovalAction) and its associated data. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; /** @description Errors encountered during sweep. Present alongside steps for partial success cases (e.g. some listings became unavailable). */ errors?: components["schemas"]["SweepError"][]; }; /** @description An error encountered during a sweep operation */ SweepError: { /** @description Human-readable error message */ message: string; }; FullfillListingRequest: { listing: components["schemas"]["ListingObject"]; fulfiller: components["schemas"]["FulfillerObject"]; consideration?: components["schemas"]["ConsiderationObject"]; recipient?: string; /** * Format: int64 * @description Optional quantity of units to fulfill; defaults to remaining units for listings */ units_to_fill?: number; /** * @description Whether to include optional creator fees in the fulfillment. If creator fees are already required, this is a no-op. Defaults to false. * @default false */ include_optional_creator_fees: boolean; }; ListingObject: { hash: string; chain: string; protocol_address: string; }; /** @description Request to fulfill one or more listings using a payment token on a different chain or a different token on the same chain */ CrossChainFulfillmentRequest: { /** @description One or more listings to fulfill */ listings: components["schemas"]["ListingObject"][]; fulfiller: components["schemas"]["FulfillerObject"]; /** @description The token to pay with */ payment: components["schemas"]["CrossChainPaymentToken"]; /** @description Optional recipient address for the purchased items */ recipient?: string; }; /** @description Response containing ordered transactions to execute for cross-chain fulfillment */ CrossChainFulfillmentResponse: { /** @description Ordered list of transactions to execute. May include approval and buy/swap transactions. */ transactions: components["schemas"]["SwapTransactionResponse"][]; }; /** @description Request to get listing creation actions */ CreateListingActionsRequest: { /** @description Items to list for sale */ items: components["schemas"]["ListingItem"][]; /** * @description Maker (seller) wallet address * @example 0x... */ address: string; /** @description Whether to include creator fees. Defaults to true. */ use_creator_fee?: boolean; /** @description Optional taker address for private listings */ taker?: string; }; /** @description An item to list for sale */ ListingItem: { /** * @description Chain of the item (e.g. 'ethereum', 'base') * @example ethereum */ chain: string; /** * @description Contract address of the NFT * @example 0x... */ contract: string; /** * @description Token ID of the NFT * @example 1234 */ token_id: string; /** * Format: int64 * @description Quantity to list (use 1 for ERC-721) * @example 1 */ quantity: number; /** @description Price per item */ price: components["schemas"]["ListingPriceInput"]; /** * @description Listing start time in ISO 8601 format. Defaults to now. * @example 2026-05-01T00:00:00Z */ start_time?: string; /** * @description Listing end time in ISO 8601 format. Defaults to 30 days from start. * @example 2026-06-01T00:00:00Z */ end_time?: string; }; /** @description Response containing blockchain actions to execute for listing creation */ CreateListingActionsResponse: { /** @description Ordered list of blockchain actions to execute. May include approval actions (e.g. setApprovalForAll) and a createListingsAction containing the Seaport order to sign. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; }; /** @description Response for saving Creator Studio drop edits */ SaveDropResponse: { /** @description Whether the drop edits were saved successfully */ success: boolean; }; /** @description Native token price for a Creator Studio drop stage */ SaveDropEditsPriceRequest: { /** @description Price unit as a decimal string */ unit: string; /** @description Contract address for the price token */ contract_address: string; }; /** @description Request to save Creator Studio drop edits */ SaveDropEditsRequest: { /** @description The drop's complete stage set, replacing any existing stages rather than merging with them. Exactly one stage must be `public_sale` and it must be first in this array. The presales that follow must be contiguous among themselves, each starting exactly when the previous presale ended, and the last must end exactly when the public stage starts. The first presale start time is not constrained. Array order is therefore not chronological: the public stage is listed first and runs last. */ stages: components["schemas"]["SaveDropEditsStageRequest"][]; /** @description Maximum supply for the drop as a decimal string */ max_supply?: string; /** @description Creator payout address */ creator_payout_address?: string; /** * @description Set when saving a configuration the creator has not chosen a launch date for. Stage start and end times are still required, but they are held as a placeholder rather than a schedule: the whole stage set is shifted so the earliest stage opens at the Unix epoch, preserving each stage's duration and the gaps between them, and publishing the drop is refused until a launch date is set. Omit it to leave the drop scheduled; an explicit null is rejected. * @default false */ launch_date_pending: boolean; }; /** @description A drop stage for Creator Studio edits */ SaveDropEditsStageRequest: { /** @description Stage UUID. Reuse an existing stage UUID to update that stage, or supply a new one to add a stage. Because `stages` replaces the whole set, omitting a stage deletes it. */ uuid: string; /** * @description Stage type. `public_sale` for the open stage, `signed_presale` for an allowlist stage. `merkle_presale` exists in the underlying enum but is rejected: no drop has ever used one and mints against such a stage fail. * @example signed_presale * @enum {string} */ stage_type: "public_sale" | "signed_presale"; /** * Format: date-time * @description Stage start time * @example 2024-01-01T00:00:00Z */ start_time: string; /** * Format: date-time * @description Stage end time * @example 2024-01-01T01:00:00Z */ end_time: string; /** @description Stage price */ price: components["schemas"]["SaveDropEditsPriceRequest"]; /** @description Maximum tokens mintable per wallet as a decimal string. Cumulative across stages rather than per stage, so this is a running total for the wallet. A wallet that has already reached a later stage's cap cannot mint on it. */ max_total_mintable_by_wallet: string; /** @description Maximum token supply for this stage as a decimal string */ max_token_supply_for_stage?: string; /** @description Stage label */ label?: string; /** @description Stage description */ description?: string; /** @description Allowlist file token */ allowlist_file_token?: string; }; /** @description Response body for saving a prereveal drop item */ PrerevealDropItemResponse: { /** @description Item name */ name: string; /** @description Item description */ description?: string; /** @description Item image URL */ image_url: string; /** @description Image media token */ media_token: string; /** @description Item media type */ media_type?: string; }; /** @description Request body for saving a prereveal drop item */ SavePrerevealDropItemRequest: { /** @description Media token reference */ media_token: string; /** @description Item name */ name: string; /** @description Item description */ description?: string; /** @description Media type */ media_type?: string; }; /** @description Ready-to-sign mint transaction data */ DropMintResponse: { /** @description Transaction target contract address */ to: string; /** @description Encoded transaction data (hex) */ data: string; /** @description Transaction value in wei (hex) */ value: string; /** @description Chain identifier */ chain: string; }; /** @description Mint request parameters */ DropMintRequest: { /** * @description Wallet address that will receive the minted tokens * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ minter: string; /** * Format: int32 * @description Number of tokens to mint * @example 1 */ quantity: number; }; /** @description Request to create a SelfMint drop item */ SaveSelfMintDropItemRequest: { /** @description Media token reference */ media_token: string; /** @description Item name */ name: string; /** @description Item supply as a decimal string */ supply: string; /** @description Item description */ description?: string; /** @description External URL */ external_url?: string; /** @description Animated media for the item, alongside its image. Blank is treated as no animation, the same as omitting the field. */ animation_url?: string; /** @description Item traits */ traits?: components["schemas"]["SelfMintDropItemTraitRequest"][]; }; /** @description Request body for uploading drop item media */ UploadDropItemMediaRequest: { /** @description Filenames to upload */ filenames: string[]; }; /** @description Response body for saving drop item media */ SaveDropItemMediaResponse: { /** @description Whether the save succeeded */ success: boolean; }; /** @description Request body for saving drop item media */ SaveDropItemMediaRequest: { /** @description Media tokens to save */ media_tokens: string[]; }; /** @description Ordered transactions required to complete a cross-chain mint */ CrossChainDropMintResponse: { /** @description Ordered list of transactions to sign and submit */ transactions: components["schemas"]["SwapTransactionResponse"][]; /** @description Pass this object to POST /api/v2/transactions/receipt after submitting the transactions, and poll until the returned status is terminal */ receipt_request: components["schemas"]["TransactionReceiptRequest"]; }; /** @description Cross-chain mint request parameters */ CrossChainDropMintRequest: { /** * @description Wallet address that will sign and pay for the transactions * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ payer: string; /** * @description Wallet address that will receive the minted tokens * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ minter: string; /** * Format: int32 * @description Number of tokens to mint * @example 1 */ quantity: number; /** @description Token used to pay for the mint */ payment: components["schemas"]["CrossChainPaymentToken"]; }; /** @description Response body for validating a drop allowlist */ ValidateDropAllowlistResponse: { /** @description Token for the validated allowlist file */ token: string; }; /** @description Request body for validating a drop allowlist */ ValidateDropAllowlistRequest: { /** @description Token for the uploaded allowlist file */ allowlist_file_token: string; }; /** @description Ready-to-sign deploy contract transaction data */ DropDeployResponse: { /** @description Transaction target contract address */ to: string; /** @description Encoded transaction data (hex) */ data: string; /** @description Transaction value in wei (hex) */ value: string; /** @description Chain identifier */ chain: string; }; /** @description Deploy contract request parameters */ DropDeployRequest: { /** * @description Chain slug (e.g. "ethereum", "base") * @example ethereum */ chain: string; /** * @description Name for the new contract * @example My NFT Collection */ contract_name: string; /** * @description Symbol for the new contract * @example MNFT */ contract_symbol: string; /** * @description Drop type (see validation error for supported values) * @example seadrop_v1_erc721 */ drop_type: string; /** * @description Token type (see validation error for supported values) * @example erc721_standard */ token_type: string; /** * @description Deployer wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ sender: string; }; /** @description Request body for batch collection retrieval by slugs */ BatchCollectionsRequest: { /** * @description List of collection slugs to retrieve * @example [ * "boredapeyachtclub", * "doodles-official" * ] */ slugs: string[]; }; CollectionBatchResponse: { collections: components["schemas"]["CollectionResponse"][]; }; CollectionResponse: { collection: string; name: string; description?: string; image_url?: string; banner_image_url?: string; owner?: string; safelist_status: string; category?: string; is_disabled: boolean; is_nsfw: boolean; trait_offers_enabled: boolean; collection_offers_enabled: boolean; opensea_url: string; project_url?: string; wiki_url?: string; discord_url?: string; telegram_url?: string; twitter_username?: string; instagram_username?: string; contracts: components["schemas"]["Contract"][]; }; Contract: { address: string; chain: string; }; MetadataIngestionError: { errorType: string; message: string; url?: string; /** Format: int32 */ statusCode?: number; }; ValidateMetadataAssetIdentifier: { chain: string; contractAddress: string; tokenId: string; }; ValidateMetadataAttribute: { traitType: string; value: string; displayType?: string; }; ValidateMetadataDetails: { name?: string; description?: string; originalImageUrl?: string; processedImageUrl?: string; originalAnimationUrl?: string; processedAnimationUrl?: string; externalUrl?: string; backgroundColor?: string; attributes: components["schemas"]["ValidateMetadataAttribute"][]; }; ValidateMetadataResponse: { assetIdentifier: components["schemas"]["ValidateMetadataAssetIdentifier"]; tokenUri?: string; metadata?: components["schemas"]["ValidateMetadataDetails"]; error?: components["schemas"]["MetadataIngestionError"]; }; /** @description Instant API key response */ InstantApiKeyResponse: { /** @description The API key to use in X-API-KEY header */ api_key: string; /** @description Key name for identification and revocation */ name: string; /** * Format: date-time * @description ISO-8601 timestamp when the key expires */ expires_at: string; /** @description Rate limits for this key */ rate_limits: components["schemas"]["RateLimitsResponse"]; /** @description URL to upgrade to higher rate limits */ upgrade_url: string; }; /** @description Rate limits for the API key */ RateLimitsResponse: { /** * @description Read rate limit * @example 600/h */ read: string; /** * @description Write rate limit * @example 30/h */ write: string; /** * @description Fulfillment rate limit * @example 5/m */ fulfillment: string; }; /** @description An asset to transfer */ TransferAsset: { /** * @description The chain the asset is on (e.g. ethereum, base, solana) * @example ethereum */ chain: string; /** * @description The contract address of the asset * @example 0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 */ contract: string; /** * @description The token ID of the asset * @example 1234 */ token_id: string; /** * @description The quantity to transfer in raw units (1 for ERC721, raw amount for ERC1155/fungible) * @example 1 */ quantity: string; }; /** @description Request to transfer NFTs or tokens between wallets */ TransferRequest: { /** @description List of assets to transfer */ assets: components["schemas"]["TransferAsset"][]; /** * @description Address of the sender wallet * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ from_address: string; /** * @description Address of the recipient wallet * @example 0x28c6c06298d514db089934071355e5743bf21d60 */ to_address: string; }; /** @description Response containing ordered blockchain actions to execute for an asset transfer */ TransferResponse: { /** @description Ordered list of blockchain actions to execute. Each action is a JSON object with a single field indicating the type (e.g. transferAction, approvalAction) and its associated data. Serialized using proto3 JSON format — fields with default values (empty string, 0, false) may be omitted. */ steps: components["schemas"]["JsonNode"][]; }; ProfileSocialMutationResponse: { status: string; }; LinkWalletSiwxRequest: { message: components["schemas"]["JsonNode"]; signature: string; chainArch: string; }; WalletLinkResponse: { linkedWalletAddress: string; }; ProposeAgentRelationshipRequestBody: { counterparty_address: string; /** * @description Which side of the relationship the caller is on * @enum {string} */ caller_role: "AGENT" | "OWNER"; }; AgentRelationshipMutationResponse: { relation: components["schemas"]["AgentRelationshipResponse"]; created: boolean; }; AgentRelationshipResponse: { agent_account_id: string; owner_account_id: string; status: string; awaiting_confirmation_from?: string; /** * Format: double * @description Unix timestamp in seconds, including fractional seconds */ created_at: number; /** * Format: double * @description Unix timestamp in seconds, including fractional seconds */ confirmed_at?: number; }; ConfirmAgentRelationshipRequestBody: { /** @description The other party's account id. Preferred over an address. */ counterparty_account_id?: string; /** @description A wallet the other party has linked publicly, resolved to their account. Stops resolving once unlinked. */ counterparty_address?: string; /** * @description Which side of the relationship the caller is on * @enum {string} */ caller_role: "AGENT" | "OWNER"; }; /** @description Request body for updating profile settings */ UpdateProfileSettingsRequest: { /** @description Profile display name */ displayName?: string; /** @description Profile bio */ bio?: string; /** @description Profile external URL */ externalUrl?: string; /** @description Profile image upload token */ profileImageToken?: string; /** @description Banner image upload token */ bannerImageToken?: string; }; /** @description Response for updating profile settings */ UpdateProfileSettingsResponse: { /** @description Display name */ displayName?: string; /** @description Profile bio */ bio?: string; /** @description Profile external URL */ externalUrl?: string; }; /** @description Response body for a profile shelf action */ ProfileShelfActionResponse: { success: boolean; }; /** @description Request body for reordering profile shelves */ ReorderProfileShelvesRequest: { /** @description Ordered shelf IDs */ shelf_ids: string[]; }; /** @description A shelf item entry that can include an optional description */ ProfileShelfItemUpdateRequest: { item: components["schemas"]["ProfileShelfItemRequest"]; /** @description Optional item description */ description?: string; }; /** @description Request body for updating a profile shelf */ UpdateProfileShelfRequest: { /** @description Shelf title */ title?: string; /** @description Shelf description */ description?: string; items?: components["schemas"]["ProfileShelfItemUpdateRequest"][]; /** @description Shelf icon */ icon?: string; /** @description Shelf view */ view?: string; /** @description Single-item shelf side */ single_item_shelf_side?: string; }; /** @description Response body for a drop item attribute */ DropItemAttributeResponse: { /** @description Trait type */ traitType: string; /** @description Trait value */ value: string; }; /** @description Response body for a drop item */ DropItemResponse: { /** @description Token ID */ token_id: string; /** @description Item name */ name?: string; /** @description Item description */ description?: string; /** @description Item image URL */ image_url: string; /** @description Item attributes */ attributes: components["schemas"]["DropItemAttributeResponse"][]; /** @description Image media token */ media_token: string; /** @description Contract standard */ contract_standard: string; /** @description External URL */ external_url?: string; /** @description Animated media for the item, alongside its image */ animation_url?: string; /** @description Chain identifier */ chain: string; /** @description Contract address */ contract_address: string; }; /** @description Request body for updating a drop item */ UpdateDropItemRequest: { /** @description Media token reference */ media_token: string; /** @description Item name */ name: string; /** @description External URL */ external_url?: string; /** @description Animated media for the item, alongside its image. Omit to leave the stored value alone; send an empty string to remove it. */ animation_url?: string; /** @description Item description */ description?: string; /** @description Traits to apply */ traits?: components["schemas"]["SelfMintDropItemTraitRequest"][]; }; /** @description Response for modifying collection metadata */ ModifyCollectionResponse: { /** @description Whether the collection metadata was modified successfully */ success: boolean; }; /** @description A creator fee entry for collection edits */ ModifyCollectionCreatorFeeRequest: { /** * Format: int32 * @description Creator fee basis points */ basis_points: number; /** @description Creator fee recipient address */ address: string; }; /** @description Request body for modifying collection metadata */ ModifyCollectionRequest: { /** @description Collection name */ name?: string; /** @description Collection description */ description?: string; /** @description Logo image token */ logo_image_token?: string; /** @description Banner image token */ banner_image_token?: string; /** @description Collection category */ category?: string; /** @description New collection slug */ slug?: string; /** @description Whether the collection is NSFW */ is_nsfw?: boolean; /** @description Whether trait offers are enabled */ is_trait_offers_enabled?: boolean; /** @description Whether rarity is disabled */ is_rarity_disabled?: boolean; /** @description Authorized editors */ authorized_editors?: string[]; /** @description Collection external URL */ external_url?: string; /** @description Collection Telegram URL */ telegram_url?: string; /** @description Medium username */ medium_username?: string; /** @description Creator fees */ creator_fees?: components["schemas"]["ModifyCollectionCreatorFeeRequest"][]; /** @description Whether buyer-side creator fees are enabled */ buyer_side_creator_fee_enabled?: boolean; /** * Format: int32 * @description Buyer-side creator fee basis points */ buyer_side_creator_fee_basis_points?: number; /** @description Buyer-side creator fee recipient */ buyer_side_creator_fee_recipient?: string; }; /** @description Response body for setting collection visibility */ SetCollectionVisibilityResponse: { /** @description Whether the visibility update succeeded */ success: boolean; }; /** @description Request body for setting collection visibility */ SetCollectionVisibilityRequest: { /** @description Whether the collection should be hidden */ hidden: boolean; }; /** @description Response for updating collection metadata */ UpdateCollectionMetadataResponse: { /** @description Whether the metadata update succeeded */ success: boolean; }; /** @description Collection about content */ AboutMetadataRequest: { /** @description Preview media */ preview_media?: components["schemas"]["MediaInputRequest"][]; /** @description About sections */ sections?: components["schemas"]["AboutSectionRequest"][]; }; /** @description A section within collection about content */ AboutSectionRequest: { /** @description Section ID */ id?: string; /** @description Section title */ title: string; /** @description Section description */ description: string; /** @description Section media */ media?: components["schemas"]["MediaInputRequest"][]; }; /** @description A content block overview module */ ContentBlockModuleRequest: { /** * Format: int32 * @description Module index */ index: number; /** @description Module ID */ id?: string; /** @description Module title */ title?: string; /** @description Module description */ description?: string; /** @description Module sections */ sections?: components["schemas"]["ContentBlockSectionRequest"][]; }; /** @description A content block section */ ContentBlockSectionRequest: { /** @description Section ID */ id?: string; /** @description Section title */ title?: string; /** @description Section description */ description?: string; /** @description Section external link */ external_link?: components["schemas"]["LinkRequest"]; /** @description Section media */ media?: components["schemas"]["MediaInputRequest"]; /** @description Section module type */ module_type: string; /** @description Section date */ date?: string; /** @description Collection slug */ collection_slug?: string; /** @description Token ID */ token_id?: string; }; /** @description A FAQ overview module */ FaqBlockModuleRequest: { /** * Format: int32 * @description Module index */ index: number; /** @description Whether the module is hidden */ hidden?: boolean; /** @description Module title */ title?: string; /** @description Module description */ description?: string; /** @description Module sections */ sections?: components["schemas"]["FaqSectionRequest"][]; }; /** @description A FAQ section */ FaqSectionRequest: { /** @description Section ID */ id?: string; /** @description Question */ question: string; /** @description Answer */ answer: string; }; /** @description Collection hero content */ HeroMetadataRequest: { /** @description Desktop hero media */ desktop_hero_media?: components["schemas"]["MediaInputRequest"]; /** @description Mobile hero media */ mobile_hero_media?: components["schemas"]["MediaInputRequest"]; }; /** @description An image media input */ ImageMediaRequest: { /** @description Image token */ token: string; }; /** @description A link input */ LinkRequest: { /** @description Link URL */ href: string; /** @description Link label */ label: string; }; /** @description A generic media input */ MediaInputRequest: { /** @description Image media */ image?: components["schemas"]["ImageMediaRequest"]; /** @description Video media */ video?: components["schemas"]["VideoMediaRequest"]; }; /** @description A narrative overview module */ NarrativeModuleRequest: { /** @description Module ID */ id?: string; /** * Format: int32 * @description Module index */ index: number; /** @description Module title */ title: string; /** @description Module description */ description: string; /** @description Module media */ media?: components["schemas"]["MediaInputRequest"][]; /** @description Horizontal text position */ horizontal_text_position?: string; /** @description Vertical text position */ vertical_text_position?: string; /** @description Desktop background media */ desktop_background_media?: components["schemas"]["MediaInputRequest"]; /** @description Mobile background media */ mobile_background_media?: components["schemas"]["MediaInputRequest"]; /** @description Module variant */ variant?: string; /** @description Background image */ background_image?: components["schemas"]["ImageMediaRequest"]; /** @description Background media */ background_media?: components["schemas"]["MediaInputRequest"]; }; /** @description Collection overview content */ OverviewMetadataRequest: { /** @description Overview modules */ modules: components["schemas"]["OverviewModuleRequest"]; }; /** @description Overview modules */ OverviewModuleRequest: { /** @description Narrative modules */ narrative?: components["schemas"]["NarrativeModuleRequest"][]; /** @description Content block modules */ content_block?: components["schemas"]["ContentBlockModuleRequest"][]; /** @description Team modules */ team?: components["schemas"]["TeamBlockModuleRequest"][]; /** @description FAQ modules */ faq?: components["schemas"]["FaqBlockModuleRequest"][]; }; /** @description A team overview module */ TeamBlockModuleRequest: { /** * Format: int32 * @description Module index */ index: number; /** @description Whether the module is hidden */ hidden?: boolean; /** @description Module title */ title?: string; /** @description Module description */ description?: string; /** @description Module sections */ sections?: components["schemas"]["TeamSectionRequest"][]; }; /** @description A team section */ TeamSectionRequest: { /** @description Section ID */ id?: string; /** @description Section name */ name: string; /** @description Section title */ title: string; /** @description Section bio */ bio: string; /** @description Website URL */ website_url?: string; /** @description Twitter URL */ twitter_url?: string; /** @description Instagram URL */ instagram_url?: string; /** @description Section media */ media?: components["schemas"]["MediaInputRequest"][]; }; /** @description Request body for updating collection metadata */ UpdateCollectionMetadataRequest: { /** @description Collection about content */ about?: components["schemas"]["AboutMetadataRequest"]; /** @description Collection hero media */ hero?: components["schemas"]["HeroMetadataRequest"]; /** @description Collection overview content */ overview?: components["schemas"]["OverviewMetadataRequest"]; /** @description Collection logo image token */ logo_image_token?: string; }; /** @description A video media input */ VideoMediaRequest: { /** @description Video token */ token: string; /** @description Enable static video */ enable_static_video?: boolean; }; /** @description Floor price for one trait value in one payment currency */ TraitFloorResponse: { /** @description Trait category, for example Background */ trait_type: string; /** @description Trait value, for example Purple */ value: string; /** * Format: double * @description Price of the cheapest listing carrying this trait value, across every marketplace OpenSea aggregates. This matches the basis of the collection's floor_price and may be below the cheapest listing fulfillable through this API. */ floor_price: number; /** @description Payment token this floor is denominated in, on the response's chain. Floors are not converted to a common currency, so a trait value listed in more than one currency appears once per currency and prices are only comparable within the same symbol. */ payment_token_symbol: string; }; /** @description Floor price per trait value for a collection */ TraitFloorsResponse: { /** @description Chain every floor in this response is denominated on. A collection lives on one chain, so the payment token is identified by this plus 'payment_token_symbol'. */ chain: string; /** @description One entry per text trait value and payment currency that has at least one active listing, ordered by trait type, then value, then price. Numeric traits are not enumerated here; see GET /api/v2/traits/{slug} for their min/max range. */ floors: components["schemas"]["TraitFloorResponse"][]; }; ToolListItemResponse: { tool_id: string; registry_chain: string; registry_addr: string; creator: string; metadata_uri: string; manifest_hash: string; endpoint_url?: string; endpoint_domain?: string; manifest_hash_verified: boolean; is_active: boolean; created_at: string; updated_at: string; }; ToolListPaginatedResponse: { tools: components["schemas"]["ToolListItemResponse"][]; next?: string; }; RegisteredToolResponse: { tool_id: string; registry_chain: string; registry_addr: string; creator: string; metadata_uri: string; manifest_hash: string; endpoint_url?: string; endpoint_domain?: string; manifest_hash_verified: boolean; is_active: boolean; created_at: string; updated_at: string; name?: string; display_name: string; health_status: string; access_tier: string; description?: string; tags?: string[]; inputs?: unknown; outputs?: unknown; creator_address?: string; endpoint?: string; access?: components["schemas"]["ToolAccessResponse"]; image_url?: string; featured_image_url?: string; pricing_recipients: components["schemas"]["ToolPricingRecipientResponse"][]; }; ToolAccessResponse: { open_access: boolean; logic: string; requirements: components["schemas"]["ToolRequirementResponse"][]; }; ToolCollectionResponse: { slug: string; name: string; image_url?: string; opensea_url: string; contracts: components["schemas"]["Contract"][]; }; ToolPricingRecipientResponse: { recipient: string; payment_chain: string; asset: string; protocol: string; amount_per_call: string; created_at: string; asset_symbol?: string; /** Format: int32 */ asset_decimals?: number; asset_image_url?: string; amount_per_call_usd?: string; }; ToolRequirementResponse: { kind: string; type: string; collection_address?: string; token_id?: string; /** Format: int32 */ min_tier?: number; token_address?: string; min_balance?: string; data?: string; label?: string; links?: { [key: string]: string; }; collection?: components["schemas"]["ToolCollectionResponse"]; }; ToolActivityEventResponse: { id: string; type: string; attribution: string; paid: boolean; caller_address: string; seller_address?: string; timestamp: string; amount?: string; asset?: string; /** Format: int64 */ chain_id?: number; tx_hash?: string; candidate_tool_slugs: string[]; }; ToolActivityPaginatedResponse: { activity: components["schemas"]["ToolActivityEventResponse"][]; next?: string; }; ToolPaymentStatsResponse: { /** Format: int64 */ total_payments: number; /** Format: double */ total_volume_usd: number; /** Format: int64 */ unique_buyers: number; /** Format: int64 */ payments_last_24h: number; /** Format: int64 */ payments_last_7d: number; }; ToolSearchPaginatedResponse: { results: components["schemas"]["ToolSearchResultResponse"][]; next?: string; }; ToolSearchResultResponse: { tool_id: string; registry_chain: string; registry_addr: string; name: string; display_name: string; description: string; tags: string[]; creator: string; creator_display_name: string; endpoint_domain: string; access_type: string; payment_stats?: components["schemas"]["ToolPaymentStatsResponse"]; created_at: string; image_url?: string; featured_image_url?: string; pricing_recipients?: components["schemas"]["ToolPricingRecipientResponse"][]; access?: components["schemas"]["ToolAccessResponse"]; }; /** @description Paginated list of tokens */ TokenPaginatedResponse: { /** @description List of tokens */ tokens: components["schemas"]["TokenResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description A token with summary market data */ TokenResponse: { /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The display name of the token * @example USDC */ name: string; /** * @description The ticker symbol of the token * @example USDC */ symbol: string; /** @description URL of the token's image */ image_url?: string; /** * @description Current price in USD * @example 1 */ usd_price: string; /** * Format: int32 * @description Number of decimal places * @example 6 */ decimals: number; /** @description URL to the token page on OpenSea */ opensea_url: string; /** * Format: double * @description Market capitalization in USD */ market_cap_usd?: number; /** * Format: double * @description 24-hour trading volume in USD */ volume_24h?: number; /** * Format: double * @description Price change percentage over the last 24 hours */ price_change_24h?: number; /** * Format: int64 * @description Number of token holders */ holders_count?: number; /** @description Whether OpenSea has verified the token */ is_verified: boolean; /** * Format: double * @description When OpenSea first recorded the token */ created_at?: number; /** * Format: double * @description Earliest known onchain activity for the token */ genesis_date?: number; }; /** @description A currency within a token group */ TokenGroupCurrencyResponse: { /** * @description The contract address of the currency * @example 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 */ address: string; /** * @description The blockchain the currency is on * @example ethereum */ chain: string; /** * @description The display name of the currency * @example Wrapped Ether */ name: string; /** * @description The ticker symbol of the currency * @example WETH */ symbol: string; /** @description URL of the currency's image */ image_url?: string; /** * Format: int32 * @description Number of decimal places * @example 18 */ decimals: number; /** * @description Current price in USD * @example 2345.67 */ usd_price: string; }; /** @description Paginated list of token groups */ TokenGroupPaginatedResponse: { /** @description List of token groups */ token_groups: components["schemas"]["TokenGroupResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description A token group representing equivalent currencies across different blockchains */ TokenGroupResponse: { /** * @description Unique slug identifier for the token group * @example eth */ slug: string; /** * @description Display name of the token group * @example Ethereum */ display_name: string; /** * @description Ticker symbol of the token group * @example ETH */ symbol?: string; /** @description Description of the token group */ description?: string; /** @description URL of the token group's image */ image_url?: string; /** @description URL to the token group page on OpenSea */ opensea_url: string; /** @description Currencies in this token group */ currencies: components["schemas"]["TokenGroupCurrencyResponse"][]; /** @description The primary currency for this token group */ primary_currency: components["schemas"]["TokenGroupCurrencyResponse"]; /** @description Market statistics for the token group */ stats?: components["schemas"]["TokenGroupStatsResponse"]; /** @description Social media links for the token group */ socials?: components["schemas"]["TokenGroupSocialsResponse"]; /** @description ISO 8601 timestamp when the token group was created */ created_at: string; /** @description ISO 8601 timestamp when the token group was last updated */ updated_at: string; }; /** @description Rolling statistics for a token group over multiple time periods */ TokenGroupRollingStatsResponse: { /** @description 1-day trading volume in USD */ volume_1d?: string; /** @description 7-day trading volume in USD */ volume_7d?: string; /** @description 30-day trading volume in USD */ volume_30d?: string; /** * Format: double * @description 1-day price change percentage */ price_change_1d?: number; /** * Format: double * @description 7-day price change percentage */ price_change_7d?: number; /** * Format: double * @description 30-day price change percentage */ price_change_30d?: number; }; /** @description Social media links for a token group */ TokenGroupSocialsResponse: { /** @description The token group's website URL */ website?: string; /** @description The token group's Twitter/X handle */ twitter?: string; /** @description The token group's Discord invite URL */ discord?: string; /** @description The token group's Telegram identifier */ telegram?: string; /** @description CoinMarketCap listing URL */ coinmarketcap?: string; /** @description CoinGecko listing URL */ coingecko?: string; }; /** @description Market statistics for a token group */ TokenGroupStatsResponse: { /** @description Total market capitalization in USD */ market_cap_usd: string; /** @description 24-hour trading volume in USD */ volume_usd_24h: string; /** @description Current price in USD (from primary currency) */ price_usd?: string; /** * Format: double * @description Price change percentage over the last 24 hours */ price_change_percent_24h?: number; /** @description Total supply across all currencies in the group */ total_supply?: string; /** * Format: int32 * @description Number of holders */ holders?: number; /** @description Rolling statistics over multiple time periods */ rolling_stats?: components["schemas"]["TokenGroupRollingStatsResponse"]; }; /** @description Swap quote with price details and executable transactions */ SwapQuoteResponse: { /** @description Price and fee details for the swap */ quote: components["schemas"]["SwapQuoteDetails"]; /** @description Transactions to execute the swap */ transactions: components["schemas"]["SwapTransactionResponse"][]; }; /** @description Account search result */ AccountSearchResponse: { /** @description Primary wallet address of the account */ address: string; /** @description Username of the account */ username?: string; /** @description URL of the account's profile image */ profile_image_url?: string; /** @description URL to the account on OpenSea */ opensea_url: string; }; /** @description Collection search result */ CollectionSearchResponse: { /** * @description The collection slug * @example bored-ape-yacht-club */ collection: string; /** * @description The collection name * @example Bored Ape Yacht Club */ name: string; /** @description URL of the collection image */ image_url?: string; /** @description Whether trading is disabled for this collection */ is_disabled: boolean; /** @description Whether this collection is marked as NSFW */ is_nsfw: boolean; /** @description URL to the collection on OpenSea */ opensea_url: string; }; /** @description NFT search result */ NftSearchResponse: { /** * @description Token ID of the NFT * @example 1234 */ identifier: string; /** * @description Collection slug the NFT belongs to * @example bored-ape-yacht-club */ collection: string; /** @description Contract address of the NFT */ contract: string; /** @description Name of the NFT */ name?: string; /** @description URL of the NFT image */ image_url?: string; /** @description URL to the NFT on OpenSea */ opensea_url: string; }; /** @description Search results response */ SearchResponse: { /** @description List of search results ranked by relevance */ results: components["schemas"]["SearchResultResponse"][]; }; /** @description A single search result with a type discriminator and the corresponding typed object */ SearchResultResponse: { /** * @description The type of search result * @example collection */ type: string; /** @description Collection details, present when type is 'collection' */ collection?: components["schemas"]["CollectionSearchResponse"]; /** @description Token details, present when type is 'token' */ token?: components["schemas"]["TokenSearchResponse"]; /** @description NFT details, present when type is 'nft' */ nft?: components["schemas"]["NftSearchResponse"]; /** @description Account details, present when type is 'account' */ account?: components["schemas"]["AccountSearchResponse"]; }; /** @description Token (currency) search result */ TokenSearchResponse: { /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The display name of the token * @example USDC */ name: string; /** * @description The ticker symbol of the token * @example USDC */ symbol: string; /** @description URL of the token's image */ image_url?: string; /** * @description Current price in USD * @example 1 */ usd_price: string; /** * Format: int32 * @description Number of decimal places * @example 6 */ decimals: number; /** @description URL to the token page on OpenSea */ opensea_url: string; }; /** @description A page of tools saved by the authenticated account */ SavedToolsPaginatedResponse: { tools: components["schemas"]["SavedToolResponse"][]; /** @description Cursor for the next page, or null when this is the last page */ next?: string; }; GetOrderResponse: { order: components["schemas"]["Listing"] | components["schemas"]["Offer"]; }; ListingOrOffer: unknown; OffersResponse: { offers: components["schemas"]["Offer"][]; next?: string; }; AssetMetadataResponse: { name?: string; description?: string; image?: string; external_link?: string; animation_url?: string; traits: components["schemas"]["Trait"][]; /** Format: int32 */ decimals?: number; }; ListingsResponse: { listings: components["schemas"]["Listing"][]; next?: string; }; AssetEventsResponse: { asset_events: (components["schemas"]["OrderEvent"] | components["schemas"]["SaleEvent"] | components["schemas"]["TransferEvent"])[]; next?: string; }; Event: unknown; EventBase: { event_type: string; /** Format: int64 */ event_timestamp: number; transaction?: string; order_hash?: string; protocol_address?: string; chain: string; payment?: components["schemas"]["Payment"]; }; OrderEvent: components["schemas"]["Event"] & { event_type: string; /** Format: int64 */ event_timestamp: number; transaction?: string; order_hash?: string; protocol_address?: string; chain: string; payment?: components["schemas"]["Payment"]; order_type: string; /** Format: int64 */ start_date?: number; /** Format: int64 */ expiration_date?: number; asset?: components["schemas"]["Nft"]; /** Format: int64 */ quantity: number; maker: string; taker?: string; criteria?: components["schemas"]["Criteria"]; is_private_listing: boolean; }; Payment: { quantity: string; token_address: string; /** Format: int32 */ decimals: number; symbol: string; }; SaleEvent: components["schemas"]["Event"] & { event_type: string; /** Format: int64 */ event_timestamp: number; transaction?: string; order_hash?: string; protocol_address?: string; chain: string; payment?: components["schemas"]["Payment"]; /** Format: int64 */ closing_date: number; seller: string; buyer: string; /** Format: int64 */ quantity: number; nft?: components["schemas"]["Nft"]; }; TransferEvent: components["schemas"]["Event"] & { event_type: string; /** Format: int64 */ event_timestamp: number; transaction?: string; order_hash?: string; protocol_address?: string; chain: string; payment?: components["schemas"]["Payment"]; transfer_type: string; from_address: string; to_address: string; nft?: components["schemas"]["Nft"]; /** Format: int64 */ quantity: number; }; /** @description Paginated list of drops */ DropPaginatedResponse: { /** @description List of drops */ drops: components["schemas"]["DropResponse"][]; /** @description Cursor for the next page. May be present even when drops is empty if all items in the page were filtered by visibility rules; continue paginating until next is null. */ next?: string; }; /** @description Summary of an NFT drop */ DropResponse: { /** * @description Collection slug * @example cool-cats */ collection_slug: string; /** * @description Collection name * @example Cool Cats */ collection_name?: string; /** * @description Blockchain the drop is on * @example ethereum */ chain: string; /** @description Contract address */ contract_address: string; /** * @description Drop type * @example seadrop_v1_erc721 */ drop_type: string; /** @description Whether the drop is currently minting */ is_minting: boolean; /** @description Collection image URL */ image_url?: string; /** @description OpenSea URL for the drop */ opensea_url: string; /** @description The currently-minting stage, if the drop is live. Null if not minting. */ active_stage?: components["schemas"]["DropStageResponse"]; /** @description The earliest upcoming stage by start_time when the drop is not currently minting (e.g. before it starts or between stages). Null if the drop is live or has no future stages. */ next_stage?: components["schemas"]["DropStageResponse"]; }; /** @description A mint stage within a drop */ DropStageResponse: { /** @description Stage UUID */ uuid: string; /** * @description Stage type * @example public_sale */ stage_type: string; /** @description Stage label/name */ label?: string; /** @description Mint price per token in wei (decimal string) */ price?: string; /** @description Currency contract address (e.g. 0x0000...0000 for native token) */ price_currency_address: string; /** @description Stage start time (ISO 8601) */ start_time: string; /** @description Stage end time (ISO 8601) */ end_time: string; /** @description Ceiling on the wallet's mints for the whole drop, not this stage alone. Cumulative: SeaDrop checks it against the wallet's lifetime minted count on the contract, so caps on different stages do not add together. Matches max_total_mintable_by_wallet on the eligibility response. */ max_per_wallet: string; /** * Format: int32 * @description Wallets on this stage's allowlist when the drop service last synced it. Null when the stage has no synced allowlist, which includes every public sale stage; that is distinct from 0, which means the allowlist is empty. Equivalent to allowlistMemberCount on the GraphQL DropStage. * @example 1200 */ allowlist_wallet_count?: number; }; /** @description Detailed drop information including stages and supply */ DropDetailedResponse: { /** * @description Collection slug * @example cool-cats */ collection_slug: string; /** * @description Collection name * @example Cool Cats */ collection_name?: string; /** * @description Blockchain the drop is on * @example ethereum */ chain: string; /** @description Contract address */ contract_address: string; /** * @description Drop type * @example seadrop_v1_erc721 */ drop_type: string; /** @description Whether the drop is currently minting */ is_minting: boolean; /** @description Collection image URL */ image_url?: string; /** @description OpenSea URL for the drop */ opensea_url: string; /** @description The currently-minting stage, if the drop is live. Null if not minting. */ active_stage?: components["schemas"]["DropStageResponse"]; /** @description The earliest upcoming stage by start_time when the drop is not currently minting (e.g. before it starts or between stages). Null if the drop is live or has no future stages. */ next_stage?: components["schemas"]["DropStageResponse"]; /** @description Drop stages (public sale, presale, etc.) */ stages: components["schemas"]["DropStageResponse"][]; /** @description Total minted supply */ total_supply?: string; /** @description Maximum supply */ max_supply?: string; }; /** @description Drop eligibility results for the authenticated wallet */ DropEligibilityResponse: { /** @description Per-stage eligibility results */ stages: components["schemas"]["DropStageEligibilityResponse"][]; }; /** @description Drop stage eligibility result for the authenticated wallet */ DropStageEligibilityResponse: { /** * Format: uuid * @description Drop stage UUID */ stage_uuid: string; /** @description Whether the wallet is eligible for this stage */ is_eligible: boolean; /** @description Mint price per token in wei (decimal string) */ price?: string; /** @description Ceiling on the wallet's mints for the whole drop, all token ids included, as a decimal string. Cumulative rather than per stage: SeaDrop checks it against the wallet's lifetime minted count on the contract, so caps on different stages do not add together, and a wallet that has already reached a later stage's cap cannot mint on it. */ max_total_mintable_by_wallet?: string; /** @description The same ceiling for a single token id (ERC-1155), as a decimal string. Also a lifetime total for that token id rather than a per-stage allowance. */ max_total_mintable_by_wallet_per_token?: string; }; /** @description Deploy contract receipt status */ DropDeployReceiptResponse: { /** * @description Deployment status: pending, success, or failed * @example success */ status: string; /** @description Deployed contract address (only present on success) */ contract_address?: string; /** @description Chain slug (only present on success) */ chain?: string; /** @description Linked collection slug (only present on success, may take time to materialize) */ collection_slug?: string; }; CollectionPaginatedResponse: { collections: components["schemas"]["CollectionResponse"][]; next?: string; }; CollectionDetailedResponse: { collection: string; name: string; description?: string; image_url?: string; banner_image_url?: string; owner?: string; safelist_status: string; category?: string; is_disabled: boolean; is_nsfw: boolean; trait_offers_enabled: boolean; collection_offers_enabled: boolean; opensea_url: string; project_url?: string; wiki_url?: string; discord_url?: string; telegram_url?: string; twitter_username?: string; instagram_username?: string; contracts: components["schemas"]["Contract"][]; editors: string[]; fees: components["schemas"]["Fee"][]; required_zone?: string; rarity?: components["schemas"]["CollectionRarity"]; /** Format: int64 */ total_supply: number; /** Format: int64 */ unique_item_count: number; /** Format: date */ created_date: string; pricing_currencies: components["schemas"]["PricingCurrencies"]; }; CollectionRarity: { calculated_at: string; /** Format: int32 */ max_rank: number; /** Format: int64 */ total_supply: number; strategy_id: string; strategy_version: string; }; Fee: { /** Format: double */ fee: number; recipient: string; required: boolean; }; PaymentToken: { symbol: string; address: string; chain: string; image: string; name: string; /** Format: int32 */ decimals: number; eth_price: string; usd_price: string; }; PricingCurrencies: { listing_currency: components["schemas"]["PaymentToken"]; offer_currency: components["schemas"]["PaymentToken"]; }; CollectionStatsResponse: { total: components["schemas"]["Total"]; intervals: components["schemas"]["IntervalStat"][]; }; IntervalStat: { /** * @description Window the stats cover * @example one_day */ interval: string; /** * Format: double * @description Trading volume over the interval, denominated in the currency named by volume_symbol */ volume: number; /** * @description Currency that volume is denominated in. Empty when the conversion rate was unavailable and the unit could not be determined. * @example ETH */ volume_symbol: string; /** * Format: int32 * @description Number of sales over the interval */ sales: number; }; Total: { /** * Format: double * @description All-time trading volume, denominated in the currency named by volume_symbol. This is not necessarily the currency of floor_price. */ volume: number; /** * @description Currency that volume is denominated in. Empty when the conversion rate was unavailable and the unit could not be determined. * @example ETH */ volume_symbol: string; /** * Format: int32 * @description All-time number of sales */ sales: number; /** * Format: int64 * @description Number of distinct addresses holding an item in the collection */ num_owners: number; /** * Format: double * @description Price of the cheapest current listing, denominated in the currency named by floor_price_symbol. 0 when the collection has no listing. */ floor_price: number; /** * @description Currency that floor_price is denominated in. Empty when there is no listing. * @example ETH */ floor_price_symbol: string; }; /** @description A bidder in an offer aggregate */ BidderResponse: { /** @description Wallet address of the bidder */ address: string; /** * Format: int32 * @description Number of offers from this bidder */ quantity: number; }; /** @description An aggregated offer bucket */ CollectionOfferAggregateResponse: { /** @description Offer price level */ offer_price: components["schemas"]["OfferAggregatePriceResponse"]; /** @description Total value of offers at this level */ total_value: components["schemas"]["OfferAggregatePriceResponse"]; /** * Format: int32 * @description Total number of offers at this level */ total_offers: number; /** @description Bidders at this price level */ bidders: components["schemas"]["BidderResponse"][]; }; /** @description Paginated list of collection offer aggregates */ CollectionOfferAggregatesPaginatedResponse: { /** @description List of offer aggregates */ offer_aggregates: components["schemas"]["CollectionOfferAggregateResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description Price information for an offer aggregate */ OfferAggregatePriceResponse: { /** @description Price in USD */ usd_price: string; /** * Format: double * @description Price in token units */ token_unit: number; /** @description Payment token symbol */ symbol?: string; /** @description Blockchain chain */ chain: string; }; /** @description A collection holder */ CollectionHolderResponse: { /** @description Wallet address of the holder */ address: string; /** @description Number of items held */ quantity: number; /** * Format: float * @description Ownership percentage of the collection */ percentage: number; }; /** @description Paginated list of collection holders */ CollectionHoldersPaginatedResponse: { /** @description List of holders */ holders: components["schemas"]["CollectionHolderResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description Floor price history for a collection */ FloorPriceHistoryResponse: { /** @description List of floor price data points */ floor_prices: components["schemas"]["FloorPricePointResponse"][]; }; /** @description A floor price data point */ FloorPricePointResponse: { /** * Format: double * @description Timestamp of the data point */ time: number; /** @description Floor price in USD */ usd_price?: string; /** * Format: double * @description Floor price in token units */ token_unit?: number; /** @description Payment token symbol */ symbol?: string; /** @description Blockchain chain */ chain?: string; }; NftListResponse: { nfts: components["schemas"]["Nft"][]; next?: string; }; /** @description List of supported blockchains */ ChainListResponse: { /** @description List of supported chains */ chains: components["schemas"]["ChainResponse"][]; }; /** @description Information about a supported blockchain */ ChainResponse: { /** * @description The chain identifier slug used in API paths * @example ethereum */ chain: string; /** * @description Human-readable chain name * @example Ethereum */ name: string; /** * @description Native currency symbol * @example ETH */ symbol: string; /** @description Whether token swaps are supported on this chain */ supports_swaps: boolean; /** * @description Block explorer name * @example Etherscan */ block_explorer: string; /** * @description Block explorer base URL * @example https://etherscan.io */ block_explorer_url: string; }; /** @description A price history data point */ PriceHistoryPointResponse: { /** * Format: double * @description Timestamp of the price point */ time: number; /** * @description Price in USD * @example 1 */ usd_price: string; }; /** @description List of price history data points */ PriceHistoryResponse: { /** @description List of price history points */ prices: components["schemas"]["PriceHistoryPointResponse"][]; }; /** @description An OHLCV candle data point */ OhlcvCandleResponse: { /** * Format: double * @description Candle timestamp */ time: number; /** @description Opening price in USD */ open: number; /** @description Highest price in USD */ high: number; /** @description Lowest price in USD */ low: number; /** @description Closing price in USD */ close: number; /** @description Trading volume in USD */ volume: number; }; /** @description List of OHLCV candle data points */ OhlcvResponse: { /** @description List of OHLCV candles */ candles: components["schemas"]["OhlcvCandleResponse"][]; }; /** @description A liquidity pool for a token */ TokenLiquidityPoolResponse: { /** @description Pool protocol type (e.g. UNISWAP_V2, UNISWAP_V3) */ pool_type: string; /** @description Unique identifier for the pool */ pool_identifier: string; /** @description On-chain address of the pool contract */ pool_address?: string; /** @description Base token contract identifier (chain/address) */ base_token: string; /** @description Quote token contract identifier (chain/address) */ quote_token: string; /** @description USD value of base token reserves */ base_reserve_usd?: number; /** @description USD value of quote token reserves */ quote_reserve_usd?: number; /** @description Total USD value of reserves in the pool */ total_reserve_usd?: number; /** * Format: float * @description Bonding curve progress percentage (0-100) */ bonding_curve_progress?: number; /** @description Whether the token has graduated from its bonding curve */ is_graduated?: boolean; }; /** @description Paginated list of liquidity pools for a token */ TokenLiquidityPoolsResponse: { /** @description List of liquidity pools */ pools: components["schemas"]["TokenLiquidityPoolResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description Holder distribution health metrics for a token */ TokenHolderDistributionResponse: { /** * Format: int32 * @description Total number of holders with a non-zero balance */ total_holders: number; /** * Format: float * @description Percentage of total supply held by the top 1% of holders (0-100) */ top_one_percent_concentration: number; /** * Format: int32 * @description Health score from 0-100 (higher = more distributed) */ health_score: number; /** * @description Human-readable label for the health score * @enum {string} */ health_label: "STRONG" | "HEALTHY" | "CONCERNING" | "BAD"; }; /** @description A holder of a token */ TokenHolderResponse: { /** @description Token quantity in display units */ quantity: number; /** * Format: float * @description Percentage of total supply held by this address */ percentage_held?: number; /** @description USD value of the holding */ usd_value?: number; /** @description Wallet address of the holder */ owner_address: string; /** @description Display name of the holder */ owner_display_name?: string; }; /** @description Paginated list of token holders */ TokenHoldersResponse: { /** @description List of token holders */ holders: components["schemas"]["TokenHolderResponse"][]; /** * Format: int32 * @description Total number of holders */ total_count?: number; /** @description Holder distribution health metrics */ distribution?: components["schemas"]["TokenHolderDistributionResponse"]; /** @description Cursor for the next page of results */ next?: string; }; /** @description Token amount with contract and value information */ TokenAmountResponse: { /** @description Contract address of the token */ address: string; /** @description Blockchain the token is on */ chain: string; /** * Format: double * @description Amount in token units */ amount_token: number; /** @description Amount in USD */ amount_usd: string; /** * Format: double * @description Amount in chain-native units */ amount_native: number; }; /** @description Paginated list of token swap activity events */ TokenSwapActivityPaginatedResponse: { /** @description List of swap activity events */ swap_events: components["schemas"]["TokenSwapActivityResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description A token swap activity event */ TokenSwapActivityResponse: { /** @description Unique identifier for the swap event */ id: string; /** * Format: double * @description Timestamp of the swap */ timestamp: number; /** @description Address of the sender */ sender_address: string; /** @description Token sold in the swap */ from_token: components["schemas"]["TokenAmountResponse"]; /** @description Token bought in the swap */ to_token: components["schemas"]["TokenAmountResponse"]; /** @description Transaction hash */ transaction_hash: string; /** @description User operation hash (for account abstraction) */ user_op_hash?: string; /** @description Swap protocol used */ swap_protocol?: string; /** @description Blockchain the swap occurred on */ chain: string; }; /** @description Windowed trading activity for a token */ TokenActivityStatsResponse: { /** * @description Blockchain slug * @example base */ chain: string; /** @description Token contract address */ address: string; /** * Format: date-time * @description End time of the oldest returned aggregation window, or null when no window is returned */ computed_at?: string; /** @description Trading activity keyed by requested window. A requested key is omitted when the token has no swaps in that window; an omitted key means zero trades. */ windows: { [key: string]: components["schemas"]["TokenActivityWindowStatsResponse"]; }; }; /** @description Trading activity within one time window */ TokenActivityWindowStatsResponse: { /** * Format: int64 * @description Swap transaction count */ trades: number; /** * @description Total buy and sell volume in USD * @example 710410.75 */ volume_usd: string; /** * @description Average USD volume per trade * @example 232.92 */ average_trade_usd: string; /** * Format: int64 * @description Distinct wallets that bought this token during the window. Only populated for the 1h and 24h windows; always null for 5m and 4h, which have no materialized source. Null also means the value is unavailable or not yet authoritative for this token, which remains a valid runtime state. Zero is an authoritative zero, so do not treat null as 0. * @example 412 */ unique_buyer_count?: number; /** * Format: int64 * @description Distinct wallets that sold this token during the window. Only populated for the 1h and 24h windows; always null for 5m and 4h, which have no materialized source. Null also means the value is unavailable or not yet authoritative for this token, which remains a valid runtime state. Zero is an authoritative zero, so do not treat null as 0. * @example 377 */ unique_seller_count?: number; }; ContractResponse: { address: string; chain: string; collection: string; contract_standard: string; name: string; }; NftResponse: { nft: components["schemas"]["NftDetailed"]; }; OwnersPaginatedResponse: { owners: components["schemas"]["Owner"][]; next?: string; }; /** @description Analytics data for an NFT including sales and floor price history */ NftAnalyticsResponse: { /** @description List of sale data points */ sales: components["schemas"]["NftSalePointResponse"][]; /** @description List of floor price data points */ floor_prices: components["schemas"]["FloorPricePointResponse"][]; }; /** @description A sale data point for an NFT */ NftSalePointResponse: { /** * Format: double * @description Timestamp of the sale */ time: number; /** @description Sale price in USD */ usd_price: string; /** * Format: double * @description Sale price in token units */ token_unit: number; /** @description Payment token symbol */ symbol?: string; /** @description Blockchain chain */ chain: string; }; AccountResponse: { address: string; username?: string; display_name?: string; ens_name?: string; is_verified: boolean; /** @description Whether this account has declared itself an agent. Self-declared and not OpenSea verification, and the declaration on its own confers nothing: see GET /api/v2/accounts/{address_or_username}/agent-relationships for the ownership relationship, which is likewise a declaration rather than an authorization. */ is_agent: boolean; /** Format: int64 */ follower_count: number; /** Format: int64 */ following_count: number; nft_pfp?: components["schemas"]["NftPfpResponse"]; profile_image_url?: string; banner_image_url?: string; website?: string; social_media_accounts: components["schemas"]["SocialMediaAccount"][]; bio: string; /** Format: date */ joined_date: string; }; SocialMediaAccount: { platform: string; username: string; }; ProfileRelationshipResponse: { is_following: boolean; is_watching: boolean; }; SocialProfilePageResponse: { profiles: components["schemas"]["SocialProfileSummaryResponse"][]; next?: string; }; SocialProfileSummaryResponse: { address: string; username?: string; display_name?: string; profile_image_url?: string; is_verified: boolean; /** Format: int64 */ follower_count: number; nft_pfp?: components["schemas"]["NftPfpResponse"]; is_following: boolean; is_watching: boolean; }; /** @description Public agent ownership relationships for a profile */ AgentProfileRelationshipsResponse: { /** @description The account confirmed to own this one as its agent. Null when there is none, which is ordinary rather than exceptional: an agent nobody declared is a valid agent account. Only a relationship both accounts confirmed appears here. */ agent_owner?: components["schemas"]["AgentProfileSummaryResponse"]; /** @description The accounts this one is the confirmed owner of, newest relationship first. Empty when there are none. */ agents: components["schemas"]["AgentProfileSummaryResponse"][]; }; /** @description Compact public profile summary for an agent relationship */ AgentProfileSummaryResponse: { address: string; username?: string; display_name?: string; profile_image_url?: string; is_verified: boolean; }; /** @description Resolved account info */ AccountResolveResponse: { /** * @description The resolved wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; /** @description OpenSea username, if available */ username?: string; /** * @description Primary ENS name, if available * @example vitalik.eth */ ens_name?: string; }; AgentRelationshipListResponse: { relationships: components["schemas"]["AgentRelationshipResponse"][]; }; /** @description Paginated list of token balances */ TokenBalancePaginatedResponse: { /** @description List of token balances */ token_balances: components["schemas"]["TokenBalanceResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description Token balance for a wallet address */ TokenBalanceResponse: { /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; /** * @description The blockchain the token is on * @example ethereum */ chain: string; /** * @description The display name of the token * @example USDC */ name: string; /** * @description The ticker symbol of the token * @example USDC */ symbol: string; /** @description URL of the token's image */ image_url?: string; /** * @description Current price in USD * @example 1 */ usd_price: string; /** * Format: int32 * @description Number of decimal places * @example 6 */ decimals: number; /** @description URL to the token page on OpenSea */ opensea_url: string; /** * @description Token balance in display units (divided by 10^decimals), not raw/wei * @example 1.5 */ quantity: string; /** * @description Total USD value of the balance (quantity * usd_price) * @example 3518.51835185 */ usd_value: string; /** * @description Token status relative to OpenSea's spam-classification rules. `OK` for tokens that pass all spam filters (the normal case); populated with a more specific value for tokens surfaced via `disable_spam_filtering=true` that would normally be hidden. Categories are intentionally broad and may evolve. Possible values, in decreasing severity: `WARNING` (flagged as risky/suspicious — caution advised), `SPAM` (flagged as spam), `LOW_LIQUIDITY` (insufficient pool liquidity), `LOW_VALUE` (dust holding < $0.01), `OK` (passes all filters). * @default OK * @enum {string} */ status: "OK" | "WARNING" | "SPAM" | "LOW_LIQUIDITY" | "LOW_VALUE"; /** * @description USD value of base token reserves in the top liquidity pool paired with a curated quote token * @example 125000.5 */ base_token_liquidity_usd?: string; /** * @description USD value of quote token reserves in the top liquidity pool paired with a curated quote token * @example 125000.5 */ quote_token_liquidity_usd?: string; }; /** @description Paginated list of account token activity events */ TokenAccountActivityPaginatedResponse: { /** @description List of token activity events */ activities: components["schemas"]["TokenAccountActivityResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description A fungible token activity event for an account */ TokenAccountActivityResponse: { /** * @description Type of activity * @enum {string} */ type: "send" | "receive" | "swap" | "wrap" | "unwrap"; /** @description Blockchain the activity occurred on */ chain: string; /** @description Address that initiated the activity */ from: string; /** @description Recipient address for transfers */ to?: string; /** @description Token amount for transfers */ token?: components["schemas"]["TokenAmountResponse"]; /** @description Token sold/swapped from */ from_token?: components["schemas"]["TokenAmountResponse"]; /** @description Token received/swapped to */ to_token?: components["schemas"]["TokenAmountResponse"]; /** @description Swap protocol used */ swap_protocol?: string; /** @description Transaction hash */ transaction_hash: string; /** @description User operation hash (for account abstraction) */ user_op_hash?: string; /** * Format: double * @description Timestamp of the activity */ timestamp: number; }; /** @description Portfolio stats including total value, P&L, and asset breakdown */ PortfolioStatsResponse: { /** * @description Total portfolio value in USD * @example 125430.5 */ total_value_usd: string; /** * @description NFT portfolio value in USD * @example 98200 */ nft_value_usd: string; /** * @description Token portfolio value in USD * @example 27230.5 */ token_value_usd: string; /** * @description Absolute P&L in USD over the timeframe * @example +1250.00 */ pnl_absolute?: string; /** * @description Percentage P&L over the timeframe * @example +1.01 */ pnl_percentage?: string; /** * @description The queried timeframe * @example WEEK */ timeframe: string; }; /** @description A single net worth data point */ PortfolioHistoryDataPoint: { /** * Format: double * @description Timestamp of the data point * @example 1777334400 */ timestamp: number; /** * @description Total portfolio value in USD * @example 124180 */ value_usd: string; /** * @description Token value in USD * @example 26000 */ token_value_usd: string; /** * @description NFT value in USD * @example 98180 */ nft_value_usd: string; }; /** @description Net worth time series data */ PortfolioHistoryResponse: { /** @description Time series data points */ data_points: components["schemas"]["PortfolioHistoryDataPoint"][]; /** * @description The queried timeframe * @example WEEK */ timeframe: string; }; /** @description Aggregated realized and unrealized trading P&L across all currencies held by a wallet */ WalletPnlResponse: { /** * @description Realized P&L in USD from closed positions * @example +1840.25 */ realized_pnl_usd: string; /** * @description Unrealized P&L in USD from open positions * @example -320.1 */ unrealized_pnl_usd: string; /** * @description Total P&L in USD (realized + unrealized) * @example +1520.15 */ total_pnl_usd: string; /** * @description Net amount invested in USD * @example 12500 */ net_invested_usd: string; /** * @description Current USD value of the wallet's open positions (net_invested + unrealized P&L). Provides a visible anchor for the unrealized figure. * @example 12179.9 */ current_value_usd: string; /** * @description Total return as a signed percentage in percent units (e.g. +12.16 means +12.16%, -8.40 means -8.40%). Not a 0-1 ratio. * @example +12.16 */ return_percentage: string; }; /** @description A single token transfer that contributed to a wallet's position in a currency. Combine `direction` and `transfer_type` to distinguish zero-cost acquisitions (e.g. AIRDROP, CEX_TRANSFER) from buys (e.g. SWAP_BUY). */ PositionTokenTransferResponse: { /** * @description Transfer direction relative to the wallet (e.g. IN, OUT). * @example IN */ direction: string; /** * @description Raw token quantity transferred, in token base units, as a string to preserve precision. * @example 1500000000 */ quantity_raw: string; /** * @description Token price in USD at the time of the transfer, or null if unknown. * @example 0.0425 */ price_usd?: string; /** * @description USD value of the transfer, or null if unknown. * @example 63.75 */ value_usd?: string; /** * @description Transaction hash/signature of the transfer. * @example 0xabc123 */ tx_signature: string; /** * Format: double * @description Block time of the transfer, or null if unknown. * @example 1777334400 */ block_time?: number; /** * @description Type of transfer, used to distinguish zero-cost acquisitions (e.g. AIRDROP, CEX_TRANSFER) from buys/sells (e.g. SWAP_BUY, SWAP_SELL). Null if unclassified. * @example SWAP_BUY */ transfer_type?: string; }; /** @description A page of token transfers contributing to a wallet's position in a currency */ PositionTokenTransfersResponse: { /** @description The token transfers for this page */ token_transfers: components["schemas"]["PositionTokenTransferResponse"][]; /** * Format: int32 * @description Total number of token transfers for the position across all pages * @example 17 */ total_count: number; /** @description Cursor for the next page of results, or null if there are no more pages */ next?: string; }; /** @description A single realized (closed) trading position. Realized P&L and cost basis are computed via FIFO (first-in, first-out) lot matching. */ ClosedPositionResponse: { /** @description The currency that was traded. Null if the currency is no longer surfaced (e.g. under trust & safety enforcement). */ currency?: components["schemas"]["TokenBaseResponse"]; /** * @description Realized profit or loss in USD for this position (FIFO). Signed. * @example +1840.25 */ realized_pnl_usd: string; /** * @description Realized return as a signed percentage in percent units (e.g. +12.16 means +12.16%). Not a 0-1 ratio. * @example +12.16 */ return_percentage: string; /** * @description Total USD proceeds from the sells that closed this position. * @example 5200 */ total_proceeds_usd: string; /** * @description Total USD cost basis of the tokens sold, via FIFO lot matching. * @example 3359.75 */ total_cost_basis_usd: string; /** * @description Average cost per token in USD (FIFO). * @example 0.0425 */ avg_cost_per_token_usd: string; /** * Format: double * @description When the position was closed (last sell). Null if unknown. * @example 1777334400 */ closed_at?: number; /** @description Whether this was a round-trip OpenSea trade (bought and sold on OpenSea). */ is_opensea_trade: boolean; /** * Format: double * @description When the tokens in this position were first acquired. Null if unknown. * @example 1768435200 */ first_acquired_at?: number; }; /** @description A page of a wallet's closed (realized) trading positions */ ClosedPositionsResponse: { /** @description The closed positions for this page */ closed_positions: components["schemas"]["ClosedPositionResponse"][]; /** * Format: int32 * @description Total number of closed positions for the wallet across all pages * @example 42 */ total_count: number; /** @description Cursor for the next page of results, or null if there are no more pages */ next?: string; }; /** @description Common perpetual future identity fields shared across perpetual responses */ PerpetualFutureBaseResponse: { /** @description The perpetual future ID */ id: string; /** @description The display name of the perpetual future */ name: string; /** @description The perpetual future symbol */ symbol: string; /** @description URL of the perpetual future image */ image_url?: string; /** @description Description of the perpetual future */ description?: string; /** * Format: double * @description Created timestamp */ created_at?: number; /** @description Chain identifier */ chain: string; /** @description Contract address */ contract_address: string; /** * Format: int32 * @description Maximum leverage */ max_leverage: number; /** * Format: int32 * @description Decimal places */ decimals: number; /** @description Asset ID */ asset_id: string; /** * Format: int64 * @description Version */ version: number; /** @description Categories */ categories: string[]; /** @description Market */ market?: string; }; /** @description Paginated list of perpetual futures */ PerpetualFuturePaginatedResponse: { /** @description List of perpetual futures */ perpetuals: components["schemas"]["PerpetualFutureResponse"][]; /** @description Cursor for the next page of results */ next?: string; }; /** @description A perpetual future */ PerpetualFutureResponse: { /** @description The perpetual future ID */ id: string; /** @description The display name of the perpetual future */ name: string; /** @description The perpetual future symbol */ symbol: string; /** @description URL of the perpetual future image */ image_url?: string; /** @description Description of the perpetual future */ description?: string; /** * Format: double * @description Created timestamp */ created_at?: number; /** @description Chain identifier */ chain: string; /** @description Contract address */ contract_address: string; /** * Format: int32 * @description Maximum leverage */ max_leverage: number; /** * Format: int32 * @description Decimal places */ decimals: number; /** @description Asset ID */ asset_id: string; /** * Format: int64 * @description Version */ version: number; /** @description Categories */ categories: string[]; /** @description Market */ market?: string; /** @description Market statistics */ stats?: components["schemas"]["PerpetualFutureStatsResponse"]; }; /** @description Market statistics for a perpetual future */ PerpetualFutureStatsResponse: { /** @description Price in USD */ price_usd?: number; /** * Format: float * @description 24-hour price change percentage */ price_change_24h?: number; /** @description 24-hour volume in USD */ volume_24h?: number; /** @description Mark price */ mark_price?: number; /** @description Oracle price */ oracle_price?: number; /** @description Funding rate */ funding_rate?: number; /** @description Open interest */ open_interest?: number; }; ProfileCollectionResponse: { collection: string; name: string; description?: string; image_url?: string; banner_image_url?: string; owner?: string; safelist_status: string; category?: string; is_disabled: boolean; is_nsfw: boolean; trait_offers_enabled: boolean; collection_offers_enabled: boolean; opensea_url: string; project_url?: string; wiki_url?: string; discord_url?: string; telegram_url?: string; twitter_username?: string; instagram_username?: string; contracts: components["schemas"]["Contract"][]; /** Format: int32 */ item_count: number; /** Format: int32 */ total_quantity: number; /** Format: double */ usd_value?: number; }; ProfileCollectionsResponse: { collections: components["schemas"]["ProfileCollectionResponse"][]; next?: string; }; /** @description Result of removing a saved tool */ SavedToolActionResponse: { /** @description Whether a saved tool existed and was removed */ removed: boolean; }; /** @description Response for clearing the NFT profile picture */ ClearNftPfpResponse: { /** @description Whether the NFT profile picture was cleared */ success: boolean; }; WalletUnlinkResponse: { success: boolean; }; AgentRelationshipRemovalResponse: { removed: boolean; }; /** * @description OAuth-style scope recognized by the OpenSea API for wallet-authenticated requests * @example read:favorites * @enum {string} */ AuthScope: "read:eligibility" | "read:favorites" | "read:social" | "read:tools" | "read:wallets" | "write:favorites" | "write:social" | "write:tools" | "write:orders" | "write:drops" | "write:collections" | "write:profile" | "write:wallets"; /** @description Scoped-token exchange request */ TokenExchangeRequest: { /** @description The opaque scoped token (personal access token) to exchange. A session JWT is not accepted. */ subjectToken: string; /** * @description Type of the presented subject token * @default ACCESS_TOKEN * @enum {string} */ subjectTokenType: "ACCESS_TOKEN"; }; /** @description Minted access token */ TokenExchangeResponse: { /** @description Bearer token to send as `Authorization: Bearer ` */ accessToken: string; /** * @description Token type * @example Bearer */ tokenType: string; /** * Format: int64 * @description Token lifetime in seconds, when the issuer reports one */ expiresIn?: number; /** @description Space-delimited scopes on the minted token, when present */ scope?: string; /** @description Scopes bound to the presented scoped token at mint time. Requests are authorized against these, not the full account scope set. */ tokenScopes?: components["schemas"]["AuthScope"][]; }; /** @description Error envelope returned by the authentication endpoints */ AuthErrorResponse: { error?: { /** @description Human-readable reason */ message?: string; /** @description Status name */ status?: string; /** * Format: int32 * @description HTTP status code */ code?: number; }; }; }; responses: { /** @description For error reasons, review the response data. */ BadRequest: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Invalid or missing API key */ Unauthorized: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Wallet token lacks permission for this request */ Forbidden: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Resource not found */ NotFound: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Resource conflict */ Conflict: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Rate limit exceeded */ RateLimit: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Internal server error. Please open a support ticket so OpenSea can investigate. */ InternalError: { headers: { [name: string]: unknown; }; content?: never; }; }; parameters: never; requestBodies: never; headers: { /** @description Maximum requests per rate limit window */ "X-RateLimit-Limit": number; /** @description Remaining requests in current window */ "X-RateLimit-Remaining": number; /** @description Unix epoch timestamp when the rate limit window resets */ "X-RateLimit-Reset": number; }; pathItems: never; } interface operations { update_self_mint_drop_item: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; /** * @description Drop item token id * @example 123 */ token_id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateSelfMintDropItemRequest"]; }; }; responses: { /** @description Ready-to-sign transaction data */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SelfMintDropItemResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SelfMintDropItemResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 500: components["responses"]["InternalError"]; }; }; update_drop_item: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; /** * @description Drop item token id * @example 123 */ token_id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateDropItemRequest"]; }; }; responses: { /** @description Drop item updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropItemResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropItemResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; make_wallet_private: { parameters: { query?: never; header?: never; path: { wallet: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletVisibilityResponse"]; }; }; }; }; make_wallet_public: { parameters: { query?: never; header?: never; path: { wallet: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletVisibilityResponse"]; }; }; }; }; declare_agent_account: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentAccountStatusResponse"]; }; }; }; }; withdraw_agent_account_declaration: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentAccountStatusResponse"]; }; }; }; }; add_watchlist_entry: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["WatchlistRequest"]; }; }; responses: { /** @description Watchlist entry added */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FavoriteResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; remove_watchlist_entry: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["WatchlistRequest"]; }; }; responses: { /** @description Watchlist entry removed */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FavoriteResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_transaction_receipt: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TransactionReceiptRequest"]; }; }; responses: { /** @description Transaction receipt retrieved */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TransactionReceiptResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; report_tool_usage: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ToolUsageRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ToolUsageResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_tokens_batch: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BatchTokensRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenBatchResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; post_swap_execute: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SwapExecuteRequest"]; }; }; responses: { /** @description Swap execution data retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SwapExecuteResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; list_saved_tools: { parameters: { query?: { toolkit_name?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Saved tools returned */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SavedToolsPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 500: components["responses"]["InternalError"]; }; }; save_tool: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SavedToolRequest"]; }; }; responses: { /** @description Tool saved */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SavedToolResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 500: components["responses"]["InternalError"]; }; }; unsave_tool: { parameters: { query: { tool_id: string; registry_chain: string; registry_addr: string; toolkit_name?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Saved-tool removal result */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SavedToolActionResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 500: components["responses"]["InternalError"]; }; }; claim_profile_username: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ClaimAccountUsernameRequest"]; }; }; responses: { /** @description Username claimed successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ClaimAccountUsernameResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 409: components["responses"]["Conflict"]; }; }; get_profile_shelves: { parameters: { query: { /** * @description Wallet address to retrieve shelves for * @example 0x8ba1f109551bd432803012645ac136c94c19d6e */ address: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Shelves retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileShelfResponse"][]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; }; }; create_profile_shelf: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateProfileShelfRequest"]; }; }; responses: { /** @description Shelf created successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileShelfResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; reorder_profile_shelves: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ReorderProfileShelvesRequest"]; }; }; responses: { /** @description Shelves reordered successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileShelfActionResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; set_profile_nft_pfp: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SetNftPfpRequest"]; }; }; responses: { /** @description NFT profile picture set successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["NftPfpResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; }; }; clear_profile_nft_pfp: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description NFT profile picture cleared */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ClearNftPfpResponse"]; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; }; }; upload_profile_image: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UploadProfileImageRequest"]; }; }; responses: { /** @description Upload context returned successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UploadContext"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; }; }; post_offer: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; protocol: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SeaportRequest"]; }; }; responses: { /** @description Item offer created successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Offer"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; post_listing: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; protocol: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SeaportRequest"]; }; }; responses: { /** @description Listing created successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Listing"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; cancel_order: { parameters: { query?: never; header?: { "X-Api-Key"?: string; }; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; protocol_address: string; order_hash: string; }; cookie?: never; }; requestBody?: { content: { "application/json": components["schemas"]["CancelRequest"]; }; }; responses: { /** @description Order cancelled successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CancelResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; create_cancel_order_actions: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** @description Protocol contract address */ protocol_address: string; /** @description Order identifier, as returned by the get-order endpoint: a Seaport order hash on EVM chains, and a creation signature paired with the order state account on Solana. */ order_hash: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CancelOrderActionsRequest"]; }; }; responses: { /** @description Cancellation actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CancelOrderActionsResponse"]; }; }; /** @description The request is invalid. Possible reasons: order not found, invalid address, or the address is not the order's maker. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CancelOrderActionsResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; post_criteria_offer_v2: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["OfferWithCriteriaRequest"]; }; }; responses: { /** @description Criteria offer created successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Offer"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; generate_offer_fulfillment_data_v2: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["FullfillmentDataRequest"]; }; }; responses: { /** @description Offer fulfillment data retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillListingResponse"]; }; }; /** * @description The request is invalid * The order_hash does not exist * The chain is not an EVM Chain * The protocol_address is not a supported Seaport contract * For other error reasons, see the response data. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillListingResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; create_offer_fulfillment_actions: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["FullfillmentDataRequest"]; }; }; responses: { /** @description Offer fulfillment actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillmentActionsResponse"]; }; }; /** @description The request is invalid. Possible reasons: order not found, order not valid, order is not an offer, consideration missing for a criteria offer, or no actions could be composed. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillmentActionsResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; build_offer_v2: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BuildOfferRequest"]; }; }; responses: { /** @description Criteria offer built successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["BuildOfferResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; create_offer_actions: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateOfferActionsRequest"]; }; }; responses: { /** @description Offer creation actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CreateOfferActionsResponse"]; }; }; /** @description The request is invalid. Possible reasons: invalid addresses, item not found, invalid currency, or price/quantity not positive. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CreateOfferActionsResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; get_nfts_batch: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BatchNftsRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftBatchResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; sweep_collection: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SweepCollectionRequest"]; }; }; responses: { /** @description Sweep fulfillment data retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SweepCollectionResponse"]; }; }; /** @description The request is invalid. Possible reasons: collection not found, invalid chain, max_items exceeds limit, or no listings available. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SweepCollectionResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; generate_listing_fulfillment_data_v2: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["FullfillListingRequest"]; }; }; responses: { /** @description Listing fulfillment data retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillListingResponse"]; }; }; /** * @description The request is invalid * The order_hash does not exist * The chain is not an EVM Chain * The protocol_address is not a supported Seaport contract * For other error reasons, see the response data. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillListingResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; create_listing_fulfillment_actions: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["FullfillListingRequest"]; }; }; responses: { /** @description Listing fulfillment actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillmentActionsResponse"]; }; }; /** @description The request is invalid. Possible reasons: order not found, order not valid, order is not a listing, or no actions could be composed. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FulfillmentActionsResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; generate_cross_chain_listing_fulfillment_data: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CrossChainFulfillmentRequest"]; }; }; responses: { /** @description Cross-chain fulfillment data retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CrossChainFulfillmentResponse"]; }; }; /** @description The request is invalid. Possible reasons: listing not found, listing not valid, listing is not a listing order, or no fulfillment actions could be generated. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CrossChainFulfillmentResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; create_listing_actions: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateListingActionsRequest"]; }; }; responses: { /** @description Listing creation actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CreateListingActionsResponse"]; }; }; /** @description The request is invalid. Possible reasons: items on different chains, invalid addresses, items not found, invalid currency, or prices/quantities not positive. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CreateListingActionsResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; get_drop_by_slug: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Detailed drop information */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropDetailedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; save_drop_edits: { parameters: { query?: never; header?: never; path: { /** * @description The collection slug identifying the drop to update * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SaveDropEditsRequest"]; }; }; responses: { /** @description Drop edits saved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SaveDropResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SaveDropResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; save_prereveal_drop_item: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SavePrerevealDropItemRequest"]; }; }; responses: { /** @description Prereveal drop item saved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PrerevealDropItemResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PrerevealDropItemResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; build_drop_mint_transaction: { parameters: { query?: never; header?: never; path: { /** * @description The collection slug identifying the drop * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["DropMintRequest"]; }; }; responses: { /** @description Ready-to-sign transaction data including target contract, calldata, and value */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropMintResponse"]; }; }; /** @description Invalid request: bad address format, invalid quantity, or missing required fields */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Drop or collection not found for the given slug */ 404: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Drop is not currently active for minting (not started, ended, or paused) */ 409: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Minting precondition failed: insufficient native balance, wallet not in allowlist, mint limit exceeded, or supply exhausted */ 422: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 500: components["responses"]["InternalError"]; }; }; save_self_mint_drop_item: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SaveSelfMintDropItemRequest"]; }; }; responses: { /** @description Ready-to-sign transaction data */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SelfMintDropItemResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SelfMintDropItemResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 500: components["responses"]["InternalError"]; }; }; upload_drop_item_media: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UploadDropItemMediaRequest"]; }; }; responses: { /** @description Upload contexts generated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"][]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"][]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; save_drop_item_media: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SaveDropItemMediaRequest"]; }; }; responses: { /** @description Drop item media saved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SaveDropItemMediaResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SaveDropItemMediaResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; build_cross_chain_drop_mint_transactions: { parameters: { query?: never; header?: never; path: { /** * @description The collection slug identifying the drop * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CrossChainDropMintRequest"]; }; }; responses: { /** @description Ordered transactions required to complete the mint */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CrossChainDropMintResponse"]; }; }; /** @description Invalid address, payment chain, payment token, quantity, or request body */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Drop or collection not found for the given slug */ 404: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Drop is not currently active for minting */ 409: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Minting precondition failed, including an ineligible wallet, exhausted supply, insufficient balance, or a payer that is not allowed for the active presale */ 422: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 500: components["responses"]["InternalError"]; }; }; upload_drop_allowlist: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Upload context generated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; validate_drop_allowlist: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ValidateDropAllowlistRequest"]; }; }; responses: { /** @description Validated file token */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ValidateDropAllowlistResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ValidateDropAllowlistResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; deploy_drop_contract: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["DropDeployRequest"]; }; }; responses: { /** @description Ready-to-sign transaction data for contract deployment */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropDeployResponse"]; }; }; /** @description Invalid request: unsupported drop_type/token_type combination, bad address format, or missing required fields */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; 500: components["responses"]["InternalError"]; }; }; upload_collection_image: { parameters: { query: { /** * @description Exact MIME type of the image bytes * @example image/png */ content_type: string; }; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; /** * @description Image type * @example profile_picture */ image_type: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Upload context generated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UploadContext"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_collections_batch: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BatchCollectionsRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionBatchResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; validate_nft_metadata: { parameters: { query?: { /** * @description Whether to bypass cached SeaDN URLs * @example true */ ignoreCachedItemUrls?: boolean; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address * @example 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ValidateMetadataResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; refresh_nft_metadata: { parameters: { query?: { ignoreCachedItemUrls?: boolean; }; header?: never; path: { /** @description Contract address */ address: string; /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** @description Token identifier */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": string; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; create_instant_api_key: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description API key created successfully */ 201: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["InstantApiKeyResponse"]; }; }; /** @description Key creation rate limit exceeded */ 429: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Internal server error (e.g. database failure) */ 500: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; /** @description Feature is currently disabled or temporarily unavailable */ 503: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; }; }; transfer_assets: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TransferRequest"]; }; }; responses: { /** @description Transfer actions retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TransferResponse"]; }; }; /** @description The request is invalid. Possible reasons: empty assets array, invalid addresses, invalid chain, or cross-ecosystem transfer. */ 400: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TransferResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; watch_account: { parameters: { query?: never; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileSocialMutationResponse"]; }; }; }; }; unwatch_account: { parameters: { query?: never; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileSocialMutationResponse"]; }; }; }; }; follow_account: { parameters: { query?: never; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileSocialMutationResponse"]; }; }; }; }; unfollow_account: { parameters: { query?: never; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileSocialMutationResponse"]; }; }; }; }; link_wallet_with_siwx: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["LinkWalletSiwxRequest"]; }; }; responses: { /** @description Wallet linked successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletLinkResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletLinkResponse"]; }; }; 500: components["responses"]["InternalError"]; }; }; list_own_agent_relationships: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentRelationshipListResponse"]; }; }; }; }; propose_agent_relationship: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ProposeAgentRelationshipRequestBody"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentRelationshipMutationResponse"]; }; }; }; }; revoke_agent_relationship: { parameters: { query: { counterparty_account_id?: string; counterparty_address?: string; caller_role: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentRelationshipRemovalResponse"]; }; }; }; }; confirm_agent_relationship: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ConfirmAgentRelationshipRequestBody"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AgentRelationshipMutationResponse"]; }; }; }; }; update_profile_settings: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateProfileSettingsRequest"]; }; }; responses: { /** @description Profile settings updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UpdateProfileSettingsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; }; }; delete_profile_shelf: { parameters: { query?: never; header?: never; path: { shelf_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Shelf deleted successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileShelfActionResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; update_profile_shelf: { parameters: { query?: never; header?: never; path: { shelf_id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateProfileShelfRequest"]; }; }; responses: { /** @description Shelf updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileShelfResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; get_collection: { parameters: { query?: never; header?: never; path: { /** * @description Unique identifier for the specific collection * @example doodles-official */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionDetailedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; modify_collection: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ModifyCollectionRequest"]; }; }; responses: { /** @description Collection metadata updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ModifyCollectionResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ModifyCollectionResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; set_collection_visibility: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SetCollectionVisibilityRequest"]; }; }; responses: { /** @description Visibility updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SetCollectionVisibilityResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; 500: components["responses"]["InternalError"]; }; }; update_collection_metadata: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateCollectionMetadataRequest"]; }; }; responses: { /** @description Collection metadata updated successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UpdateCollectionMetadataResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["UpdateCollectionMetadataResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_collection_traits: { parameters: { query?: never; header?: never; path: { /** * @description Unique identifier for the specific collection * @example doodles-official */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Collection traits with categories and counts */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_collection_trait_floors: { parameters: { query?: never; header?: never; path: { /** * @description Unique identifier for the specific collection * @example doodles-official */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TraitFloorsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; /** @description Aggregation timed out; the collection is too large to serve */ 503: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; }; }; list_tools: { parameters: { query?: { /** @description Sort by: newest, oldest */ sort_by?: string; /** @description Filter by access type: open, nft_gated, token_gated, subscription, gated */ type?: string; /** @description Filter by source: onchain, x402_bazaar, x402_bankr. Defaults to all sources when omitted. */ source?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ToolListPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_tool: { parameters: { query?: never; header?: never; path: { /** @description Registry chain ID (e.g. 1, 8453) */ registry_chain: string; /** @description Registry contract address: an onchain EVM address, or x402_bazaar / x402_bankr for x402 tools */ registry_addr: string; /** @description Numeric tool ID */ tool_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["RegisteredToolResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_tool_activity: { parameters: { query?: { /** @description Include payments attributed only by creator address */ include_creator_payments?: boolean; /** @description Maximum number of results (1-100) */ limit?: number; /** @description Offset for pagination */ offset?: number; }; header?: never; path: { /** @description Registry chain ID (e.g. 1, 8453) */ registry_chain: string; /** @description Registry contract address: an onchain EVM address, or x402_bazaar / x402_bankr for x402 tools */ registry_addr: string; /** @description Numeric tool ID */ tool_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ToolActivityPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; search_tools: { parameters: { query?: { /** @description Search query text */ query?: string; /** @description Filter by registry chain ID */ registry_chain?: string; /** @description Filter by tags */ tags?: string[]; /** @description Filter by access type: open, nft_gated, subscription */ access_type?: string; /** @description Filter by creator address */ creator?: string; /** @description Filter by source: onchain, x402_bazaar, x402_bankr. Defaults to all sources when omitted. */ source?: string; /** @description Filter to tools gated by owning an NFT in this collection (slug). Unknown slugs return no results. */ collection?: string; /** @description Sort by: relevance, newest, most_used */ sort_by?: string; /** @description Include pricing recipients and access requirements per result. Defaults to true; set false for a lighter list response. */ include_details?: boolean; /** * @description Number of items to return per page * @example 20 */ limit?: number; cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ToolSearchPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_trending_tokens: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** * @description Filter by blockchain(s) * @example ethereum */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Sort field (default: score) * @example score */ sort_by?: "market_cap" | "one_hour_volume" | "one_day_volume" | "one_hour_price_change" | "one_day_price_change" | "seven_day_price_change" | "fourteen_day_price_change" | "thirty_day_price_change" | "two_hundred_day_price_change" | "one_year_price_change" | "price" | "genesis_date" | "score"; /** * @description Sort direction (default: desc) * @example desc */ sort_direction?: "asc" | "desc"; /** @description Pagination cursor for next page. A cursor is only valid for the query that produced it: keep `sort_by`, `sort_direction` and `chains` identical across pages, and start a new page-one request when any of them changes. */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_top_tokens: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** * @description Filter by blockchain(s) * @example ethereum */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Sort field (default: one_day_volume) * @example one_day_volume */ sort_by?: "market_cap" | "one_hour_volume" | "one_day_volume" | "one_hour_price_change" | "one_day_price_change" | "seven_day_price_change" | "fourteen_day_price_change" | "thirty_day_price_change" | "two_hundred_day_price_change" | "one_year_price_change" | "price" | "genesis_date" | "score"; /** * @description Sort direction (default: desc) * @example desc */ sort_direction?: "asc" | "desc"; /** @description Pagination cursor for next page. A cursor is only valid for the query that produced it: keep `sort_by`, `sort_direction` and `chains` identical across pages, and start a new page-one request when any of them changes. */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_groups: { parameters: { query?: { /** * @description Number of results to return (default: 50, max: 100) * @example 50 */ limit?: number; /** @description Pagination cursor for next page */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenGroupPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_group: { parameters: { query?: never; header?: never; path: { /** * @description The slug identifier of the token group * @example eth */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenGroupResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_swap_quote: { parameters: { query: { /** * @description Chain of the token to swap from * @example ethereum */ from_chain: string; /** * @description Contract address of the token to swap from * @example 0x0000000000000000000000000000000000000000 */ from_address: string; /** * @description Chain of the token to swap to * @example ethereum */ to_chain: string; /** * @description Contract address of the token to swap to * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ to_address: string; /** * @description Amount to swap in the smallest unit of the token (e.g. wei for ETH) * @example 1000000000000000000 */ quantity: string; /** * @description Wallet address executing the swap * @example 0x1234567890abcdef1234567890abcdef12345678 */ address: string; /** * @description Slippage tolerance (0.0 to 0.5, default: 0.01) * @example 0.01 */ slippage?: number; /** * @description Recipient address (defaults to sender address) * @example 0x1234567890abcdef1234567890abcdef12345678 */ recipient?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SwapQuoteResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; search: { parameters: { query: { /** * @description Search query text * @example bored ape */ query: string; /** @description Filter by blockchain(s) */ chains?: components["schemas"]["ChainIdentifier"][]; /** @description Filter by asset type(s). Valid values: collection, nft, token, account. Defaults to [collection, token] if not specified. */ asset_types?: string[]; /** @description Number of results to return (default: 20, max: 50) */ limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SearchResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_order: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** @description Protocol contract address */ protocol_address: string; /** @description Order hash */ order_hash: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Order details retrieved successfully */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["GetOrderResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_offers_collection: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_offers_collection_trait: { parameters: { query?: { /** @description Bid category: STRING (single string trait), MULTI (multiple string traits), or NUMERIC (numeric trait range). If omitted, inferred from params. */ mode?: "STRING" | "NUMERIC" | "MULTI"; /** @description Trait type name */ type?: string; /** @description Trait value as string */ value?: string; /** @description Trait value as float */ float_value?: number; /** @description Trait value as integer */ int_value?: number; /** @description Minimum value for numeric trait range queries */ min_value?: number; /** @description Maximum value for numeric trait range queries */ max_value?: number; /** * @description JSON array of trait filters for multi-trait queries. Each element has 'traitType' and 'value' fields. Example: [{"traitType":"Background","value":"Red"}] * @example [ * { * "traitType": "Background", * "value": "Red" * } * ] */ traits?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_offers_nft: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; /** @description NFT token id */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_best_offer_nft: { parameters: { query?: never; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; /** @description NFT token id */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Offer"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; list_offers_collection_all: { parameters: { query?: { /** @description Filter by the wallet address of the order maker */ maker?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nft_metadata: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ contractAddress: string; /** * @description The NFT token id * @example 1 */ tokenId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AssetMetadataResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_best_listing_nft: { parameters: { query?: { /** @description Whether to include private listings; defaults to false */ include_private_listings?: boolean; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; /** @description NFT token id */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Listing"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_best_listings_collection: { parameters: { query?: { /** @description Whether to include private listings; defaults to false */ include_private_listings?: boolean; /** * @description JSON array of trait filters to narrow listings by item traits. Each object has 'traitType' and 'value' fields. Multiple traits are AND-combined (items must match all). Example: [{"traitType":"Background","value":"Red"}] * @example [ * { * "traitType": "Background", * "value": "Red" * } * ] */ traits?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ListingsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; /** @description Trait filter query timed out; try a more selective filter */ 503: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["V1ErrorWrapper"]; }; }; }; }; list_listings_collection_all: { parameters: { query?: { /** @description Whether to include private listings; defaults to false */ include_private_listings?: boolean; /** @description Filter by the wallet address of the order maker */ maker?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Unique string to identify a collection on OpenSea */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ListingsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; list_events: { parameters: { query?: { /** @description Only show events after this timestamp (Unix timestamp in seconds) */ after?: number; /** @description Only show events before this timestamp (Unix timestamp in seconds) */ before?: number; /** @description Filter by event types. To get order invalidation and revalidation events, please use the Stream API. The order status can also be checked on the Get Order endpoint. */ event_type?: ("sale" | "transfer" | "mint" | "listing" | "offer" | "trait_offer" | "collection_offer")[]; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AssetEventsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; list_events_by_collection: { parameters: { query?: { /** @description Only show events after this timestamp (Unix timestamp in seconds) */ after?: number; /** @description Only show events before this timestamp (Unix timestamp in seconds) */ before?: number; /** @description Filter by event types. To get order invalidation and revalidation events, please use the Stream API. The order status can also be checked on the Get Order endpoint. */ event_type?: ("sale" | "transfer" | "mint" | "listing" | "offer" | "trait_offer" | "collection_offer")[]; /** * @description JSON array of trait filters. Each object has 'traitType' and 'value' fields. Multiple traits are AND-combined (items must match all). Example: [{"traitType":"Background","value":"Red"}] * @example [ * { * "traitType": "Background", * "value": "Red" * } * ] */ traits?: string; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** * @description Unique identifier for the collection * @example doodles-official */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AssetEventsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; list_events_by_nft: { parameters: { query?: { /** @description Only show events after this timestamp (Unix timestamp in seconds) */ after?: number; /** @description Only show events before this timestamp (Unix timestamp in seconds) */ before?: number; /** @description Filter by event types. To get order invalidation and revalidation events, please use the Stream API. The order status can also be checked on the Get Order endpoint. */ event_type?: ("sale" | "transfer" | "mint" | "listing" | "offer" | "trait_offer" | "collection_offer")[]; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AssetEventsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; list_events_by_account: { parameters: { query?: { /** @description Only show events after this timestamp (Unix timestamp in seconds) */ after?: number; /** @description Only show events before this timestamp (Unix timestamp in seconds) */ before?: number; /** @description Filter by event types. To get order invalidation and revalidation events, please use the Stream API. The order status can also be checked on the Get Order endpoint. */ event_type?: ("sale" | "transfer" | "mint" | "listing" | "offer" | "trait_offer" | "collection_offer")[]; /** * @description Filter by blockchain * @example ethereum */ chain?: components["schemas"]["ChainIdentifier"]; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** * @description The blockchain address of the account * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AssetEventsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_drops: { parameters: { query?: { /** * @description Drop calendar type: featured, upcoming, or recently_minted * @example featured */ type?: string; /** * @description Number of results to return (1-100, default: 20) * @example 20 */ limit?: number; /** * @description Comma-separated list of chains to filter by (e.g. ethereum, base). Omit to return drops on all chains. * @example ethereum,base */ chains?: components["schemas"]["ChainIdentifier"][]; /** @description Pagination cursor for next page */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Paginated list of drops */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_drop_eligibility: { parameters: { query?: never; header?: never; path: { /** * @description Collection slug * @example cool-cats */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Eligibility results per drop stage */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropEligibilityResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropEligibilityResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_deploy_contract_receipt: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description Transaction hash of the deployment transaction * @example 0xabc123... */ tx_hash: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Deployment receipt status */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["DropDeployReceiptResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; list_collections: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; /** * @description Blockchain to filter by * @example ethereum */ chain?: components["schemas"]["ChainIdentifier"]; /** @description Username of collection creator to filter by */ creator_username?: string; /** @description Include hidden collections in results */ include_hidden?: boolean; /** * @description Field to order results by * @example created_date */ order_by?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_collection_stats: { parameters: { query?: never; header?: never; path: { /** * @description Unique identifier for the specific collection * @example doodles-official */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionStatsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_collection_offer_aggregates: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** @description Pagination cursor for next page */ cursor?: string; /** * @description Sort direction (asc or desc) * @example desc */ sort_direction?: string; }; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Collection offer aggregates */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionOfferAggregatesPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_collection_holders: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** @description Pagination cursor for next page */ cursor?: string; /** * @description Sort direction (asc or desc) * @example desc */ sort_direction?: string; /** @description Filter by owner address */ owned_by?: string; }; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Collection holders */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionHoldersPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_collection_floor_prices: { parameters: { query?: { /** * @description Time window for floor price history. Options: one_minute, five_minutes, fifteen_minutes, one_hour, one_day, seven_days, thirty_days, one_year, all_time * @example one_day */ timeframe?: string; /** @description Number of data points to return */ resolution?: number; }; header?: never; path: { /** * @description Collection slug * @example boredapeyachtclub */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Floor price history */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["FloorPriceHistoryResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_trending_collections: { parameters: { query?: { /** * @description Time window for trending calculation. Options: one_minute, five_minutes, fifteen_minutes, one_hour, one_day, seven_days, thirty_days, one_year, all_time. * @example one_day */ timeframe?: string; /** * @description Blockchain(s) to filter by. Comma-separated list of chain identifiers. Unsupported chains are silently ignored; a 400 is returned only if all specified chains are unsupported. * @example ethereum,base */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Category to filter by (e.g. art, gaming, memberships, music, pfps, photography, domain-names, virtual-worlds, sports-collectibles, physical-collectibles). * @example pfps */ category?: string; /** * @description Maximum number of collections to return (1-100). * @example 20 */ limit?: number; /** @description Cursor for pagination. Use the 'next' value from a previous response. */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Trending collections */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_top_collections: { parameters: { query?: { /** * @description The stat to sort collections by (always sorted descending). Options: one_day_volume, seven_days_volume, thirty_days_volume, floor_price, one_day_sales, seven_days_sales, thirty_days_sales, total_volume, total_sales * @example one_day_volume */ sort_by?: string; /** * @description Blockchain(s) to filter by. Comma-separated list of chain identifiers. Unsupported chains are silently ignored; a 400 is returned only if all specified chains are unsupported. * @example ethereum,base */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Category to filter by (e.g. art, gaming, memberships, music, pfps, photography, domain-names, virtual-worlds, sports-collectibles, physical-collectibles). * @example pfps */ category?: string; /** * @description Maximum number of collections to return (1-100). * @example 50 */ limit?: number; /** @description Cursor for pagination */ cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Top collections list */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_nfts_by_collection: { parameters: { query?: { /** * @description JSON array of trait filters. Each object has 'traitType' and 'value' fields. Multiple traits are AND-combined (items must match all). Example: [{"traitType":"Background","value":"Red"}] * @example [ * { * "traitType": "Background", * "value": "Red" * } * ] */ traits?: string; /** @description Filter by NFTs that have an ERC-8217 agent binding */ has_agent_binding?: boolean; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Collection slug */ slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftListResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_chains: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description List of supported chains */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ChainListResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenDetailedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_token_price_history: { parameters: { query: { /** * @description Start time for the price history window (ISO 8601) * @example 2024-01-01T00:00:00Z */ start_time: string; /** * @description End time for the price history window (ISO 8601, defaults to now) * @example 2024-01-02T00:00:00Z */ end_time?: string; /** * @description Candle bucket size for aggregation (1s, 1m, 5m, 15m, 1h, 4h, 1d) * @example 1h */ bucket_size?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PriceHistoryResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_ohlcv: { parameters: { query: { /** * @description Start time for the OHLCV window (ISO 8601) * @example 2024-01-01T00:00:00Z */ start_time: string; /** * @description End time for the OHLCV window (ISO 8601, defaults to now) * @example 2024-01-02T00:00:00Z */ end_time?: string; /** * @description Candle bucket size (1s, 1m, 5m, 15m, 1h, 4h, 1d) * @example 1h */ bucket_size: string; /** * @description Whether to fill empty time windows with zero-volume candles * @example false */ fill_time_window?: boolean; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OhlcvResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_liquidity_pools: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 50) * @example 20 */ limit?: number; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenLiquidityPoolsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_holders: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** @description Pagination cursor for next page */ cursor?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenHoldersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_activity: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 50) * @example 20 */ limit?: number; /** @description Pagination cursor for next page */ cursor?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The contract address of the token * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenSwapActivityPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_token_activity_stats: { parameters: { query?: { /** * @description Comma-separated windows. Defaults to 5m,1h,4h,24h. * @example 1h,24h */ windows?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The token contract address * @example 0x0000000000000000000000000000000000000000 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenActivityStatsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_payment_token: { parameters: { query?: never; header?: never; path: { /** @description The unique public blockchain identifier for the contract */ address: string; /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PaymentToken"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_contract: { parameters: { query?: never; header?: never; path: { /** @description The unique public blockchain identifier for the contract */ address: string; /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ContractResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nfts_by_contract: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Contract address */ address: string; /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftListResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_nft: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nft_owners: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** @description Pagination cursor for next page */ next?: string; }; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description NFT owners */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OwnersPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nft_collection: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CollectionDetailedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nft_analytics: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** * @description The unique public blockchain identifier for the contract * @example 0x8ba1f109551bD432803012645Hac136c94C19D6e */ address: string; /** * @description The NFT token id * @example 1 */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description NFT analytics data */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftAnalyticsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_nfts_by_account: { parameters: { query?: { collection?: string; /** @description Include NFTs that were hidden automatically because a third party minted or sent them to this account. NFTs the account holder hid themselves are not returned, and this does not surface NFTs removed for policy violations. */ include_auto_hidden?: boolean; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** @description Account address */ address: string; /** * @description The blockchain on which to filter the results * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftListResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_account: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain address or username of the account to retrieve. * @example 0x8ba1f109551bD432803012645fAc136c94C19D6e */ address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AccountResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_account_relationship: { parameters: { query?: never; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileRelationshipResponse"]; }; }; }; }; get_account_following: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; cursor?: string; }; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SocialProfilePageResponse"]; }; }; }; }; get_account_followers: { parameters: { query?: { /** * @description Number of items to return per page * @example 20 */ limit?: number; cursor?: string; }; header?: never; path: { address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SocialProfilePageResponse"]; }; }; }; }; get_agent_profile_relationships: { parameters: { query?: never; header?: never; path: { /** * @description The blockchain address or username of the profile to retrieve. * @example 0x8ba1f109551bD432803012645fAc136c94C19D6e */ address_or_username: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AgentProfileRelationshipsResponse"]; }; }; }; }; resolve_account: { parameters: { query?: never; header?: never; path: { /** * @description An ENS name (e.g. vitalik.eth), OpenSea username, or wallet address to resolve * @example vitalik.eth */ identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Resolved account info */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["AccountResolveResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_token_balances_by_account: { parameters: { query?: { /** * @description Number of results to return (default: 20, max: 100) * @example 20 */ limit?: number; /** * @description Filter by blockchain(s) * @example ethereum */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Sort field (default: usd_value) * @example usd_value */ sort_by?: "usd_value" | "market_cap" | "one_day_volume" | "price" | "one_day_price_change" | "seven_day_price_change"; /** * @description Sort direction (default: desc) * @example desc */ sort_direction?: "asc" | "desc"; /** * @description When true, disables OpenSea's heuristic spam filtering and returns tokens that would normally be hidden (low liquidity, dust, flagged-as-spam, etc.). Tokens flagged for trust & safety enforcement or as malicious are still filtered out regardless. Surfaced tokens carry a `status` field on the response indicating why they would have been filtered. * @example false */ disable_spam_filtering?: boolean; /** @description Pagination cursor for next page */ cursor?: string; }; header?: never; path: { /** * @description Wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenBalancePaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_account_token_watchlist: { parameters: { query?: never; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Watched tokens */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenPaginatedResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_account_token_activity: { parameters: { query?: { /** * @description Chain(s) to filter by (e.g. ethereum). Repeat for multiple chains. Omit to query all chains. * @example ethereum */ chains?: components["schemas"]["ChainIdentifier"][]; /** * @description Token contract address(es) to filter by. Repeat for multiple tokens. Omit to include all tokens. * @example 0x0000000000000000000000000000000000000000 */ tokens?: string[]; /** @description Activity types to include (send, receive, swap, wrap, unwrap). Repeat for multiple types. Omit to include all. Note: swap also includes wrap and unwrap activities. */ type?: string[]; /** * @description Number of items to return per page * @example 20 */ limit?: number; next?: string; }; header?: never; path: { /** * @description The account address to query token activity for * @example 0x0000000000000000000000000000000000000000 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TokenAccountActivityPaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_portfolio_stats: { parameters: { query?: { /** @description Timeframe for P&L calculation: HOUR, DAY, WEEK, MONTH */ timeframe?: "HOUR" | "DAY" | "WEEK" | "MONTH"; /** * @description Comma-separated chains to restrict the portfolio to (e.g. ethereum,base). When omitted, all supported chains are included. Returns 400 if all specified chains are unsupported. * @example ethereum,base */ chains?: components["schemas"]["ChainIdentifier"][]; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Portfolio stats */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PortfolioStatsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_portfolio_history: { parameters: { query?: { /** @description Timeframe for history: HOUR, DAY, WEEK, MONTH */ timeframe?: "HOUR" | "DAY" | "WEEK" | "MONTH"; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Portfolio history */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PortfolioHistoryResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_wallet_pnl: { parameters: { query?: never; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Wallet trading P&L. Indexed wallets return 200 even when all figures are zero (real but flat). */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["WalletPnlResponse"]; }; }; 400: components["responses"]["BadRequest"]; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_wallet_token_transfers: { parameters: { query: { /** * @description The currency's contract address * @example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 */ contract_address: string; /** * @description The chain the currency is on * @example ethereum */ chain: components["schemas"]["ChainIdentifier"]; /** @description Number of results to return per page (1-200, default 20) */ limit?: number; /** @description Cursor for the next page of results */ next?: string; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Position token transfers */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PositionTokenTransfersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_wallet_closed_positions: { parameters: { query?: { /** @description Sort order: TOP_TRADES (default) or RECENT */ sort_by?: string; /** @description Number of results to return per page (1-200, default 20) */ limit?: number; /** @description Cursor for the next page of results */ next?: string; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Closed positions */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ClosedPositionsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_account_perpetual_watchlist: { parameters: { query?: never; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Watched perpetuals */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PerpetualFuturePaginatedResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PerpetualFuturePaginatedResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_profile_offers_received: { parameters: { query?: { /** @description Cursor for pagination */ after?: string; /** @description Number of results to return */ limit?: number; /** @description Filter by collection slugs */ collection_slugs?: string[]; /** @description Filter by chains */ chains?: components["schemas"]["ChainIdentifier"][]; /** @description Sort by field */ sort_by?: "START_TIME" | "TOP_ASSET_OFFER"; /** @description Sort direction */ sort_direction?: "asc" | "desc"; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Offers received for account */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_profile_offers: { parameters: { query?: { /** @description Cursor for pagination */ after?: string; /** @description Number of results to return */ limit?: number; /** @description Filter by collection slugs */ collection_slugs?: string[]; /** @description Filter by chains */ chains?: components["schemas"]["ChainIdentifier"][]; /** @description Sort by field */ sort_by?: "START_TIME" | "END_TIME"; /** @description Sort direction */ sort_direction?: "asc" | "desc"; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Active offers for account */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["OffersResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_profile_listings: { parameters: { query?: { /** @description Cursor for pagination */ after?: string; /** @description Number of results to return */ limit?: number; /** @description Filter by collection slugs */ collection_slugs?: string[]; /** @description Filter by chains */ chains?: components["schemas"]["ChainIdentifier"][]; /** @description Sort by field */ sort_by?: "START_TIME" | "END_TIME"; /** @description Sort direction */ sort_direction?: "asc" | "desc"; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Active listings for account */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ListingsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; get_profile_favorites: { parameters: { query?: { /** @description Cursor for pagination */ after?: string; /** @description Number of results to return */ limit?: number; /** @description Sort by field */ sort_by?: "CREATED_DATE" | "PRICE" | "RARITY" | "LISTING_CREATED_DATE" | "LAST_SALE"; /** @description Sort direction */ sort_direction?: "asc" | "desc"; /** @description Filter by chains */ chains?: components["schemas"]["ChainIdentifier"][]; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Favorited items */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftListResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["NftListResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; get_profile_collections: { parameters: { query?: { /** @description Cursor for pagination */ after?: string; /** @description Number of results to return */ limit?: number; /** @description Filter by chains */ chains?: components["schemas"]["ChainIdentifier"][]; }; header?: never; path: { /** * @description The wallet address * @example 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 */ address: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Collections owned by account */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ProfileCollectionsResponse"]; }; }; 400: components["responses"]["BadRequest"]; 500: components["responses"]["InternalError"]; }; }; unlink_wallet: { parameters: { query?: never; header?: never; path: { /** @description The linked wallet address to remove */ wallet: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Wallet unlinked successfully */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletUnlinkResponse"]; }; }; 400: components["responses"]["BadRequest"]; 401: components["responses"]["Unauthorized"]; /** @description Forbidden */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WalletUnlinkResponse"]; }; }; 404: components["responses"]["NotFound"]; 500: components["responses"]["InternalError"]; }; }; exchange_scoped_token: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TokenExchangeRequest"]; }; }; responses: { /** @description Access token minted */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TokenExchangeResponse"]; }; }; /** @description Request body failed validation, for example a `subjectToken` outside the 10 to 8192 character range */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Token exchange is not available. Returned for an unknown, revoked, or non-scoped subject token as well as for a disabled integration; the two are not distinguishable by design. */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Body could not be read: malformed JSON, a missing required field, or an unsupported `subjectTokenType` */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Rate limit exceeded */ 429: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Exchange failed after the token was minted */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Upstream auth service error */ 502: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; /** @description Upstream auth service temporarily unavailable */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthErrorResponse"]; }; }; }; }; } type Schemas$1 = components["schemas"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AboutMetadataRequest`. */ type AboutMetadataRequest = Schemas$1["AboutMetadataRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AboutSectionRequest`. */ type AboutSectionRequest = Schemas$1["AboutSectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AccountResolveResponse`. */ type AccountResolveResponse = Schemas$1["AccountResolveResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AccountResponse`. */ type AccountResponse = Schemas$1["AccountResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AccountSearchResponse`. */ type AccountSearchResponse = Schemas$1["AccountSearchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AdditionalRecipient`. */ type AdditionalRecipient = Schemas$1["AdditionalRecipient"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize
` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Address`. */ type Address = Schemas$1["Address"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AdvancedOrder`. */ type AdvancedOrder = Schemas$1["AdvancedOrder"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentAccountStatusResponse`. */ type AgentAccountStatusResponse = Schemas$1["AgentAccountStatusResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentBindingResponse`. */ type AgentBindingResponse = Schemas$1["AgentBindingResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentNftResponse`. */ type AgentNftResponse = Schemas$1["AgentNftResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentProfileRelationshipsResponse`. */ type AgentProfileRelationshipsResponse = Schemas$1["AgentProfileRelationshipsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentProfileSummaryResponse`. */ type AgentProfileSummaryResponse = Schemas$1["AgentProfileSummaryResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentRelationshipListResponse`. */ type AgentRelationshipListResponse = Schemas$1["AgentRelationshipListResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentRelationshipMutationResponse`. */ type AgentRelationshipMutationResponse = Schemas$1["AgentRelationshipMutationResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentRelationshipRemovalResponse`. */ type AgentRelationshipRemovalResponse = Schemas$1["AgentRelationshipRemovalResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AgentRelationshipResponse`. */ type AgentRelationshipResponse = Schemas$1["AgentRelationshipResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AssetEventsResponse`. */ type AssetEventsResponse = Schemas$1["AssetEventsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AssetIdentifierResponse`. */ type AssetIdentifierResponse = Schemas$1["AssetIdentifierResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AssetMetadataResponse`. */ type AssetMetadataResponse = Schemas$1["AssetMetadataResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AssetQuantityInput`. */ type AssetQuantityInput = Schemas$1["AssetQuantityInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AssetReceiptResponse`. */ type AssetReceiptResponse = Schemas$1["AssetReceiptResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AuthErrorResponse`. */ type AuthErrorResponse = Schemas$1["AuthErrorResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `AuthScope`. */ type AuthScope = Schemas$1["AuthScope"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BasicOrderParameters`. */ type BasicOrderParameters = Schemas$1["BasicOrderParameters"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BatchCollectionsRequest`. */ type BatchCollectionsRequest = Schemas$1["BatchCollectionsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BatchNftsRequest`. */ type BatchNftsRequest = Schemas$1["BatchNftsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BatchTokensRequest`. */ type BatchTokensRequest = Schemas$1["BatchTokensRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BidderResponse`. */ type BidderResponse = Schemas$1["BidderResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BuildOfferRequest`. */ type BuildOfferRequest = Schemas$1["BuildOfferRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `BuildOfferResponse`. */ type BuildOfferResponse = Schemas$1["BuildOfferResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CancelOrderActionsRequest`. */ type CancelOrderActionsRequest = Schemas$1["CancelOrderActionsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CancelOrderActionsResponse`. */ type CancelOrderActionsResponse = Schemas$1["CancelOrderActionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CancelRequest`. */ type CancelRequest = Schemas$1["CancelRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CancelResponse`. */ type CancelResponse = Schemas$1["CancelResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ChainIdentifier`. */ type ChainIdentifier = Schemas$1["ChainIdentifier"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ChainListResponse`. */ type ChainListResponse = Schemas$1["ChainListResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ChainResponse`. */ type ChainResponse = Schemas$1["ChainResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ClaimAccountUsernameRequest`. */ type ClaimAccountUsernameRequest = Schemas$1["ClaimAccountUsernameRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ClaimAccountUsernameResponse`. */ type ClaimAccountUsernameResponse = Schemas$1["ClaimAccountUsernameResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ClearNftPfpResponse`. */ type ClearNftPfpResponse = Schemas$1["ClearNftPfpResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ClosedPositionResponse`. */ type ClosedPositionResponse = Schemas$1["ClosedPositionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ClosedPositionsResponse`. */ type ClosedPositionsResponse = Schemas$1["ClosedPositionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionBatchResponse`. */ type CollectionBatchResponse = Schemas$1["CollectionBatchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionCriteria`. */ type CollectionCriteria = Schemas$1["CollectionCriteria"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionDetailedResponse`. */ type CollectionDetailedResponse = Schemas$1["CollectionDetailedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionHolderResponse`. */ type CollectionHolderResponse = Schemas$1["CollectionHolderResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionHoldersPaginatedResponse`. */ type CollectionHoldersPaginatedResponse = Schemas$1["CollectionHoldersPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionInner`. */ type CollectionInner = Schemas$1["CollectionInner"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionObject`. */ type CollectionObject = Schemas$1["CollectionObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionOfferAggregateResponse`. */ type CollectionOfferAggregateResponse = Schemas$1["CollectionOfferAggregateResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionOfferAggregatesPaginatedResponse`. */ type CollectionOfferAggregatesPaginatedResponse = Schemas$1["CollectionOfferAggregatesPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionPaginatedResponse`. */ type CollectionPaginatedResponse = Schemas$1["CollectionPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionRarity`. */ type CollectionRarity = Schemas$1["CollectionRarity"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionResponse`. */ type CollectionResponse = Schemas$1["CollectionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionSearchResponse`. */ type CollectionSearchResponse = Schemas$1["CollectionSearchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CollectionStatsResponse`. */ type CollectionStatsResponse = Schemas$1["CollectionStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ConfirmAgentRelationshipRequestBody`. */ type ConfirmAgentRelationshipRequestBody = Schemas$1["ConfirmAgentRelationshipRequestBody"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Consideration`. */ type Consideration = Schemas$1["Consideration"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ConsiderationItem`. */ type ConsiderationItem = Schemas$1["ConsiderationItem"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ConsiderationObject`. */ type ConsiderationObject = Schemas$1["ConsiderationObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ContentBlockModuleRequest`. */ type ContentBlockModuleRequest = Schemas$1["ContentBlockModuleRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ContentBlockSectionRequest`. */ type ContentBlockSectionRequest = Schemas$1["ContentBlockSectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Contract`. */ type Contract = Schemas$1["Contract"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ContractCriteria`. */ type ContractCriteria = Schemas$1["ContractCriteria"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ContractInner`. */ type ContractInner = Schemas$1["ContractInner"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ContractResponse`. */ type ContractResponse = Schemas$1["ContractResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateListingActionsRequest`. */ type CreateListingActionsRequest = Schemas$1["CreateListingActionsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateListingActionsResponse`. */ type CreateListingActionsResponse = Schemas$1["CreateListingActionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateOfferActionItem`. */ type CreateOfferActionItem = Schemas$1["CreateOfferActionItem"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateOfferActionsRequest`. */ type CreateOfferActionsRequest = Schemas$1["CreateOfferActionsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateOfferActionsResponse`. */ type CreateOfferActionsResponse = Schemas$1["CreateOfferActionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CreateProfileShelfRequest`. */ type CreateProfileShelfRequest = Schemas$1["CreateProfileShelfRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Criteria`. */ type Criteria = Schemas$1["Criteria"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CriteriaObject`. */ type CriteriaObject = Schemas$1["CriteriaObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CriteriaRequest`. */ type CriteriaRequest = Schemas$1["CriteriaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CriteriaResolver`. */ type CriteriaResolver = Schemas$1["CriteriaResolver"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CrossChainDropMintRequest`. */ type CrossChainDropMintRequest = Schemas$1["CrossChainDropMintRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CrossChainDropMintResponse`. */ type CrossChainDropMintResponse = Schemas$1["CrossChainDropMintResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CrossChainFulfillmentRequest`. */ type CrossChainFulfillmentRequest = Schemas$1["CrossChainFulfillmentRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CrossChainFulfillmentResponse`. */ type CrossChainFulfillmentResponse = Schemas$1["CrossChainFulfillmentResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `CrossChainPaymentToken`. */ type CrossChainPaymentToken = Schemas$1["CrossChainPaymentToken"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropDeployReceiptResponse`. */ type DropDeployReceiptResponse = Schemas$1["DropDeployReceiptResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropDeployRequest`. */ type DropDeployRequest = Schemas$1["DropDeployRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropDeployResponse`. */ type DropDeployResponse = Schemas$1["DropDeployResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropDetailedResponse`. */ type DropDetailedResponse = Schemas$1["DropDetailedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropEligibilityResponse`. */ type DropEligibilityResponse = Schemas$1["DropEligibilityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropItemAttributeResponse`. */ type DropItemAttributeResponse = Schemas$1["DropItemAttributeResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropItemResponse`. */ type DropItemResponse = Schemas$1["DropItemResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropMintRequest`. */ type DropMintRequest = Schemas$1["DropMintRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropMintResponse`. */ type DropMintResponse = Schemas$1["DropMintResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropPaginatedResponse`. */ type DropPaginatedResponse = Schemas$1["DropPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropResponse`. */ type DropResponse = Schemas$1["DropResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropStageEligibilityResponse`. */ type DropStageEligibilityResponse = Schemas$1["DropStageEligibilityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `DropStageResponse`. */ type DropStageResponse = Schemas$1["DropStageResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Eip3009Fields`. */ type Eip3009Fields = Schemas$1["Eip3009Fields"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Event`. */ type Event = Schemas$1["Event"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `EventBase`. */ type EventBase = Schemas$1["EventBase"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FaqBlockModuleRequest`. */ type FaqBlockModuleRequest = Schemas$1["FaqBlockModuleRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FaqSectionRequest`. */ type FaqSectionRequest = Schemas$1["FaqSectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FavoriteResponse`. */ type FavoriteResponse = Schemas$1["FavoriteResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Fee`. */ type Fee = Schemas$1["Fee"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FloorPriceHistoryResponse`. */ type FloorPriceHistoryResponse = Schemas$1["FloorPriceHistoryResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FloorPricePointResponse`. */ type FloorPricePointResponse = Schemas$1["FloorPricePointResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillAdvancedOrder`. */ type FulfillAdvancedOrder = Schemas$1["FulfillAdvancedOrder"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillAvailableAdvancedOrders`. */ type FulfillAvailableAdvancedOrders = Schemas$1["FulfillAvailableAdvancedOrders"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillAvailableOrders`. */ type FulfillAvailableOrders = Schemas$1["FulfillAvailableOrders"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillBasicOrder`. */ type FulfillBasicOrder = Schemas$1["FulfillBasicOrder"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillListingResponse`. */ type FulfillListingResponse = Schemas$1["FulfillListingResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillOrder`. */ type FulfillOrder = Schemas$1["FulfillOrder"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillerObject`. */ type FulfillerObject = Schemas$1["FulfillerObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Fulfillment`. */ type Fulfillment = Schemas$1["Fulfillment"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillmentActionsResponse`. */ type FulfillmentActionsResponse = Schemas$1["FulfillmentActionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillmentComponent`. */ type FulfillmentComponent = Schemas$1["FulfillmentComponent"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FulfillmentData`. */ type FulfillmentData = Schemas$1["FulfillmentData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FullfillListingRequest`. */ type FullfillListingRequest = Schemas$1["FullfillListingRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `FullfillmentDataRequest`. */ type FullfillmentDataRequest = Schemas$1["FullfillmentDataRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `GetOrderResponse`. */ type GetOrderResponse = Schemas$1["GetOrderResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `HeroMetadataRequest`. */ type HeroMetadataRequest = Schemas$1["HeroMetadataRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ImageMediaRequest`. */ type ImageMediaRequest = Schemas$1["ImageMediaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `InstantApiKeyResponse`. */ type InstantApiKeyResponse = Schemas$1["InstantApiKeyResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `IntervalStat`. */ type IntervalStat = Schemas$1["IntervalStat"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Item`. */ type Item = Schemas$1["Item"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `JsonNode`. */ type JsonNode = Schemas$1["JsonNode"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `LinkRequest`. */ type LinkRequest = Schemas$1["LinkRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `LinkWalletSiwxRequest`. */ type LinkWalletSiwxRequest = Schemas$1["LinkWalletSiwxRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Listing`. */ type Listing = Schemas$1["Listing"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingItem`. */ type ListingItem = Schemas$1["ListingItem"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingObject`. */ type ListingObject = Schemas$1["ListingObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingOrOffer`. */ type ListingOrOffer = Schemas$1["ListingOrOffer"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingPrice`. */ type ListingPrice = Schemas$1["ListingPrice"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingPriceInput`. */ type ListingPriceInput = Schemas$1["ListingPriceInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ListingsResponse`. */ type ListingsResponse = Schemas$1["ListingsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `MatchAdvancedOrders`. */ type MatchAdvancedOrders = Schemas$1["MatchAdvancedOrders"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `MatchOrders`. */ type MatchOrders = Schemas$1["MatchOrders"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `MediaInputRequest`. */ type MediaInputRequest = Schemas$1["MediaInputRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `MetadataIngestionError`. */ type MetadataIngestionError = Schemas$1["MetadataIngestionError"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ModifyCollectionCreatorFeeRequest`. */ type ModifyCollectionCreatorFeeRequest = Schemas$1["ModifyCollectionCreatorFeeRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ModifyCollectionRequest`. */ type ModifyCollectionRequest = Schemas$1["ModifyCollectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ModifyCollectionResponse`. */ type ModifyCollectionResponse = Schemas$1["ModifyCollectionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NarrativeModuleRequest`. */ type NarrativeModuleRequest = Schemas$1["NarrativeModuleRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Nft`. */ type Nft = Schemas$1["Nft"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftAnalyticsResponse`. */ type NftAnalyticsResponse = Schemas$1["NftAnalyticsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftBatchResponse`. */ type NftBatchResponse = Schemas$1["NftBatchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftDetailed`. */ type NftDetailed = Schemas$1["NftDetailed"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftIdentifierInput`. */ type NftIdentifierInput = Schemas$1["NftIdentifierInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftListResponse`. */ type NftListResponse = Schemas$1["NftListResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftPfpResponse`. */ type NftPfpResponse = Schemas$1["NftPfpResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftResponse`. */ type NftResponse = Schemas$1["NftResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftSalePointResponse`. */ type NftSalePointResponse = Schemas$1["NftSalePointResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NftSearchResponse`. */ type NftSearchResponse = Schemas$1["NftSearchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NumericTraitCriteria`. */ type NumericTraitCriteria = Schemas$1["NumericTraitCriteria"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `NumericTraitData`. */ type NumericTraitData = Schemas$1["NumericTraitData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Offer`. */ type Offer = Schemas$1["Offer"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OfferAggregatePriceResponse`. */ type OfferAggregatePriceResponse = Schemas$1["OfferAggregatePriceResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OfferItem`. */ type OfferItem = Schemas$1["OfferItem"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OfferObject`. */ type OfferObject = Schemas$1["OfferObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OfferWithCriteriaRequest`. */ type OfferWithCriteriaRequest = Schemas$1["OfferWithCriteriaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OffersResponse`. */ type OffersResponse = Schemas$1["OffersResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OhlcvCandleResponse`. */ type OhlcvCandleResponse = Schemas$1["OhlcvCandleResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OhlcvResponse`. */ type OhlcvResponse = Schemas$1["OhlcvResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Order`. */ type Order = Schemas$1["Order"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OrderAsset`. */ type OrderAsset = Schemas$1["OrderAsset"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OrderData`. */ type OrderData = Schemas$1["OrderData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OrderEvent`. */ type OrderEvent = Schemas$1["OrderEvent"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OrderParameters`. */ type OrderParameters = Schemas$1["OrderParameters"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OverviewMetadataRequest`. */ type OverviewMetadataRequest = Schemas$1["OverviewMetadataRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OverviewModuleRequest`. */ type OverviewModuleRequest = Schemas$1["OverviewModuleRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Owner`. */ type Owner = Schemas$1["Owner"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `OwnersPaginatedResponse`. */ type OwnersPaginatedResponse = Schemas$1["OwnersPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Parameters`. */ type Parameters = Schemas$1["Parameters"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PartialParameters`. */ type PartialParameters = Schemas$1["PartialParameters"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Payment`. */ type Payment = Schemas$1["Payment"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PaymentToken`. */ type PaymentToken = Schemas$1["PaymentToken"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PerpetualFutureBaseResponse`. */ type PerpetualFutureBaseResponse = Schemas$1["PerpetualFutureBaseResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PerpetualFuturePaginatedResponse`. */ type PerpetualFuturePaginatedResponse = Schemas$1["PerpetualFuturePaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PerpetualFutureResponse`. */ type PerpetualFutureResponse = Schemas$1["PerpetualFutureResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PerpetualFutureStatsResponse`. */ type PerpetualFutureStatsResponse = Schemas$1["PerpetualFutureStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PortfolioHistoryDataPoint`. */ type PortfolioHistoryDataPoint = Schemas$1["PortfolioHistoryDataPoint"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PortfolioHistoryResponse`. */ type PortfolioHistoryResponse = Schemas$1["PortfolioHistoryResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PortfolioStatsResponse`. */ type PortfolioStatsResponse = Schemas$1["PortfolioStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PositionTokenTransferResponse`. */ type PositionTokenTransferResponse = Schemas$1["PositionTokenTransferResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PositionTokenTransfersResponse`. */ type PositionTokenTransfersResponse = Schemas$1["PositionTokenTransfersResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PrerevealDropItemResponse`. */ type PrerevealDropItemResponse = Schemas$1["PrerevealDropItemResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Price`. */ type Price = Schemas$1["Price"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PriceHistoryPointResponse`. */ type PriceHistoryPointResponse = Schemas$1["PriceHistoryPointResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PriceHistoryResponse`. */ type PriceHistoryResponse = Schemas$1["PriceHistoryResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PriceResponse`. */ type PriceResponse = Schemas$1["PriceResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `PricingCurrencies`. */ type PricingCurrencies = Schemas$1["PricingCurrencies"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileCollectionResponse`. */ type ProfileCollectionResponse = Schemas$1["ProfileCollectionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileCollectionsResponse`. */ type ProfileCollectionsResponse = Schemas$1["ProfileCollectionsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileRelationshipResponse`. */ type ProfileRelationshipResponse = Schemas$1["ProfileRelationshipResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfActionResponse`. */ type ProfileShelfActionResponse = Schemas$1["ProfileShelfActionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfItemIdentifierResponse`. */ type ProfileShelfItemIdentifierResponse = Schemas$1["ProfileShelfItemIdentifierResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfItemMetadataResponse`. */ type ProfileShelfItemMetadataResponse = Schemas$1["ProfileShelfItemMetadataResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfItemRequest`. */ type ProfileShelfItemRequest = Schemas$1["ProfileShelfItemRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfItemUpdateRequest`. */ type ProfileShelfItemUpdateRequest = Schemas$1["ProfileShelfItemUpdateRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileShelfResponse`. */ type ProfileShelfResponse = Schemas$1["ProfileShelfResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProfileSocialMutationResponse`. */ type ProfileSocialMutationResponse = Schemas$1["ProfileSocialMutationResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProposeAgentRelationshipRequestBody`. */ type ProposeAgentRelationshipRequestBody = Schemas$1["ProposeAgentRelationshipRequestBody"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ProtocolData`. */ type ProtocolData = Schemas$1["ProtocolData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Rarity`. */ type Rarity = Schemas$1["Rarity"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `RateLimitsResponse`. */ type RateLimitsResponse = Schemas$1["RateLimitsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `RegisteredToolResponse`. */ type RegisteredToolResponse = Schemas$1["RegisteredToolResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ReorderProfileShelvesRequest`. */ type ReorderProfileShelvesRequest = Schemas$1["ReorderProfileShelvesRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaleEvent`. */ type SaleEvent = Schemas$1["SaleEvent"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropEditsPriceRequest`. */ type SaveDropEditsPriceRequest = Schemas$1["SaveDropEditsPriceRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropEditsRequest`. */ type SaveDropEditsRequest = Schemas$1["SaveDropEditsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropEditsStageRequest`. */ type SaveDropEditsStageRequest = Schemas$1["SaveDropEditsStageRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropItemMediaRequest`. */ type SaveDropItemMediaRequest = Schemas$1["SaveDropItemMediaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropItemMediaResponse`. */ type SaveDropItemMediaResponse = Schemas$1["SaveDropItemMediaResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveDropResponse`. */ type SaveDropResponse = Schemas$1["SaveDropResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SavePrerevealDropItemRequest`. */ type SavePrerevealDropItemRequest = Schemas$1["SavePrerevealDropItemRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SaveSelfMintDropItemRequest`. */ type SaveSelfMintDropItemRequest = Schemas$1["SaveSelfMintDropItemRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SavedToolActionResponse`. */ type SavedToolActionResponse = Schemas$1["SavedToolActionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SavedToolRequest`. */ type SavedToolRequest = Schemas$1["SavedToolRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SavedToolResponse`. */ type SavedToolResponse = Schemas$1["SavedToolResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SavedToolsPaginatedResponse`. */ type SavedToolsPaginatedResponse = Schemas$1["SavedToolsPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SeaportCall`. */ type SeaportCall = Schemas$1["SeaportCall"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SeaportParameters`. */ type SeaportParameters = Schemas$1["SeaportParameters"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SeaportProtocolDataModel`. */ type SeaportProtocolDataModel = Schemas$1["SeaportProtocolDataModel"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SeaportRequest`. */ type SeaportRequest = Schemas$1["SeaportRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SearchResponse`. */ type SearchResponse = Schemas$1["SearchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SearchResultResponse`. */ type SearchResultResponse = Schemas$1["SearchResultResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SelfMintDropItemResponse`. */ type SelfMintDropItemResponse = Schemas$1["SelfMintDropItemResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SelfMintDropItemTraitRequest`. */ type SelfMintDropItemTraitRequest = Schemas$1["SelfMintDropItemTraitRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SetCollectionVisibilityRequest`. */ type SetCollectionVisibilityRequest = Schemas$1["SetCollectionVisibilityRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SetCollectionVisibilityResponse`. */ type SetCollectionVisibilityResponse = Schemas$1["SetCollectionVisibilityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SetNftPfpRequest`. */ type SetNftPfpRequest = Schemas$1["SetNftPfpRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SocialMediaAccount`. */ type SocialMediaAccount = Schemas$1["SocialMediaAccount"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SocialProfilePageResponse`. */ type SocialProfilePageResponse = Schemas$1["SocialProfilePageResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SocialProfileSummaryResponse`. */ type SocialProfileSummaryResponse = Schemas$1["SocialProfileSummaryResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SubscriptionInfoResponse`. */ type SubscriptionInfoResponse = Schemas$1["SubscriptionInfoResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SvmInstructionAccountResponse`. */ type SvmInstructionAccountResponse = Schemas$1["SvmInstructionAccountResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SvmInstructionResponse`. */ type SvmInstructionResponse = Schemas$1["SvmInstructionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SvmOrderIdentity`. */ type SvmOrderIdentity = Schemas$1["SvmOrderIdentity"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SvmTransactionDetailsResponse`. */ type SvmTransactionDetailsResponse = Schemas$1["SvmTransactionDetailsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapAssetInput`. */ type SwapAssetInput = Schemas$1["SwapAssetInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapCostResponse`. */ type SwapCostResponse = Schemas$1["SwapCostResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapExecuteRequest`. */ type SwapExecuteRequest = Schemas$1["SwapExecuteRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapExecuteResponse`. */ type SwapExecuteResponse = Schemas$1["SwapExecuteResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapPriceImpact`. */ type SwapPriceImpact = Schemas$1["SwapPriceImpact"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapQuoteDetails`. */ type SwapQuoteDetails = Schemas$1["SwapQuoteDetails"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapQuoteInput`. */ type SwapQuoteInput = Schemas$1["SwapQuoteInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapQuoteResponse`. */ type SwapQuoteResponse = Schemas$1["SwapQuoteResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapRouteErrorResponse`. */ type SwapRouteErrorResponse = Schemas$1["SwapRouteErrorResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SwapTransactionResponse`. */ type SwapTransactionResponse = Schemas$1["SwapTransactionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SweepCollectionRequest`. */ type SweepCollectionRequest = Schemas$1["SweepCollectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SweepCollectionResponse`. */ type SweepCollectionResponse = Schemas$1["SweepCollectionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `SweepError`. */ type SweepError = Schemas$1["SweepError"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TeamBlockModuleRequest`. */ type TeamBlockModuleRequest = Schemas$1["TeamBlockModuleRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TeamSectionRequest`. */ type TeamSectionRequest = Schemas$1["TeamSectionRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenAccountActivityPaginatedResponse`. */ type TokenAccountActivityPaginatedResponse = Schemas$1["TokenAccountActivityPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenAccountActivityResponse`. */ type TokenAccountActivityResponse = Schemas$1["TokenAccountActivityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenActivityStatsResponse`. */ type TokenActivityStatsResponse = Schemas$1["TokenActivityStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenActivityWindowStatsResponse`. */ type TokenActivityWindowStatsResponse = Schemas$1["TokenActivityWindowStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenAmountResponse`. */ type TokenAmountResponse = Schemas$1["TokenAmountResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenBalancePaginatedResponse`. */ type TokenBalancePaginatedResponse = Schemas$1["TokenBalancePaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenBalanceResponse`. */ type TokenBalanceResponse = Schemas$1["TokenBalanceResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenBaseResponse`. */ type TokenBaseResponse = Schemas$1["TokenBaseResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenBatchResponse`. */ type TokenBatchResponse = Schemas$1["TokenBatchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenContractInput`. */ type TokenContractInput = Schemas$1["TokenContractInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenDetailedResponse`. */ type TokenDetailedResponse = Schemas$1["TokenDetailedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenExchangeRequest`. */ type TokenExchangeRequest = Schemas$1["TokenExchangeRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenExchangeResponse`. */ type TokenExchangeResponse = Schemas$1["TokenExchangeResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupCurrencyResponse`. */ type TokenGroupCurrencyResponse = Schemas$1["TokenGroupCurrencyResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupPaginatedResponse`. */ type TokenGroupPaginatedResponse = Schemas$1["TokenGroupPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupResponse`. */ type TokenGroupResponse = Schemas$1["TokenGroupResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupRollingStatsResponse`. */ type TokenGroupRollingStatsResponse = Schemas$1["TokenGroupRollingStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupSocialsResponse`. */ type TokenGroupSocialsResponse = Schemas$1["TokenGroupSocialsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenGroupStatsResponse`. */ type TokenGroupStatsResponse = Schemas$1["TokenGroupStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenHolderDistributionResponse`. */ type TokenHolderDistributionResponse = Schemas$1["TokenHolderDistributionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenHolderResponse`. */ type TokenHolderResponse = Schemas$1["TokenHolderResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenHoldersResponse`. */ type TokenHoldersResponse = Schemas$1["TokenHoldersResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenLiquidityPoolResponse`. */ type TokenLiquidityPoolResponse = Schemas$1["TokenLiquidityPoolResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenLiquidityPoolsResponse`. */ type TokenLiquidityPoolsResponse = Schemas$1["TokenLiquidityPoolsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenPaginatedResponse`. */ type TokenPaginatedResponse = Schemas$1["TokenPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenResponse`. */ type TokenResponse = Schemas$1["TokenResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenSearchResponse`. */ type TokenSearchResponse = Schemas$1["TokenSearchResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenSocialsResponse`. */ type TokenSocialsResponse = Schemas$1["TokenSocialsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenStatsResponse`. */ type TokenStatsResponse = Schemas$1["TokenStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenSwapActivityPaginatedResponse`. */ type TokenSwapActivityPaginatedResponse = Schemas$1["TokenSwapActivityPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TokenSwapActivityResponse`. */ type TokenSwapActivityResponse = Schemas$1["TokenSwapActivityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolAccessResponse`. */ type ToolAccessResponse = Schemas$1["ToolAccessResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolActivityEventResponse`. */ type ToolActivityEventResponse = Schemas$1["ToolActivityEventResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolActivityPaginatedResponse`. */ type ToolActivityPaginatedResponse = Schemas$1["ToolActivityPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolCollectionResponse`. */ type ToolCollectionResponse = Schemas$1["ToolCollectionResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolListItemResponse`. */ type ToolListItemResponse = Schemas$1["ToolListItemResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolListPaginatedResponse`. */ type ToolListPaginatedResponse = Schemas$1["ToolListPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolPaymentStatsResponse`. */ type ToolPaymentStatsResponse = Schemas$1["ToolPaymentStatsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolPricingRecipientResponse`. */ type ToolPricingRecipientResponse = Schemas$1["ToolPricingRecipientResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolRequirementResponse`. */ type ToolRequirementResponse = Schemas$1["ToolRequirementResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolSearchPaginatedResponse`. */ type ToolSearchPaginatedResponse = Schemas$1["ToolSearchPaginatedResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolSearchResultResponse`. */ type ToolSearchResultResponse = Schemas$1["ToolSearchResultResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolUsageRequest`. */ type ToolUsageRequest = Schemas$1["ToolUsageRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ToolUsageResponse`. */ type ToolUsageResponse = Schemas$1["ToolUsageResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Total`. */ type Total = Schemas$1["Total"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TotalSpentResponse`. */ type TotalSpentResponse = Schemas$1["TotalSpentResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Trait`. */ type Trait = Schemas$1["Trait"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TraitCriteria`. */ type TraitCriteria = Schemas$1["TraitCriteria"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TraitData`. */ type TraitData = Schemas$1["TraitData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TraitFloorResponse`. */ type TraitFloorResponse = Schemas$1["TraitFloorResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TraitFloorsResponse`. */ type TraitFloorsResponse = Schemas$1["TraitFloorsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TraitObject`. */ type TraitObject = Schemas$1["TraitObject"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransactionData`. */ type TransactionData = Schemas$1["TransactionData"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransactionIdentifierInput`. */ type TransactionIdentifierInput = Schemas$1["TransactionIdentifierInput"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransactionReceiptRequest`. */ type TransactionReceiptRequest = Schemas$1["TransactionReceiptRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransactionReceiptResponse`. */ type TransactionReceiptResponse = Schemas$1["TransactionReceiptResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransferAsset`. */ type TransferAsset = Schemas$1["TransferAsset"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransferEvent`. */ type TransferEvent = Schemas$1["TransferEvent"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransferRequest`. */ type TransferRequest = Schemas$1["TransferRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `TransferResponse`. */ type TransferResponse = Schemas$1["TransferResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Type`. */ type Type = Schemas$1["Type"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `Uint256`. */ type Uint256 = Schemas$1["Uint256"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateCollectionMetadataRequest`. */ type UpdateCollectionMetadataRequest = Schemas$1["UpdateCollectionMetadataRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateCollectionMetadataResponse`. */ type UpdateCollectionMetadataResponse = Schemas$1["UpdateCollectionMetadataResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateDropItemRequest`. */ type UpdateDropItemRequest = Schemas$1["UpdateDropItemRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateProfileSettingsRequest`. */ type UpdateProfileSettingsRequest = Schemas$1["UpdateProfileSettingsRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateProfileSettingsResponse`. */ type UpdateProfileSettingsResponse = Schemas$1["UpdateProfileSettingsResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateProfileShelfRequest`. */ type UpdateProfileShelfRequest = Schemas$1["UpdateProfileShelfRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UpdateSelfMintDropItemRequest`. */ type UpdateSelfMintDropItemRequest = Schemas$1["UpdateSelfMintDropItemRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UploadContext`. */ type UploadContext = Schemas$1["UploadContext"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UploadDropItemMediaRequest`. */ type UploadDropItemMediaRequest = Schemas$1["UploadDropItemMediaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `UploadProfileImageRequest`. */ type UploadProfileImageRequest = Schemas$1["UploadProfileImageRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `V1ErrorWrapper`. */ type V1ErrorWrapper = Schemas$1["V1ErrorWrapper"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateDropAllowlistRequest`. */ type ValidateDropAllowlistRequest = Schemas$1["ValidateDropAllowlistRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateDropAllowlistResponse`. */ type ValidateDropAllowlistResponse = Schemas$1["ValidateDropAllowlistResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateMetadataAssetIdentifier`. */ type ValidateMetadataAssetIdentifier = Schemas$1["ValidateMetadataAssetIdentifier"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateMetadataAttribute`. */ type ValidateMetadataAttribute = Schemas$1["ValidateMetadataAttribute"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateMetadataDetails`. */ type ValidateMetadataDetails = Schemas$1["ValidateMetadataDetails"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `ValidateMetadataResponse`. */ type ValidateMetadataResponse = Schemas$1["ValidateMetadataResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `VideoMediaRequest`. */ type VideoMediaRequest = Schemas$1["VideoMediaRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `WalletLinkResponse`. */ type WalletLinkResponse = Schemas$1["WalletLinkResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `WalletPnlResponse`. */ type WalletPnlResponse = Schemas$1["WalletPnlResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `WalletUnlinkResponse`. */ type WalletUnlinkResponse = Schemas$1["WalletUnlinkResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `WalletVisibilityResponse`. */ type WalletVisibilityResponse = Schemas$1["WalletVisibilityResponse"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `WatchlistRequest`. */ type WatchlistRequest = Schemas$1["WatchlistRequest"]; /** * Wire shape, snake_case as the API sends and accepts it. `@opensea/sdk` * camelizes responses and snakeizes request bodies, so annotate an * SDK-facing value with `Camelize` (exported by * `@opensea/sdk`) or the matching `@opensea/sdk` type rather than with * `X402SettlementFields`. */ type X402SettlementFields = Schemas$1["X402SettlementFields"]; /** * Every chain identifier the OpenSea API accepts, in spec order. * * The `satisfies` clause rejects a member the union does not have, and the * assertion below rejects a union member the array is missing, so the two * generated artifacts fail the type-check the moment they disagree. */ declare const CHAIN_IDENTIFIERS: readonly ["blast", "base", "ethereum", "zora", "arbitrum", "sei", "avalanche", "polygon", "optimism", "ape_chain", "flow", "b3", "soneium", "ronin", "bera_chain", "solana", "shape", "unichain", "gunzilla", "abstract", "animechain", "hyperevm", "somnia", "monad", "hyperliquid", "megaeth", "ink", "robinhood", "stablechain", "arc"]; /** Per-scope metadata for every OpenSea API auth scope, in spec order. */ declare const AUTH_SCOPES: readonly [{ readonly name: "read:eligibility"; readonly displayName: "Check drop eligibility"; readonly description: "Check drop eligibility for authenticated wallet"; readonly group: "read"; readonly endpoints: readonly ["/api/v2/drops/{slug}/eligibility"]; readonly mcpTools: readonly ["check_drop_eligibility"]; }, { readonly name: "read:favorites"; readonly displayName: "View favorites and watchlist"; readonly description: "View favorites and watchlist for authenticated account"; readonly group: "read"; readonly endpoints: readonly ["/api/v2/account/{address}/favorites", "/api/v2/account/{address}/token_watchlist", "/api/v2/account/{address}/perpetual_watchlist"]; readonly mcpTools: readonly ["get_favorites"]; }, { readonly name: "read:social"; readonly displayName: "View social relationships"; readonly description: "View follows, watches, followers, and following for the authenticated account"; readonly group: "read"; readonly endpoints: readonly ["/api/v2/accounts/{address_or_username}/relationship", "/api/v2/accounts/{address_or_username}/followers", "/api/v2/accounts/{address_or_username}/following"]; readonly mcpTools: readonly ["view_social_graph"]; }, { readonly name: "read:tools"; readonly displayName: "View saved tools and toolkits"; readonly description: "View saved tools and toolkits for the authenticated account"; readonly group: "read"; readonly endpoints: readonly ["/api/v2/saved-tools", "/api/v2/toolkits", "/api/v2/toolkits/{toolkit_slug}"]; readonly mcpTools: readonly ["list_saved_tools", "list_toolkits", "get_toolkit"]; }, { readonly name: "read:wallets"; readonly displayName: "View linked wallets and agent relationships"; readonly description: "View wallet state for the authenticated account, currently agent ownership relationships including pending proposals"; readonly group: "read"; readonly endpoints: readonly ["/api/v2/accounts/agent-relationships"]; readonly mcpTools: readonly ["get_agent_relationships"]; }, { readonly name: "write:favorites"; readonly displayName: "Manage favorites and watchlist"; readonly description: "Add and remove favorites and watchlist entries for authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/watchlist"]; readonly mcpTools: readonly ["manage_watchlist"]; }, { readonly name: "write:social"; readonly displayName: "Manage social relationships"; readonly description: "Follow, unfollow, watch, and unwatch profiles, and link or unlink an X account, for the authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/accounts/{address_or_username}/follow", "/api/v2/accounts/{address_or_username}/watch", "/api/v2/accounts/social/x/link", "/api/v2/accounts/social/x/link/{link_id}", "/api/v2/accounts/social/x"]; readonly mcpTools: readonly ["manage_social_graph", "link_x_account"]; }, { readonly name: "write:tools"; readonly displayName: "Manage saved tools and toolkits"; readonly description: "Save and remove tools and manage toolkits for the authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/saved-tools", "/api/v2/toolkits", "/api/v2/toolkits/{toolkit_id}/save"]; readonly mcpTools: readonly ["save_tool", "unsave_tool", "create_toolkit", "save_toolkit", "unsave_toolkit"]; }, { readonly name: "write:orders"; readonly displayName: "Cancel orders"; readonly description: "Cancel orders on behalf of authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}/cancel"]; readonly mcpTools: readonly ["cancel_orders"]; }, { readonly name: "write:drops"; readonly displayName: "Creator Studio drop management"; readonly description: "Manage Creator Studio drops for authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/drops/{slug}", "/api/v2/drops/{slug}/allowlist", "/api/v2/drops/{slug}/allowlist/validate", "/api/v2/drops/{slug}/prereveal-item", "/api/v2/drops/{slug}/items", "/api/v2/drops/{slug}/items/media", "/api/v2/drops/{slug}/items/media/save", "/api/v2/drops/{slug}/items/{token_id}"]; readonly mcpTools: readonly ["manage_drops"]; }, { readonly name: "write:collections"; readonly displayName: "Collection metadata editing"; readonly description: "Modify collection metadata for authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/collections/{slug}", "/api/v2/collections/{slug}/metadata", "/api/v2/collections/{slug}/visibility", "/api/v2/collections/{slug}/images/{image_type}"]; readonly mcpTools: readonly ["manage_collections"]; }, { readonly name: "write:profile"; readonly displayName: "Profile editing"; readonly description: "Modify profile settings for authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/profile", "/api/v2/profile/username", "/api/v2/profile/images", "/api/v2/profile/nft-pfp", "/api/v2/profile/shelves", "/api/v2/profile/shelves/{shelf_id}"]; readonly mcpTools: readonly ["manage_profile"]; }, { readonly name: "write:wallets"; readonly displayName: "Manage linked wallets"; readonly description: "Link, unlink, manage wallet visibility, and declare agent relationships for the authenticated account"; readonly group: "write"; readonly endpoints: readonly ["/api/v2/accounts/agent", "/api/v2/accounts/agent-relationships", "/api/v2/accounts/agent-relationships/confirm", "/api/v2/accounts/wallets/siwx", "/api/v2/accounts/wallets/{wallet}", "/api/v2/accounts/wallets/{wallet}/private"]; readonly mcpTools: readonly ["manage_wallets", "manage_agent_account"]; }]; /** Metadata describing a single OpenSea API auth scope. */ type AuthScopeInfo = (typeof AUTH_SCOPES)[number]; /** * @opensea/api-types * * Auto-generated TypeScript types from the OpenSea API v2 OpenAPI spec. * Re-run `pnpm --filter @opensea/api-types run build` after updating * opensea-api.json. * * These are wire shapes, in snake_case. `@opensea/sdk` rewrites response keys * to camelCase, so a type from this package does not describe a value an SDK * method returned: use the matching `@opensea/sdk` type, or `Camelize` from * `@opensea/sdk`. See "Response casing" in the SDK README. * * Schema types (everything under `components.schemas`) are re-exported from * `./schemas-generated.ts`, which is regenerated from the spec on every * build. That eliminates the manual-curation gap — when the spec gains a * new schema, downstream consumers can import it immediately with no * intermediate step. Hand-written sections below cover the things the * generator can't infer mechanically (operations helpers, response * envelopes, namespace re-exports). */ /** * The full `components.schemas` namespace. Useful when you want to look up * a schema dynamically (e.g. `Schemas["SomeRequest"]`) instead of via the * named export. * * Wire shapes, in snake_case. An SDK return value is the camelCase view of * one of these, not one of these. */ type Schemas = components["schemas"]; /** * Narrow an arbitrary string to a `ChainIdentifier`. * * `CHAIN_IDENTIFIERS.includes(value)` on its own does not type-check for a * plain `string`, because the array is a readonly tuple of literals and * `Array.prototype.includes` wants an argument of the element type. Callers * would each write the widening cast this does once. */ declare function isChainIdentifier(value: string): value is ChainIdentifier; type Responses = components["responses"]; type BadRequest = Responses["BadRequest"]; type Unauthorized = Responses["Unauthorized"]; type NotFound = Responses["NotFound"]; type RateLimit = Responses["RateLimit"]; type InternalError = Responses["InternalError"]; type OperationContentBody = T extends { content: { "application/json": infer R; }; } ? R : T extends { content: { "*/*": infer R; }; } ? R : T extends { content: { "multipart/form-data": infer R; }; } ? R : never; /** Extract the successful (200) response body type for a given operation. */ type OperationResponse = operations[T] extends { responses: { 200: infer R; }; } ? OperationContentBody : never; /** Extract the request body type for a given operation */ type OperationRequestBody = operations[T] extends { requestBody: infer R; } ? OperationContentBody : never; /** Extract the path parameters type for a given operation */ type OperationPathParams = operations[T] extends { parameters: { path: infer R; }; } ? R : never; /** Extract the query parameters type for a given operation */ type OperationQueryParams = NonNullable; export { AUTH_SCOPES, type AboutMetadataRequest, type AboutSectionRequest, type AccountResolveResponse, type AccountResponse, type AccountSearchResponse, type AdditionalRecipient, type Address, type AdvancedOrder, type AgentAccountStatusResponse, type AgentBindingResponse, type AgentNftResponse, type AgentProfileRelationshipsResponse, type AgentProfileSummaryResponse, type AgentRelationshipListResponse, type AgentRelationshipMutationResponse, type AgentRelationshipRemovalResponse, type AgentRelationshipResponse, type AssetEventsResponse, type AssetIdentifierResponse, type AssetMetadataResponse, type AssetQuantityInput, type AssetReceiptResponse, type AuthErrorResponse, type AuthScope, type AuthScopeInfo, type BadRequest, type BasicOrderParameters, type BatchCollectionsRequest, type BatchNftsRequest, type BatchTokensRequest, type BidderResponse, type BuildOfferRequest, type BuildOfferResponse, CHAIN_IDENTIFIERS, type CancelOrderActionsRequest, type CancelOrderActionsResponse, type CancelRequest, type CancelResponse, type ChainIdentifier, type ChainListResponse, type ChainResponse, type ClaimAccountUsernameRequest, type ClaimAccountUsernameResponse, type ClearNftPfpResponse, type ClosedPositionResponse, type ClosedPositionsResponse, type CollectionBatchResponse, type CollectionCriteria, type CollectionDetailedResponse, type CollectionHolderResponse, type CollectionHoldersPaginatedResponse, type CollectionInner, type CollectionObject, type CollectionOfferAggregateResponse, type CollectionOfferAggregatesPaginatedResponse, type CollectionPaginatedResponse, type CollectionRarity, type CollectionResponse, type CollectionSearchResponse, type CollectionStatsResponse, type ConfirmAgentRelationshipRequestBody, type Consideration, type ConsiderationItem, type ConsiderationObject, type ContentBlockModuleRequest, type ContentBlockSectionRequest, type Contract, type ContractCriteria, type ContractInner, type ContractResponse, type CreateListingActionsRequest, type CreateListingActionsResponse, type CreateOfferActionItem, type CreateOfferActionsRequest, type CreateOfferActionsResponse, type CreateProfileShelfRequest, type Criteria, type CriteriaObject, type CriteriaRequest, type CriteriaResolver, type CrossChainDropMintRequest, type CrossChainDropMintResponse, type CrossChainFulfillmentRequest, type CrossChainFulfillmentResponse, type CrossChainPaymentToken, type DropDeployReceiptResponse, type DropDeployRequest, type DropDeployResponse, type DropDetailedResponse, type DropEligibilityResponse, type DropItemAttributeResponse, type DropItemResponse, type DropMintRequest, type DropMintResponse, type DropPaginatedResponse, type DropResponse, type DropStageEligibilityResponse, type DropStageResponse, type Eip3009Fields, type Event, type EventBase, type FaqBlockModuleRequest, type FaqSectionRequest, type FavoriteResponse, type Fee, type FloorPriceHistoryResponse, type FloorPricePointResponse, type FulfillAdvancedOrder, type FulfillAvailableAdvancedOrders, type FulfillAvailableOrders, type FulfillBasicOrder, type FulfillListingResponse, type FulfillOrder, type FulfillerObject, type Fulfillment, type FulfillmentActionsResponse, type FulfillmentComponent, type FulfillmentData, type FullfillListingRequest, type FullfillmentDataRequest, type GetOrderResponse, type HeroMetadataRequest, type ImageMediaRequest, type InstantApiKeyResponse, type InternalError, type IntervalStat, type Item, type JsonNode, type LinkRequest, type LinkWalletSiwxRequest, type Listing, type ListingItem, type ListingObject, type ListingOrOffer, type ListingPrice, type ListingPriceInput, type ListingsResponse, type MatchAdvancedOrders, type MatchOrders, type MediaInputRequest, type MetadataIngestionError, type ModifyCollectionCreatorFeeRequest, type ModifyCollectionRequest, type ModifyCollectionResponse, type NarrativeModuleRequest, type Nft, type NftAnalyticsResponse, type NftBatchResponse, type NftDetailed, type NftIdentifierInput, type NftListResponse, type NftPfpResponse, type NftResponse, type NftSalePointResponse, type NftSearchResponse, type NotFound, type NumericTraitCriteria, type NumericTraitData, type Offer, type OfferAggregatePriceResponse, type OfferItem, type OfferObject, type OfferWithCriteriaRequest, type OffersResponse, type OhlcvCandleResponse, type OhlcvResponse, type OperationPathParams, type OperationQueryParams, type OperationRequestBody, type OperationResponse, type Order, type OrderAsset, type OrderData, type OrderEvent, type OrderParameters, type OverviewMetadataRequest, type OverviewModuleRequest, type Owner, type OwnersPaginatedResponse, type Parameters, type PartialParameters, type Payment, type PaymentToken, type PerpetualFutureBaseResponse, type PerpetualFuturePaginatedResponse, type PerpetualFutureResponse, type PerpetualFutureStatsResponse, type PortfolioHistoryDataPoint, type PortfolioHistoryResponse, type PortfolioStatsResponse, type PositionTokenTransferResponse, type PositionTokenTransfersResponse, type PrerevealDropItemResponse, type Price, type PriceHistoryPointResponse, type PriceHistoryResponse, type PriceResponse, type PricingCurrencies, type ProfileCollectionResponse, type ProfileCollectionsResponse, type ProfileRelationshipResponse, type ProfileShelfActionResponse, type ProfileShelfItemIdentifierResponse, type ProfileShelfItemMetadataResponse, type ProfileShelfItemRequest, type ProfileShelfItemUpdateRequest, type ProfileShelfResponse, type ProfileSocialMutationResponse, type ProposeAgentRelationshipRequestBody, type ProtocolData, type Rarity, type RateLimit, type RateLimitsResponse, type RegisteredToolResponse, type ReorderProfileShelvesRequest, type Responses, type SaleEvent, type SaveDropEditsPriceRequest, type SaveDropEditsRequest, type SaveDropEditsStageRequest, type SaveDropItemMediaRequest, type SaveDropItemMediaResponse, type SaveDropResponse, type SavePrerevealDropItemRequest, type SaveSelfMintDropItemRequest, type SavedToolActionResponse, type SavedToolRequest, type SavedToolResponse, type SavedToolsPaginatedResponse, type Schemas, type SeaportCall, type SeaportParameters, type SeaportProtocolDataModel, type SeaportRequest, type SearchResponse, type SearchResultResponse, type SelfMintDropItemResponse, type SelfMintDropItemTraitRequest, type SetCollectionVisibilityRequest, type SetCollectionVisibilityResponse, type SetNftPfpRequest, type SocialMediaAccount, type SocialProfilePageResponse, type SocialProfileSummaryResponse, type SubscriptionInfoResponse, type SvmInstructionAccountResponse, type SvmInstructionResponse, type SvmOrderIdentity, type SvmTransactionDetailsResponse, type SwapAssetInput, type SwapCostResponse, type SwapExecuteRequest, type SwapExecuteResponse, type SwapPriceImpact, type SwapQuoteDetails, type SwapQuoteInput, type SwapQuoteResponse, type SwapRouteErrorResponse, type SwapTransactionResponse, type SweepCollectionRequest, type SweepCollectionResponse, type SweepError, type TeamBlockModuleRequest, type TeamSectionRequest, type TokenAccountActivityPaginatedResponse, type TokenAccountActivityResponse, type TokenActivityStatsResponse, type TokenActivityWindowStatsResponse, type TokenAmountResponse, type TokenBalancePaginatedResponse, type TokenBalanceResponse, type TokenBaseResponse, type TokenBatchResponse, type TokenContractInput, type TokenDetailedResponse, type TokenExchangeRequest, type TokenExchangeResponse, type TokenGroupCurrencyResponse, type TokenGroupPaginatedResponse, type TokenGroupResponse, type TokenGroupRollingStatsResponse, type TokenGroupSocialsResponse, type TokenGroupStatsResponse, type TokenHolderDistributionResponse, type TokenHolderResponse, type TokenHoldersResponse, type TokenLiquidityPoolResponse, type TokenLiquidityPoolsResponse, type TokenPaginatedResponse, type TokenResponse, type TokenSearchResponse, type TokenSocialsResponse, type TokenStatsResponse, type TokenSwapActivityPaginatedResponse, type TokenSwapActivityResponse, type ToolAccessResponse, type ToolActivityEventResponse, type ToolActivityPaginatedResponse, type ToolCollectionResponse, type ToolListItemResponse, type ToolListPaginatedResponse, type ToolPaymentStatsResponse, type ToolPricingRecipientResponse, type ToolRequirementResponse, type ToolSearchPaginatedResponse, type ToolSearchResultResponse, type ToolUsageRequest, type ToolUsageResponse, type Total, type TotalSpentResponse, type Trait, type TraitCriteria, type TraitData, type TraitFloorResponse, type TraitFloorsResponse, type TraitObject, type TransactionData, type TransactionIdentifierInput, type TransactionReceiptRequest, type TransactionReceiptResponse, type TransferAsset, type TransferEvent, type TransferRequest, type TransferResponse, type Type, type Uint256, type Unauthorized, type UpdateCollectionMetadataRequest, type UpdateCollectionMetadataResponse, type UpdateDropItemRequest, type UpdateProfileSettingsRequest, type UpdateProfileSettingsResponse, type UpdateProfileShelfRequest, type UpdateSelfMintDropItemRequest, type UploadContext, type UploadDropItemMediaRequest, type UploadProfileImageRequest, type V1ErrorWrapper, type ValidateDropAllowlistRequest, type ValidateDropAllowlistResponse, type ValidateMetadataAssetIdentifier, type ValidateMetadataAttribute, type ValidateMetadataDetails, type ValidateMetadataResponse, type VideoMediaRequest, type WalletLinkResponse, type WalletPnlResponse, type WalletUnlinkResponse, type WalletVisibilityResponse, type WatchlistRequest, type X402SettlementFields, type components, isChainIdentifier, type operations, type paths };