Back to Directory
P

PostalForm Machine Payments API

Other
Machine-oriented print-and-mail endpoints for x402 and MPP payment flows. Use OpenAPI as the canonical discovery source for this origin. The /.well-known/x402 manifest is a lightweight compatibility layer for crawlers and agent runtimes that do not yet ingest the full OpenAPI document. For both machine payment families, call the validate endpoint first to verify the payload and get a quote before attempting payment. When retrying a create call after a 402 challenge, reuse the same request_id and the exact same JSON body. PostalForm treats request_id as the strict idempotency key and rejects payload drift for that request_id. If you intend to send the same document to the same addresses again after a prior order is paid or settled, generate a fresh request_id. PostalForm only collapses recent unpaid duplicate drafts. For each address party, choose exactly one strategy: Address with *_address_id and *_address_text, or Manual with *_address_manual. Do not send both strategies for the same party. Address c…

About PostalForm Machine Payments API

Review the Service identity, supported languages, protocol versions, and source metadata discovered by the directory.

Service details

Service Id
3e886045-ab39-4db9-b4c5-10b69d40ee98
Service origin
https://postalform.com
ListedSeptember 24, 2026, 11:40 PM
Last checkedSeptember 24, 2026, 11:40 PM

Protocol details

SourceOpenAPI

Endpoints

Endpoint details are saved from the OpenAPI document. Authentication requirements and prices are advertised information, not a verified payment or access guarantee. The document may contain additional endpoints.Open OpenAPI document
POST/api/machine/flower-letters

Create or reuse an x402 flower-letter order

Unauthenticated calls return 402 Payment Required after PostalForm validates the Florist One product, delivery ZIP, delivery date, and final quote. A 202 settled_pending_webhook response means Stripe is verifying the transaction; poll status and do not pay again.Price unavailable
POST/api/machine/flower-letters/validate

Validate an x402 flower-letter order and return a Florist One quote

Price unavailable
GET/api/machine/flower-letters/{id}

Get x402 flower-letter order status

Price unavailable
GET/api/machine/forms

List workflow forms available to machine order flows

Search published single-mailpiece PostalForm workflow forms that agents can fill and submit through the x402 or MPP machine order endpoints. Coordinated statutory multi-recipient workflows are excluded.Price unavailable
GET/api/machine/forms/{slug}/schema

Get a machine-usable workflow form schema

Price unavailable
POST/api/machine/mpp/flower-letters

Create or reuse an MPP flower-letter order

Unauthenticated calls return 402 Payment Required with WWW-Authenticate: Payment challenges after Florist One validation and quote.Price unavailable
POST/api/machine/mpp/flower-letters/validate

Validate an MPP flower-letter order and return a Florist One quote

Price unavailable
GET/api/machine/mpp/flower-letters/{id}

Get MPP flower-letter order status

Price unavailable
POST/api/machine/mpp/orders

Create or reuse an MPP machine order

Unauthenticated calls return 402 Payment Required with WWW-Authenticate: Payment challenges. Retry the exact same body with Authorization: Payment after settlement.Price unavailable
POST/api/machine/mpp/orders/validate

Validate an MPP machine order and return a quote

Price unavailable
GET/api/machine/mpp/orders/{id}

Get MPP machine order status

Price unavailable
POST/api/machine/mpp/orders/{id}/pay

Pay an existing MPP draft without resubmitting its document

Pay an existing MPP PDF, letter, workflow-form draft, or ordinary bulk-mail campaign. Create the draft through an MCP draft tool or create_machine_order with payment_protocol=mpp and buyer_email. Review its PDF preview or bulk campaign_url, recipients and total, then POST {} here to fetch this endpoint's WWW-Authenticate challenges. After buyer approval, retry the same endpoint with Authorization: Payment ... . Do not reuse a challenge from a different endpoint or resubmit documents or CSV. Paid or settled-pending-webhook orders are returned without charging again. Bulk responses include campaign_url and recipient/status counts.Price unavailable
POST/api/machine/mpp/shipping-labels

Create, pay for, and download an MPP shipping label

The unpaid call persists the exact EasyPost shipment/rate and returns MPP challenges. Retry the identical body with Authorization: Payment. Immediate settlements purchase the persisted rate and return label_download_url in the receipt-bearing response; delayed settlements return 202 and complete through the status endpoint.Price unavailable
POST/api/machine/mpp/shipping-labels/validate

Validate an MPP shipping-label request and return live rates

Creates an unpurchased EasyPost shipment to obtain live rates. The selected public total includes the live carrier rate, PostalForm service fee, and estimated payment-fee reserve.Price unavailable
GET/api/machine/mpp/shipping-labels/{id}

Get MPP shipping-label payment, fulfillment, and download status

Price unavailable
POST/api/machine/orders

Create or reuse an x402 machine order

Unauthenticated calls return 402 Payment Required when the order is ready to be paid. Retry the exact same body with PAYMENT-SIGNATURE after settlement. A 202 settled_pending_webhook response means Stripe is verifying the transaction; poll status and do not pay again.Price unavailable
POST/api/machine/orders/validate

Validate an x402 machine order and return a quote

Price unavailable
GET/api/machine/orders/{id}

Get x402 machine order status

Price unavailable