Delist From Secondary Market
Takes one of the user's own open listings off the secondary market. The listing is named by its deal_id in the path (take it from List User Token Listings); there is no request body. The delist is signed by the wallet recorded on the listing, so no wallet_id is sent.
The call is asynchronous: it records a user transaction (type = 4, delist on secondary market) and answers with its transaction_id. Poll Get User Transaction until status is 3 (done) or 4 (error); the listing is withdrawn only after 3.
Only an open listing of this user can be delisted. A listing of another user, one that is not open, or one that names no wallet is answered as not found.
Required permission: secondary-market:trade
Request
POST /v2/users/{user_id}/secondary-markets/tokens/{token_id}/deals/{deal_id}/delist
Parameters
| Name | Type | In | Description |
|---|---|---|---|
user_id | string | path | Required. Seller's user ID |
token_id | string | path | Required. Token ID |
deal_id | integer | path | Required. Deal ID of the listing to delist |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Example
curl --request POST \
--url '{{baseUrl}}/v2/users/680c02896d91ca0145cfeb81/secondary-markets/tokens/68ae06cfcccf4e8fc19362d1/deals/12/delist' \
--header 'Authorization: Bearer <access_token>'
Response
{
"transaction_id": "6913872755654191dede37da"
}
Response Fields
| Field | Type | Description |
|---|---|---|
transaction_id | string | User transaction that delists the listing. Poll it with Get User Transaction |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | deal_id is missing or not a positive integer — see details |
| 400 | 10016 | token_id is not a valid 24-character hex id |
| 400 | 11001 | Domain 11: no such listing for this user on this token, the listing is not open, or it names no wallet |
| 400 | 10001 | Token not found (domain 5) |
| 500 | 10000 | Unexpected server-side failure |
See Errors for the error format and common codes.