Create stamp order
Create a stamp procurement order and start the background procurement workflow.
- This call is asynchronous — a successful response does not mean
stampsis populated yet. PollGET /api/v1/stamps/order-statusorGET /api/v1/stamps/listuntil instances becomeavailable. - Billing charges
estamp_duty(stamp_duty_amount × quantity) plusestamp_fees(one per stamp). The request is rejected if the wallet balance is insufficient.
Authorization
bearerAuth Bearer token authentication — paste your access token below.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Supported stamp state code.
First party name printed on the stamp.
1 <= length <= 200Second party name printed on the stamp.
1 <= length <= 200Article ID; must be valid for state_code.
1 <= length <= 100Stamp duty per stamp. Must be a whole number, greater than 0 and at most 1,000,000 — fractional values are rejected.
Consideration amount for the underlying transaction.
0 < valueNumber of stamps to procure.
1 <= value <= 5000Optional order description.
length <= 500Optional first party address.
1 <= length <= 500Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/stamps/create-order" \ -H "Content-Type: application/json" \ -d '{ "state_code": "AN", "first_party_name": "Alice Test", "second_party_name": "Bob Test", "article_id": "2337", "stamp_duty_amount": 10, "consideration_amount": 1000, "quantity": 1 }'{ "data": { "user_id": "user_RQJksjuRzdhRjejyOlhEI", "client_id": "stamp_pkHLyIzspuMWBMXizUSc", "created_at": "2026-04-18T16:35:21.123000", "state_code": "AN", "first_party_name": "Alice Test", "second_party_name": "Bob Test", "article_id": "2337", "stamp_duty_amount": "10", "consideration_amount": 1000, "description": null, "first_party_address": null, "quantity": 1, "stamps": [] }, "status_code": 200, "message": "Success", "success": true}List articles GET
List the supported articles for a state. Use the returned `article_id` when creating a procurement order.
Get order status GET
Get the latest state of a procurement order. Once the background workflow completes, `stamps` contains the vendor stamp instances and `status_counts` is populated. - `stamps[].stamp_id` is the public stamp **instance** ID — use it with `GET /api/v1/stamps/download-pdf` and for explicit stamp reservation in Esign initialization.