Decline the current proposal
Declines the current price proposal and closes the offer. You can decline only a proposal sent by the other participant.
Set proposalId to currentProposal.id from GET /v1/offers/{offerId}. If a new price has arrived since you fetched the offer, the request returns 409 Conflict without declining it. Fetch the offer again and review the new price before responding.
The offer's proposal history remains available through GET /v1/offers/{offerId}.
Returns the updated summary. Supports an optional Idempotency-Key. Requires offers:write.
Path Parameters
- Type: stringoffer
Id min length:1max length:200requiredA stable, opaque offer ID.
Body
- Type: stringproposal
Id min length:1max length:200requiredThe ID of the price proposal you are accepting, declining, or countering, returned as
currentProposal.idwhen you fetch the offer. If a newer proposal has arrived, your request returns409 Conflictwithout applying your response.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://public-api.cardnexus.com/v1/offers/665f3a2b1c8d4e9f7a6b5c59/decline \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"proposalId": "665f3a2b1c8d4e9f7a6b5c60"
}'
{
"id": "665f3a2b1c8d4e9f7a6b5c59",
"status": "pending",
"viewerRole": "buyer",
"buyer": {
"id": "665f3a2b1c8d4e9f7a6b5c4d",
"username": "alphabay_cards"
},
"seller": {
"id": "665f3a2b1c8d4e9f7a6b5c4e",
"username": "north_arena_tcg"
},
"itemCount": 1,
"totalQuantity": 2,
"originalTotal": {
"amount": 30,
"currency": "EUR"
},
"currentProposal": {
"id": "665f3a2b1c8d4e9f7a6b5c60",
"authorRole": "buyer",
"total": {
"amount": 25,
"currency": "EUR"
},
"createdAt": "2026-09-10T14:32:00.000Z"
},
"awaitingResponseFrom": "seller",
"buyerProposalCount": 1,
"voidReason": null,
"createdAt": "2026-09-10T14:32:00.000Z",
"updatedAt": "2026-09-10T14:32:00.000Z",
"expiresAt": null,
"actions": [
{
"id": "cancel",
"method": "POST",
"path": "/v1/offers/665f3a2b1c8d4e9f7a6b5c59/cancel"
}
]
}