Skip to main content
POST
Price a letter before sending it

Authorizations

Authorization
string
header
required

Optional developer API key: Authorization: Bearer pp_live_… (or pp_test_… for a sandbox-only key). Omitting it is a supported way to call every route. A key that is sent and does not verify is refused with 401 rather than treated as anonymous, so a typo fails loudly instead of quietly losing the restriction you meant to apply. Enabled per deployment via SCOPED_API_KEYS.

Body

application/json
mail_class
enum<string>
required
Available options:
first_class,
certified,
certified_err,
priority
page_count
integer
required
Required range: 1 <= x <= 12
color
boolean
tracking
boolean
to
object
text
string
Maximum string length: 50000
upload_key
string
Pattern: ^up_[0-9a-f]{32}\.pdf$
pdf_url
string<uri>

Response

Priced quote. confirmation_token, expires_in_minutes, and next appear only when to and content were supplied.

status
string
required
Allowed value: "ok"
total_cents
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
total
string
required
breakdown
object[]
required
note
string
required
confirmation_token
string
expires_in_minutes
integer
Required range: -9007199254740991 <= x <= 9007199254740991
next
string[]
Last modified on September 17, 2026