openapi: 3.1.0 info: title: Tensor Bids API version: '1.0' description: 'Read-only REST surface for the Tensor Solana NFT marketplace. Covers collections, NFT mint metadata, active listings, bids (collection / single-NFT / trait), TSwap and TAmm pool state, user portfolios, transaction history, royalty enforcement metadata, priority fee oracle, and whitelist verification. All endpoints require an `x-tensor-api-key` header. Request access at https://dev.tensor.trade and follow the Airtable signup flow linked from the Tensor Developer Hub. Operation paths in this spec are illustrative resource-oriented routes mirroring the published reference at https://dev.tensor.trade/reference. Consult the live reference for canonical request and response payload field names. ' termsOfService: https://tensor.trade/legal/terms-of-service contact: name: Tensor Developer Hub url: https://dev.tensor.trade license: name: Proprietary url: https://tensor.trade/legal/terms-of-service servers: - url: https://api.mainnet.tensordev.io description: Mainnet REST API security: - ApiKeyAuth: [] tags: - name: Bids paths: /api/v1/bids/collection: get: tags: - Bids summary: Collection Bids operationId: getCollectionBids parameters: - name: slug in: query required: true schema: type: string responses: '200': description: Collection-wide bids. content: application/json: schema: type: array items: $ref: '#/components/schemas/Bid' /api/v1/bids/single-nft: get: tags: - Bids summary: Single NFT Bids operationId: getSingleNftBids parameters: - name: mint in: query required: true schema: type: string responses: '200': description: Bids targeting a single NFT mint. /api/v1/bids/trait: get: tags: - Bids summary: Trait Bids operationId: getTraitBids parameters: - name: slug in: query required: true schema: type: string - name: trait in: query required: true schema: type: string responses: '200': description: Bids filtered by trait value. /api/v1/tx/place-collection-bid: get: tags: - Bids summary: Build Place Collection Bid Transaction operationId: buildPlaceCollectionBidTx parameters: - name: slug in: query required: true schema: type: string - name: bidder in: query required: true schema: type: string - name: price in: query required: true schema: type: string - name: quantity in: query schema: type: integer default: 1 responses: '200': $ref: '#/components/responses/UnsignedTx' /api/v1/tx/place-single-nft-bid: get: tags: - Bids summary: Build Place Single-NFT Bid Transaction operationId: buildPlaceSingleNftBidTx parameters: - name: mint in: query required: true schema: type: string - name: bidder in: query required: true schema: type: string - name: price in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/UnsignedTx' /api/v1/tx/place-trait-bid: get: tags: - Bids summary: Build Place Trait Bid Transaction operationId: buildPlaceTraitBidTx parameters: - name: slug in: query required: true schema: type: string - name: bidder in: query required: true schema: type: string - name: trait in: query required: true schema: type: string - name: value in: query required: true schema: type: string - name: price in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/UnsignedTx' /api/v1/tx/accept-bid: get: tags: - Bids summary: Build Accept Bid Transaction operationId: buildAcceptBidTx parameters: - name: bid in: query required: true schema: type: string - name: mint in: query required: true schema: type: string - name: seller in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/UnsignedTx' /api/v1/tx/cancel-bid: get: tags: - Bids summary: Build Cancel Bid Transaction operationId: buildCancelBidTx parameters: - name: bid in: query required: true schema: type: string - name: bidder in: query required: true schema: type: string responses: '200': $ref: '#/components/responses/UnsignedTx' components: schemas: Bid: $ref: ../json-schema/tensor-bid-schema.json responses: UnsignedTx: description: Base64-encoded unsigned Solana transaction ready for client-side signing. content: application/json: schema: type: object required: - txs properties: txs: type: array items: type: object required: - tx properties: tx: type: string description: Base64-encoded serialized Solana versioned transaction. lastValidBlockHeight: type: integer metadata: type: object additionalProperties: true securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-tensor-api-key