Create and pay for a letter order
create_letter_orderCreates a letter order and immediately debits the customer's balance to pay for it - this spends real money and cannot be undone. Call it WITHOUT confirmed:true first: it will only return the price, without charging or creating anything. Only after the price has been shown to the human and they've agreed to it, call it again with confirmed: true and expectedTotalPence set to the exact totalPence you were quoted. If the recomputed price no longer matches expectedTotalPence, the order is rejected so you cannot accidentally confirm a stale price.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of content pages (excludes the address page). | |
| colour | No | Print in colour instead of black & white. | |
| content | No | Plain-text letter body. Required unless contentUploadPath is supplied. | |
| confirmed | No | Set to true only after the customer has explicitly agreed to the previewed price. | |
| senderName | No | ||
| doubleSided | No | Print double-sided (duplex). | |
| senderLine1 | No | ||
| serviceClass | Yes | Royal Mail service to send with. Domestic: SECOND_CLASS, FIRST_CLASS, SECOND_CLASS_SIGNED, SIGNED_FOR, SPECIAL_DELIVERY, TRACKED_48, TRACKED_24. International: INTERNATIONAL_STANDARD, INTERNATIONAL_TRACKED, INTERNATIONAL_TRACKED_SIGNED. | |
| recipientCity | Yes | ||
| recipientName | Yes | ||
| recipientLine1 | Yes | ||
| recipientLine2 | No | ||
| senderPostcode | No | ||
| recipientCountry | No | ISO 3166-1 alpha-2 country code, e.g. GB, US, FR. | GB |
| contentUploadPath | No | Path returned by the customer's own upload flow (POST /api/v1/uploads/request-url) for a pre-uploaded PDF/DOCX. The MCP server cannot upload files itself. | |
| recipientPostcode | Yes | ||
| expectedTotalPence | No | The totalPence you were quoted when confirmed is true. Required to actually place the order. |