Platitun · API · The deal · Mark the delivery

Mark the delivery

POST /api/v1/orders/{id}/deliver

Key scope: orders · changes data, the Idempotency-Key header is required

The product is delivered. For a subscription and an account with a subscription the next charge date is REQUIRED: it is the proof of activation and the buyer verifies it in seconds. Without it the delivery is not accepted.

Check noteRejected: the delivery went through but the buyer never saw the note. Silently ignoring that leaves them without an explanation.

Request fields

FieldTypeWhat it is
nextChargeDaystringThe next charge date at the vendor, like 2026-09-20. Required for a subscription and an account with a subscription.
notestringA note to the buyer: what they got and what to do next.

Response fields

FieldTypeWhat it is
statusstringThe state after delivery.
noteRejectedstring|nullThe delivery happened but the note did NOT pass the contact filter. Rewrite it without contacts and send it as a message.

Refusal reasons

A rule refusal arrives as {"error":"rejected","refusal":{"kind":"…"}} with status 409. Refusals common to all endpoints are in the rules section.

CodeWhat happened and what to do
not_foundThe record does not exist or is not yours. The ownership condition is in the database query itself, so someone else’s record looks like a missing one.
state_movedThe order has already moved on: the buyer cancelled, the deadline passed, or the action was done another way. Re-read the order before retrying.
need_next_chargeA subscription and an account with a subscription require the next charge date: it is the proof of activation and the buyer verifies it in seconds.

Example

POST /api/v1/orders/cmt2x34ms001boz019p80jgzn/deliver
Idempotency-Key: deliver-1042-once

{ "nextChargeDay": "2026-09-20", "note": "Подписка активна, продление автоматическое." }

→ 200 { "order": "cmt2…", "status": "delivered", "noteRejected": null }

Nearby in this section