Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.
Whatever surface you send from — API, MCP, the web composer, an embed widget, a CSV bulk import, or a forwarded email — every letter moves through the same four phases. This page is the map. Each phase links to the guide that covers it in depth; nothing below duplicates that detail.
Assemble a recipient and content into something ready to price. There’s no order yet — nothing here costs anything or touches USPS.Content can come from raw text or a pdf_url on the API, the composer at /send, a template pre-filled from the gallery, an embedded widget on someone else’s site, a row from a CSV import, a forwarded email, or a text (SMS) conversation.
Endpoint — none required yet; GET /v1/address/autocomplete helps fill in the recipient as they type (see Addresses).
UI surfaces — the /send composer, template-embed.js / paperplane.js, the CSV mapper (POST /v1/csv-map).
Confirm what will actually print and what it will cost — before any money moves. Two things happen here, together:
See the exact PDF. The composer’s “See the exact PDF before you pay” link renders the letter through the same renderTextToPdf the order path uses, so preview can never diverge from what mails.
Price it and mint a confirmation_token.POST /v1/quotes returns the all-in price plus a single-use, 30-minute token bound to the exact recipient, content, class, and price. On the agent surface, POST /v1/orders requires that token — a send can never be the first call.
Endpoint — GET /api/preview, POST /v1/quotes (or the quote_letter MCP tool).
Once it’s mailed, watch it move and step in if you still can.
PollGET /v1/orders/{id}, or pass webhook_url at order creation to get pushed on every transition instead.
Share the public timeline at /track/{trackingNumber} — no login, safe to hand to the recipient or a lawyer.
Cancel with DELETE /v1/orders/{id} and the order’s cancel_token, while it’s still pending_payment, screening, or held_for_review. Once submitted, it’s in the pipe.
Review with POST /v1/reviews and the review_token, once delivered.
Endpoint — GET /v1/orders/{id}, DELETE /v1/orders/{id}, POST /v1/reviews.
UI surface — the order page (private) and /track/{trackingNumber} (public).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"paperplane","description":"Letters, Certified Mail and postcards from REST, MCP or the CLI. No API key, no account. Quote, confirm, send.","colors":{"primary":"#1D3FD9","light":"#7A93FF","dark":"#1D3FD9"},"logo":{"light":"https://mintcdn.com/paperplane-524ba6ed/CI1myMp-UEMu_In3/logo/light.svg?fit=max\u0026auto=format\u0026n=CI1myMp-UEMu_In3\u0026q=85\u0026s=f55c736411df18b714c822940c2d1bda","dark":"https://mintcdn.com/paperplane-524ba6ed/CI1myMp-UEMu_In3/logo/dark.svg?fit=max\u0026auto=format\u0026n=CI1myMp-UEMu_In3\u0026q=85\u0026s=22af375831e59b4cdf1c027b5d2c66f3","href":"https://sendpaperplane.com"},"favicon":"https://mintcdn.com/paperplane-524ba6ed/5CDM74Ig-FbdKIpE/favicon.svg?fit=max\u0026auto=format\u0026n=5CDM74Ig-FbdKIpE\u0026q=85\u0026s=ce5eb5f7030b907ba20b5f0f214cfeac","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript","typescript","go","ruby","php","java"],"prefill":true}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#0B0E14"}},"navbar":{"links":[{"href":"https://sendpaperplane.com/send","label":"Send a letter"}],"primary":{"type":"button","label":"Back to paperplane","href":"https://sendpaperplane.com"}},"footer":{"links":[{"header":"Product","items":[{"label":"Send a letter","href":"https://sendpaperplane.com/send"},{"label":"Letter credits","href":"https://sendpaperplane.com/credits"},{"label":"Letter templates","href":"https://sendpaperplane.com/templates"},{"label":"Certified Mail","href":"https://sendpaperplane.com/guides/send-certified-mail-online"}]},{"header":"Developers","items":[{"label":"Docs","href":"/"},{"label":"API reference","href":"/api-reference/mail/price-a-letter-before-sending-it"},{"label":"Changelog","href":"/changelog"},{"label":"Status","href":"https://sendpaperplane.com/status"}]},{"header":"Integrations","items":[{"label":"ChatGPT","href":"https://sendpaperplane.com/integrations/chatgpt"},{"label":"Claude \u0026 MCP","href":"https://sendpaperplane.com/integrations/claude-mcp"},{"label":"Zapier","href":"https://sendpaperplane.com/integrations/zapier"},{"label":"Make","href":"https://sendpaperplane.com/integrations/make"},{"label":"n8n","href":"https://sendpaperplane.com/integrations/n8n"}]},{"header":"Company","items":[{"label":"Help center","href":"https://sendpaperplane.com/help"},{"label":"Contact us","href":"https://sendpaperplane.com/contact"},{"label":"Terms of service","href":"https://sendpaperplane.com/terms"},{"label":"Privacy policy","href":"https://sendpaperplane.com/privacy"}]}]},"seo":{"organization":{"name":"paperplane","url":"https://sendpaperplane.com","logo":"https://sendpaperplane.com/logo/dark.svg"}},"fonts":{"family":"Manrope","weight":400},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":true},"errors":{"404":{"redirect":true,"title":"Page not found"}},"contextual":{"options":["copy","view","claude","chatgpt","grok","aistudio","perplexity","windsurf","cursor","vscode","mcp","add-mcp","download-spec"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[{"anchor":"You're an agent? Start here","icon":"bot","href":"/agents"},{"anchor":"Changelog","icon":"list","href":"/changelog"},{"anchor":"Status","icon":"activity","href":"https://sendpaperplane.com/status"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"paperplane-524ba6ed","hasAudioNarration":false,"actualSubdomain":"paperplane-524ba6ed","customDomains":["paperplane-justin-winter-s-projects.vercel.app"],"gitSource":{"type":"github","owner":"justinwinter","repo":"paperplane","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac06760f8efb5c3b739dff6","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Overview","count":30},{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"API Reference","count":18},{"language":"default","tag":"Mail","count":8},{"language":"default","tag":"Get started","count":7},{"language":"default","tag":"Credits","count":3},{"language":"default","tag":"Tutorials","count":2},{"language":"default","tag":"Addresses","count":2},{"language":"default","tag":"Meta","count":2},{"language":"default","tag":"Reviews","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"guides/lifecycle","slug":"/guides/lifecycle","pageMetadata":{"title":"Order lifecycle overview","description":"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.","sidebarTitle":"Lifecycle overview","icon":"route","related":["quickstart","concepts","guides/errors"],"href":"/guides/lifecycle"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Whatever surface you send from — API, MCP, the web composer, an embed widget, a CSV bulk import, or a forwarded email — every letter moves through the same four phases. This page is the map. Each phase links to the guide that covers it in depth; nothing below duplicates that detail.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Phase`}),_jsx(_components.th,{children:`Question it answers`}),_jsx(_components.th,{children:`Owns which states`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#compose`,children:`Compose`})}),_jsx(_components.td,{children:`What is this letter, and who’s it going to?`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`(pre-order)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#proof`,children:`Proof`})}),_jsx(_components.td,{children:`Is this exactly what should print, for exactly this price?`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`(pre-order)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#dispatch`,children:`Dispatch`})}),_jsx(_components.td,{children:`Is it paid for, verified, and handed to a printer?`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`pending_payment`}),` → `,_jsx(_components.code,{children:`screening`}),` → `,_jsx(_components.code,{children:`held_for_review`}),` → `,_jsx(_components.code,{children:`submitted`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`#track`,children:`Track`})}),_jsx(_components.td,{children:`Where is it now, and can I still stop it?`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`mailed`}),` → `,_jsx(_components.code,{children:`delivered`}),` (or `,_jsx(_components.code,{children:`canceled`}),` / `,_jsx(_components.code,{children:`refused`}),` / `,_jsx(_components.code,{children:`failed`}),`)`]})]})]})]}),`\n`,_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=7b2f46e3df6b111bdd614ea15231b2de`,alt:`Order states in order: pending_payment, screening, held_for_review (only if flagged), submitted, mailed, delivered. Before submitted an order can end as canceled, held_for_review can end as refused, and submitted can end as failed.`,\"data-og-width\":`720`,width:`720`,\"data-og-height\":`410`,height:`410`,\"data-path\":`images/illustrations/lifecycle-light.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=280\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=e80356c9dc9e6c45596ec176efac8f51 280w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=560\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=977cb3805e5d1ae8463a5506160fd741 560w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=840\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=87c1ac6d26a36d4ac3990920c58a1cb5 840w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=8203c05e1b2d2ddc230e6efbc0f74a2a 1100w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=fad11ba9def9874b1e7e1dd6f743a9d3 1650w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-light.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=e929661b3f2309eae6e380b9dcf5931d 2500w`}),`\n`,_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=7b70df37115767ae1498c60268f9a4a4`,alt:`Order states in order: pending_payment, screening, held_for_review (only if flagged), submitted, mailed, delivered. Before submitted an order can end as canceled, held_for_review can end as refused, and submitted can end as failed.`,\"data-og-width\":`720`,width:`720`,\"data-og-height\":`410`,height:`410`,\"data-path\":`images/illustrations/lifecycle-dark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=a41c2103ecb55b74b28949c919056051 280w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=88d34302404113d58f23242ba15a60af 560w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=d2ae875d7385ba696fec50a10af6c249 840w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=a05dc25dee78ea4d3845f0ee14c8f7ed 1100w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=249df6a26de7dcda931c0c2b9f5bfdb4 1650w, https://mintcdn.com/paperplane-524ba6ed/ZBGL6ddb_oTreKCb/images/illustrations/lifecycle-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=ZBGL6ddb_oTreKCb\u0026q=85\u0026s=9d1ce637256a8cd1c7b1cbc7ab96903f 2500w`}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/guides/errors#order-lifecycle`,children:`error contract’s lifecycle table`}),` for the full state-by-state breakdown.`]}),`\n`,_jsx(Heading,{level:`2`,id:`compose`,children:`Compose`}),`\n`,_jsx(_components.p,{children:`Assemble a recipient and content into something ready to price. There’s no order yet — nothing here costs anything or touches USPS.`}),`\n`,_jsxs(_components.p,{children:[`Content can come from raw `,_jsx(_components.code,{children:`text`}),` or a `,_jsx(_components.code,{children:`pdf_url`}),` on the API, the `,_jsxs(_components.a,{href:`https://sendpaperplane.com/send`,children:[`composer at `,_jsx(_components.code,{children:`/send`})]}),`, a `,_jsx(_components.a,{href:`/guides/templates`,children:`template`}),` pre-filled from the gallery, an `,_jsx(_components.a,{href:`/guides/embed`,children:`embedded widget`}),` on someone else’s site, a row from a `,_jsx(_components.a,{href:`/guides/bulk-import`,children:`CSV import`}),`, a `,_jsx(_components.a,{href:`/guides/email-to-send`,children:`forwarded email`}),`, or a `,_jsx(_components.a,{href:`/guides/imessage-to-send`,children:`text (SMS) conversation`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Endpoint`}),` — none required yet; `,_jsx(_components.code,{children:`GET /v1/address/autocomplete`}),` helps fill in the recipient as they type (see `,_jsx(_components.a,{href:`/guides/addresses`,children:`Addresses`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`UI surfaces`}),` — the `,_jsx(_components.code,{children:`/send`}),` composer, `,_jsx(_components.code,{children:`template-embed.js`}),` / `,_jsx(_components.code,{children:`paperplane.js`}),`, the CSV mapper (`,_jsx(_components.code,{children:`POST /v1/csv-map`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Go deeper: `,_jsx(_components.a,{href:`/guides/templates`,children:`Letter templates`}),` · `,_jsx(_components.a,{href:`/guides/embed`,children:`Embed the send flow`}),` · `,_jsx(_components.a,{href:`/guides/bulk-import`,children:`Bulk sending`}),` · `,_jsx(_components.a,{href:`/guides/email-to-send`,children:`Send by email`}),` · `,_jsx(_components.a,{href:`/guides/imessage-to-send`,children:`Send by text`})]}),`\n`,_jsx(Heading,{level:`2`,id:`proof`,children:`Proof`}),`\n`,_jsx(_components.p,{children:`Confirm what will actually print and what it will cost — before any money moves. Two things happen here, together:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`See the exact PDF.`}),` The composer’s “See the exact PDF before you pay” link renders the letter through the same `,_jsx(_components.code,{children:`renderTextToPdf`}),` the order path uses, so preview can never diverge from what mails.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Price it and mint a `,_jsx(_components.code,{children:`confirmation_token`}),`.`]}),` `,_jsx(_components.code,{children:`POST /v1/quotes`}),` returns the all-in price plus a single-use, 30-minute token bound to the exact recipient, content, class, and price. On the agent surface, `,_jsx(_components.code,{children:`POST /v1/orders`}),` requires that token — a send can never be the first call.`]}),`\n`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Endpoint`}),` — `,_jsx(_components.code,{children:`GET /api/preview`}),`, `,_jsx(_components.code,{children:`POST /v1/quotes`}),` (or the `,_jsx(_components.code,{children:`quote_letter`}),` MCP tool).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`UI surface`}),` — the composer’s preview link.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Go deeper: `,_jsx(_components.a,{href:`/guides/print-preflight`,children:`Preview before you pay`}),` · `,_jsx(_components.a,{href:`/concepts`,children:`Core concepts`}),` for how confirmation tokens work`]}),`\n`,_jsx(Heading,{level:`2`,id:`dispatch`,children:`Dispatch`}),`\n`,_jsxs(_components.p,{children:[`Turn the proofed letter into a real, paid, mailed piece. `,_jsx(_components.code,{children:`POST /v1/orders`}),` does all of it in one call:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`USPS verifies both addresses (correcting casing/formatting where needed).`}),`\n`,_jsx(_components.li,{children:`Payment settles — a paperplane payment link the human approves, a prepaid credit code, or (sandbox) nothing at all.`}),`\n`,_jsxs(_components.li,{children:[`Content is screened; a flagged letter goes to `,_jsx(_components.code,{children:`held_for_review`}),` instead of printing.`]}),`\n`,_jsxs(_components.li,{children:[`The print facility accepts it (`,_jsx(_components.code,{children:`submitted`}),`) and hands it to the carrier (`,_jsx(_components.code,{children:`mailed`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Endpoint`}),` — `,_jsx(_components.code,{children:`POST /v1/orders`}),` (or `,_jsx(_components.code,{children:`send_letter`}),` over MCP).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`UI surface`}),` — the order page while payment or review is pending.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Go deeper: `,_jsx(_components.a,{href:`/guides/payments`,children:`Payments \u0026 confirmation`}),` · `,_jsx(_components.a,{href:`/guides/addresses`,children:`Address handling`}),` · `,_jsx(_components.a,{href:`/guides/errors`,children:`Error contract`}),` for what can go wrong here`]}),`\n`,_jsx(Heading,{level:`2`,id:`track`,children:`Track`}),`\n`,_jsx(_components.p,{children:`Once it’s mailed, watch it move and step in if you still can.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Poll`}),` `,_jsx(_components.code,{children:`GET /v1/orders/{id}`}),`, or pass `,_jsx(_components.code,{children:`webhook_url`}),` at order creation to get pushed on every transition instead.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Share`}),` the public timeline at `,_jsx(_components.code,{children:`/track/{trackingNumber}`}),` — no login, safe to hand to the recipient or a lawyer.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cancel`}),` with `,_jsx(_components.code,{children:`DELETE /v1/orders/{id}`}),` and the order’s `,_jsx(_components.code,{children:`cancel_token`}),`, while it’s still `,_jsx(_components.code,{children:`pending_payment`}),`, `,_jsx(_components.code,{children:`screening`}),`, or `,_jsx(_components.code,{children:`held_for_review`}),`. Once `,_jsx(_components.code,{children:`submitted`}),`, it’s in the pipe.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Review`}),` with `,_jsx(_components.code,{children:`POST /v1/reviews`}),` and the `,_jsx(_components.code,{children:`review_token`}),`, once `,_jsx(_components.code,{children:`delivered`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Endpoint`}),` — `,_jsx(_components.code,{children:`GET /v1/orders/{id}`}),`, `,_jsx(_components.code,{children:`DELETE /v1/orders/{id}`}),`, `,_jsx(_components.code,{children:`POST /v1/reviews`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`UI surface`}),` — the order page (private) and `,_jsx(_components.code,{children:`/track/{trackingNumber}`}),` (public).`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Go deeper: `,_jsx(_components.a,{href:`/guides/cancel-track`,children:`Cancel \u0026 track`}),` · `,_jsx(_components.a,{href:`/guides/webhooks`,children:`Delivery webhooks`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Order lifecycle overview","description":"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.","sidebarTitle":"Lifecycle overview","icon":"route","related":["quickstart","concepts","guides/errors"],"href":"/guides/lifecycle"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Compose","slug":"compose","depth":2,"children":[]},{"title":"Proof","slug":"proof","depth":2,"children":[]},{"title":"Dispatch","slug":"dispatch","depth":2,"children":[]},{"title":"Track","slug":"track","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"paperplane-524ba6ed","siteName":"paperplane","title":"Order lifecycle overview - paperplane","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T23:20:13.931Z","gitLastModified":"2026-09-28T23:20:01.000Z","originalFileLocation":"guides/lifecycle.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\">\u003cmeta data-mint-head name=\"application-name\" content=\"paperplane\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Order lifecycle overview - paperplane\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"paperplane\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://paperplane-524ba6ed.mintlify.site/docs/_mintlify/api/og/v2?division=Guides\u0026amp;title=Order+lifecycle+overview\u0026amp;description=Every+letter+moves+through+the+same+four+phases+%E2%80%94+compose%2C+proof%2C+dispatch%2C+track.+What+happens+in+each%2C+and+where+to+go+deeper.\u0026amp;theme=2f654f31cdda48e5bfdf92ff\u0026amp;signature=fb3bb35cec2dbd1c894f57e57964d6659d02155f14d4e6a7ca0d3f69b525280e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Order lifecycle overview - paperplane\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paperplane-524ba6ed.mintlify.site/docs/_mintlify/api/og/v2?division=Guides\u0026amp;title=Order+lifecycle+overview\u0026amp;description=Every+letter+moves+through+the+same+four+phases+%E2%80%94+compose%2C+proof%2C+dispatch%2C+track.+What+happens+in+each%2C+and+where+to+go+deeper.\u0026amp;theme=2f654f31cdda48e5bfdf92ff\u0026amp;signature=fb3bb35cec2dbd1c894f57e57964d6659d02155f14d4e6a7ca0d3f69b525280e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/paperplane-524ba6ed/4_JfwOH6MgSv74fH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"paperplane\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D3FD9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/lifecycle.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://sendpaperplane.com/#organization\",\"name\":\"paperplane\",\"url\":\"https://sendpaperplane.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://sendpaperplane.com/logo/dark.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs#website\",\"name\":\"paperplane\",\"url\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs\",\"publisher\":{\"@id\":\"https://sendpaperplane.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle#webpage\",\"url\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle\",\"name\":\"Order lifecycle overview\",\"description\":\"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\",\"dateModified\":\"2026-09-28T23:20:01.000Z\",\"isPartOf\":{\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs#website\"},\"breadcrumb\":{\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/mcp\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Order lifecycle overview\",\"item\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle#article\",\"headline\":\"Order lifecycle overview\",\"name\":\"Order lifecycle overview\",\"description\":\"Every letter moves through the same four phases — compose, proof, dispatch, track. What happens in each, and where to go deeper.\",\"url\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle\",\"mainEntityOfPage\":{\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs/guides/lifecycle#webpage\"},\"dateModified\":\"2026-09-28T23:20:01.000Z\",\"publisher\":{\"@id\":\"https://sendpaperplane.com/#organization\"},\"isPartOf\":{\"@id\":\"https://paperplane-justin-winter-s-projects.vercel.app/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"paperplane\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"paperplane\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/guides/lifecycle.md","siteName":"paperplane","nav":{"global":{"anchors":[{"anchor":"You're an agent? Start here","icon":"bot","href":"/agents"},{"anchor":"Changelog","icon":"list","href":"/changelog"},{"anchor":"Status","icon":"activity","href":"https://sendpaperplane.com/status"}]},"tabs":[{"tab":"Overview","icon":"book-open","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"paperplane — Mail a real letter from code","sidebarTitle":"Home","icon":"house","href":""},{"title":"Quickstart","sidebarTitle":"Quickstart","icon":"rocket","href":"/quickstart"},{"title":"Build with agents","sidebarTitle":"Build with agents","icon":"bot","href":"/agents"},{"title":"The delivery guarantee","sidebarTitle":"Guarantee","icon":"shield-check","href":"/guarantee"},{"title":"Core concepts","sidebarTitle":"Core concepts","icon":"lightbulb","href":"/concepts"},{"title":"Sandbox mode","sidebarTitle":"Sandbox mode","icon":"flask-conical","tag":"FREE","href":"/sandbox"},{"title":"Agent benchmark","sidebarTitle":"Agent benchmark","icon":"gauge","href":"/benchmark"}]},{"group":"Guides","icon":"book","pages":[{"title":"MCP server","description":"Give Claude or any MCP client the ability to send real physical mail.","sidebarTitle":"MCP server","icon":"bot","tag":"AGENTS","href":"/guides/mcp"},{"title":"Order lifecycle overview","sidebarTitle":"Lifecycle overview","icon":"route","href":"/guides/lifecycle"},{"title":"Error contract","description":"Every error code, its retry semantics, and the machine-readable recovery step — a contract, not a troubleshooting page.","sidebarTitle":"Error contract","icon":"triangle-alert","href":"/guides/errors"},{"title":"Send Policies","sidebarTitle":"Send Policies","icon":"shield-half","href":"/guides/send-policies"},{"title":"CLI","sidebarTitle":"CLI","icon":"terminal","tag":"DEVELOPERS","href":"/guides/cli"},{"title":"Payments","sidebarTitle":"Payments \u0026 confirmation","icon":"credit-card","href":"/guides/payments"},{"title":"Credits","sidebarTitle":"Prepaid credits","icon":"coins","href":"/guides/credits"},{"title":"Agent payments (x402)","sidebarTitle":"Agent payments (x402)","icon":"wallet","tag":"STAGED","href":"/guides/agent-payments"},{"title":"ROI calculator","sidebarTitle":"ROI calculator","icon":"calculator","href":"/guides/roi-calculator"},{"title":"Addresses","sidebarTitle":"Address handling","icon":"map-pin","href":"/guides/addresses"},{"title":"Bulk sending (CSV import)","sidebarTitle":"Bulk sending","icon":"table","href":"/guides/bulk-import"},{"title":"Cancel \u0026 track","sidebarTitle":"Cancel \u0026 track","icon":"radar","href":"/guides/cancel-track"},{"title":"Embed the send flow","sidebarTitle":"Embed widget","icon":"code","href":"/guides/embed"},{"title":"Send by email","sidebarTitle":"Send by email","icon":"mail","href":"/guides/email-to-send"},{"title":"Send by text (SMS)","sidebarTitle":"Send by text (SMS)","icon":"message-circle","href":"/guides/imessage-to-send"},{"title":"Preview before you pay","sidebarTitle":"Print preflight","icon":"file-search","href":"/guides/print-preflight"},{"title":"Letter templates","sidebarTitle":"Letter templates","icon":"file-pen","href":"/guides/templates"},{"title":"Delivery webhooks","sidebarTitle":"Delivery webhooks","icon":"webhook","href":"/guides/webhooks"},{"title":"Integrations (Zapier, n8n, Make)","sidebarTitle":"Integrations","icon":"plug","href":"/guides/integrations"},{"title":"Rate limits","sidebarTitle":"Rate limits \u0026 caps","icon":"gauge","href":"/guides/rate-limits"},{"title":"Agent feedback","sidebarTitle":"Agent feedback","icon":"message-square-warning","tag":"AGENTS","href":"/guides/agent-feedback"}]},{"group":"Tutorials","icon":"graduation-cap","pages":[{"title":"Tutorial: send a security deposit demand letter","sidebarTitle":"Surface a demand letter","icon":"file-text","href":"/tutorials/demand-letter"},{"title":"Tutorial: an agent sending mail on its own","sidebarTitle":"Agent sends a letter","icon":"robot","href":"/tutorials/agent-workflow"}]}]},{"tab":"API Reference","icon":"square-terminal","pages":[{"title":"API Reference","href":"/api-reference/mail/price-a-letter-before-sending-it"}]}]},"basePath":"","title":"Order lifecycle overview - paperplane","buildId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","deploymentId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-T84NdC3b.js","lightbox-handle-r17bVUz3.js"]}