Accept the current proposal
Accepts the current price proposal and reserves its stock. You can accept only a proposal sent by the other participant.
Set proposalId to currentProposal.id from GET /v1/offers/{offerId}. If the other participant has sent a new price since you fetched the offer, the request returns 409 Conflict without accepting it. Fetch the offer again and review the new price before accepting.
If stock cannot be reserved, acceptance fails and the offer remains open. Acceptance starts a 48-hour redemption window. It leaves your cart unchanged and does not create a paid order. The buyer adds the accepted offer to the cart separately.
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/accept \
--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"
}
]
}