Handwrytten
MARKETING · MARKETING
Order real handwritten cards, mailed from the account they connected.
Connect Handwrytten with Fabriq Developer
Your user pastes their Handwrytten credential on a page Agentic Fabriq hosts, so it never reaches your backend and never becomes one shared key across all of your users. Same call as OAuth, one more argument.
Provider names are surfaces, not vendors, and the authoritative list is the capabilities endpoint rather than any page including this one — an unknown name returns 400 with the valid list. Fabriq Developer is free to start and needs no provider paperwork. Start free or read the quickstart.
Connecting Handwrytten in practice
Handwrytten writes and posts physical cards, so a bad call costs postage rather than a row: POST /orders/singleStepOrder creates and submits a whole order in one request, charging a stored credit card id, and the only rehearsal space is an account-level test mode that authorizes payment without capturing it and accepts orders without fulfilling them. Test mode is a property of the account, not of the request.
Scopes that draw scrutiny
Authorization: <API key>Sent raw, with no Bearer prefix, and created on the Integrations page. The same key that lists fonts also places orders that cost real money.login and password via /auth/authorizationDeprecated username-and-password authentication that remains supported for existing integrations, so a credential removed from one path may still work through the other.
Worth knowing
- Because test mode is toggled per account — on the Integrations page or through POST /auth/setTestMode — a staging agent and a production agent sharing one account cannot differ.
- singleStepOrder requires font_label, card_id, message and both addresses, and font_label is the colloquial font name such as "Chill Charity" rather than an id, so it has to be resolved from GET /fonts/list before the first order.
- sender_state and recipient_state are required only for country ids 1 and 2 (United States and Canada), and stamp_option_id applies to US orders and is ignored internationally — so validation rules change with the destination.
- The spec lists two production servers, api.handwrytten.com/v2 and api2.handwrytten.com/api/v1/user/, so the base URL depends on the endpoint rather than on a version you pick once.
Checked against Handwrytten API documentation (2026-09-29), OpenAPI specification (2026-09-29)
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
Often connected alongside
Put Handwrytten behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.