curl --request POST \
--url https://signsealship.com/api/partner/orders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form email=jsmith@example.com \
--form document='@example-file' \
--form 'fill_token=<string>' \
--form 'name=<string>' \
--form 'doc_slug=<string>' \
--form 'signer_state=<string>' \
--form 'dest_state=<string>' \
--form 'external_reference=<string>' \
--form 'ship_name=<string>' \
--form 'ship_line1=<string>' \
--form 'ship_line2=<string>' \
--form 'ship_city=<string>' \
--form 'ship_state=<string>' \
--form 'ship_postal=<string>' \
--form 'from_name=<string>' \
--form 'from_line1=<string>' \
--form 'from_line2=<string>' \
--form 'from_city=<string>' \
--form 'from_state=<string>' \
--form 'from_postal=<string>' \
--form 'fax_to=<string>'const form = new FormData();
form.append('email', 'jsmith@example.com');
form.append('document', '<string>');
form.append('fill_token', '<string>');
form.append('name', '<string>');
form.append('doc_slug', '<string>');
form.append('signer_state', '<string>');
form.append('dest_state', '<string>');
form.append('external_reference', '<string>');
form.append('ship_name', '<string>');
form.append('ship_line1', '<string>');
form.append('ship_line2', '<string>');
form.append('ship_city', '<string>');
form.append('ship_state', '<string>');
form.append('ship_postal', '<string>');
form.append('from_name', '<string>');
form.append('from_line1', '<string>');
form.append('from_line2', '<string>');
form.append('from_city', '<string>');
form.append('from_state', '<string>');
form.append('from_postal', '<string>');
form.append('fax_to', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://signsealship.com/api/partner/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://signsealship.com/api/partner/orders"
files = { "document": ("example-file", open("example-file", "rb")) }
payload = {
"email": "jsmith@example.com",
"fill_token": "<string>",
"name": "<string>",
"doc_slug": "<string>",
"signer_state": "<string>",
"dest_state": "<string>",
"external_reference": "<string>",
"ship_name": "<string>",
"ship_line1": "<string>",
"ship_line2": "<string>",
"ship_city": "<string>",
"ship_state": "<string>",
"ship_postal": "<string>",
"from_name": "<string>",
"from_line1": "<string>",
"from_line2": "<string>",
"from_city": "<string>",
"from_state": "<string>",
"from_postal": "<string>",
"fax_to": "<string>"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text){
"orderCode": "an-order-public-code",
"orderUrl": "/orders/an-order-public-code",
"status": "QuoteReady",
"externalReference": "MATTER-2291",
"subtotalCents": 7635,
"discountCents": 500,
"totalCents": 7135,
"lines": [
{
"type": "WorkflowFee",
"label": "Document workflow",
"amountCents": 1200
},
{
"type": "NotaryFee",
"label": "Online notarization",
"amountCents": 2500
},
{
"type": "ShippingCarrierRate",
"label": "Carrier postage (rated for your address)",
"amountCents": 2440
},
{
"type": "ShippingHandlingFee",
"label": "Shipping & handling",
"amountCents": 1495
},
{
"type": "Discount",
"label": "Code WELCOME5",
"amountCents": -500
}
],
"checkoutUrl": null
}{
"error": "<string>"
}{
"error": "A valid partner API key is required."
}Create an order
Create a sign / notarize / ship order for a client’s own completed document. Send the PDF as the multipart part document, or reference a fill-online result with fill_token — exactly one of the two, never both. Pricing is computed entirely server-side from the B2B price book with your subscription tier’s discount applied automatically; there is no client-sent amount anywhere in the API. Order state advances only via the verified Stripe webhook — minting a checkout session (or a payer landing on the success page) never changes state. Rate limited with partner-write (60/min per key).
curl --request POST \
--url https://signsealship.com/api/partner/orders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form email=jsmith@example.com \
--form document='@example-file' \
--form 'fill_token=<string>' \
--form 'name=<string>' \
--form 'doc_slug=<string>' \
--form 'signer_state=<string>' \
--form 'dest_state=<string>' \
--form 'external_reference=<string>' \
--form 'ship_name=<string>' \
--form 'ship_line1=<string>' \
--form 'ship_line2=<string>' \
--form 'ship_city=<string>' \
--form 'ship_state=<string>' \
--form 'ship_postal=<string>' \
--form 'from_name=<string>' \
--form 'from_line1=<string>' \
--form 'from_line2=<string>' \
--form 'from_city=<string>' \
--form 'from_state=<string>' \
--form 'from_postal=<string>' \
--form 'fax_to=<string>'const form = new FormData();
form.append('email', 'jsmith@example.com');
form.append('document', '<string>');
form.append('fill_token', '<string>');
form.append('name', '<string>');
form.append('doc_slug', '<string>');
form.append('signer_state', '<string>');
form.append('dest_state', '<string>');
form.append('external_reference', '<string>');
form.append('ship_name', '<string>');
form.append('ship_line1', '<string>');
form.append('ship_line2', '<string>');
form.append('ship_city', '<string>');
form.append('ship_state', '<string>');
form.append('ship_postal', '<string>');
form.append('from_name', '<string>');
form.append('from_line1', '<string>');
form.append('from_line2', '<string>');
form.append('from_city', '<string>');
form.append('from_state', '<string>');
form.append('from_postal', '<string>');
form.append('fax_to', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://signsealship.com/api/partner/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://signsealship.com/api/partner/orders"
files = { "document": ("example-file", open("example-file", "rb")) }
payload = {
"email": "jsmith@example.com",
"fill_token": "<string>",
"name": "<string>",
"doc_slug": "<string>",
"signer_state": "<string>",
"dest_state": "<string>",
"external_reference": "<string>",
"ship_name": "<string>",
"ship_line1": "<string>",
"ship_line2": "<string>",
"ship_city": "<string>",
"ship_state": "<string>",
"ship_postal": "<string>",
"from_name": "<string>",
"from_line1": "<string>",
"from_line2": "<string>",
"from_city": "<string>",
"from_state": "<string>",
"from_postal": "<string>",
"fax_to": "<string>"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text){
"orderCode": "an-order-public-code",
"orderUrl": "/orders/an-order-public-code",
"status": "QuoteReady",
"externalReference": "MATTER-2291",
"subtotalCents": 7635,
"discountCents": 500,
"totalCents": 7135,
"lines": [
{
"type": "WorkflowFee",
"label": "Document workflow",
"amountCents": 1200
},
{
"type": "NotaryFee",
"label": "Online notarization",
"amountCents": 2500
},
{
"type": "ShippingCarrierRate",
"label": "Carrier postage (rated for your address)",
"amountCents": 2440
},
{
"type": "ShippingHandlingFee",
"label": "Shipping & handling",
"amountCents": 1495
},
{
"type": "Discount",
"label": "Code WELCOME5",
"amountCents": -500
}
],
"checkoutUrl": null
}{
"error": "<string>"
}{
"error": "A valid partner API key is required."
}Authorizations
Partner API key. Send as Authorization: Bearer sss_pk_....
Headers
Optional. Retries carrying the same key replay the original response instead of acting twice. 8–255 characters; scope one key to one logical action.
8 - 255Body
Multipart form fields. Send exactly one of document or fill_token — never both.
The signer / client email. Required.
Required. Attests that this is the client's own completed document (bring-your-own-document).
true, on The client's own completed PDF, up to 35 MB. Mutually exclusive with fill_token.
A 40-character lowercase-hex token from the fill-online rail, in place of a document upload. Mutually exclusive with document.
^[0-9a-f]{40}$The signer / client name.
Catalog document slug. When present, the catalog row defines the sign / notary services; shipping stays additive via svc_ship.
Include e-signing.
true, on Include online notarization.
true, on Include shipping — send the ship_* address fields with it.
true, on Two-letter US state where the signer is located.
2Two-letter US state the shipment is destined for.
2Your own matter / file number, up to 120 characters. Echoed on webhook events and listings.
120Recipient name (when shipping).
Address line 1 (when shipping).
Address line 2.
City (when shipping).
Two-letter US state (when shipping).
ZIP / postal code (when shipping).
Delivery method when shipping is selected. label (default) buys a prepaid carrier label; print_mail has SignSealShip print and mail the completed document ($12.95 line, replacing the label handling fee). Unrecognized values fall back to label.
label, print_mail Optional sender / return address (all of from_line1, from_city, from_state, from_postal must accompany it): printed as the return address on print-and-mail letters and used as the ship-from on prepaid labels, so rates price from the true origin and undeliverable mail returns to the actual sender. Absent ⇒ the platform business address.
Return address street line 1.
Return address street line 2.
Return address city.
Return address two-letter US state.
2Return address ZIP / postal code.
Adds sealed fax delivery ($9.00): a 10-digit US number or an international number in +country format, normalized to E.164. An uninterpretable number is rejected with a 400 — never silently dropped.
Also mint the Stripe hosted-checkout session in the same call and return it as checkoutUrl.
true, on Response
Order created.
This request's id — quote it in support tickets.
The order's public code.
Root-relative path to the order page, /orders/{orderCode}.
The order's status name (e.g. QuoteReady).
The external_reference you sent, or null.
The normalized E.164 fax destination when fax_to was sent, or null.
Your subscription-tier discount, computed and applied server-side.
Show child attributes
Show child attributes
The Stripe hosted-checkout URL. null unless create_checkout=true was sent, payments are configured, and the order is payable — a ManualQuoteRequired order returns no checkout.