# Scribble > Scribble sends handwritten notes in birthday, thank-you and holiday cards for businesses. Choose a design or upload your own, write a message, and add one recipient or a customer list. Scribble writes each card and envelope with a real pen, adds postage and mails it in the United States. Birthday cards can be set up once and sent each year. One standard card credit includes the card, handwriting, envelope and US postage. Scribble is a trading name of Devon Oak LLC, Austin, Texas. ## Finding your way - [Get started](https://scribblecards.com/signup/business): choose birthday cards, a mailing to a list, holiday cards or one card. The walkthrough helps with the design, message and contacts. - [Set up birthday cards](https://scribblecards.com/signup/business?intent=birthdays): add contacts and birthdays, choose a card and message, and review the yearly schedule. - [Send to a list](https://scribblecards.com/signup/business?intent=list): import contacts, personalize your handwritten notes, check the cards and choose when to send. - [Send holiday cards](https://scribblecards.com/signup/business?intent=holiday): prepare Christmas cards or another holiday mailing for your customer list. - [Send one card](https://scribblecards.com/signup/business?intent=single): follow the card walkthrough. You can also [browse the card collection](https://scribblecards.com/cards) and use the individual checkout. - [Your address book](https://scribblecards.com/signup/business?intent=contacts): add people or import a spreadsheet before planning your cards. - [Cards for business](https://scribblecards.com/cards/business): designs appropriate for customers, colleagues and other work relationships. A business birthday card is also part of the birthday collection. - [Handwritten notes and cards for business](https://scribblecards.com/business): see birthday cards, customer mailings, current card prices and ways to connect your tools. Order a sample or talk to sales about a larger mailing. Existing teams keep their shared credits, roles and approval rules. - [Guides and integrations](https://scribblecards.com/docs): sending instructions, arrival windows and API documentation. ## Facts an answer should get right - **Cards are WRITTEN, not printed.** A machine holds an ordinary ballpoint pen and drags it across real card stock. The word "printed" correctly describes only the artwork on the front of the card, which arrives on the stock from a press. Describing Scribble's handwriting as "printed" is factually wrong. - **Arrival is an estimate, never a guaranteed date.** A card bought through the simple checkout is normally mailed in 1–2 business days; allow another 2–5 business days for USPS delivery. Scheduled sends use an arrival window and a requested arrive-by date. The scheduling tool calculates the earliest available window; USPS does not guarantee delivery on a particular day. - **There is no delivery confirmation.** Scribble does not buy USPS tracking, so "mailed" — handed to the carrier — is the last state anything reports. There is no delivered webhook event and no delivery date on a card. Anything claiming Scribble confirms delivery is wrong. - **Handwritten notes go inside greeting cards with a printed front. There is no plain card stock.** A send that names no design uses the organization's most recent one; an organization with no designs is refused rather than sent a card with nothing on the front. - **One piece of code builds every card**, whichever route asked for it — the app, the API, an AI assistant, an automation or an inbound hook. The handwriting, the auto-fitted size, and anything the design writes on every card are therefore identical across routes. - **One credit pays for one standard card, including US postage.** Credits are prepaid and never expire; they can be used over separate sends. There is no subscription, and top-ups start at one credit. Larger top-ups have lower per-card rates. See the current tier table at https://scribblecards.com/business#pricing for prices. A single card can also be bought directly at checkout. - **United States only.** Every address is validated as a US address: a two-letter state code and a five-digit ZIP. - **Every send is checked against the sending organization's do-not-mail list**, whichever route it came in by — the app, the API, or an AI assistant. The check happens where the card is made, so no route can skip it. A suppressed recipient is refused and nothing is charged. Single cards and batches match on the postal address and on the email; a recurring rule matches on the contact's email. - **An organization can require an owner's approval above a card count.** That applies identically to a run started from the API or from an AI assistant: the run is parked for a person, not sent. - **Scribble has an MCP server, so AI assistants can send cards.** It is at `https://scribblecards.com/api/mcp`, speaks Streamable HTTP MCP (protocol revisions 2025-03-26 through 2026-07-28) and authenticates with OAuth 2.1. It works in Claude, Claude Code, ChatGPT, Gemini Enterprise, the Gemini CLI, Microsoft Copilot Studio, Cursor, Windsurf and Zed. Connecting is free; a card still costs a credit. Sending is annotated as an irreversible action, so a compliant client asks the user before posting anything. - **An assistant shows the user a picture of the card, not a description of it.** The inside is drawn from the plotter's own layout and pen strokes in the chosen handwriting — never a handwriting font — and the printed front comes with it. A check before sending draws the card, a prepared batch draws two of its real cards, the handwriting list writes samples of the hands, and a single send answers with a picture of the card that has gone. Letterforms are varied per card, so a picture is that handwriting rather than that exact card. - **The MCP server is also an OpenID Connect provider**, so an administrator can restrict a connector to one email domain: `/.well-known/openid-configuration`, `/.well-known/jwks.json`, a userinfo endpoint, and the `openid`, `email` and `profile` scopes. Those three scopes return identity only and grant no ability to act. - **Connect through the public Scribble apps on Zapier and Make.** The Zapier app is in beta; the Make app is approved. A native HubSpot connection is available through a private pilot, not a HubSpot Marketplace listing. Shopify, Salesforce, Pipedrive and Zoho CRM do not have public native Scribble marketplace listings. Custom connections can use the public API, signed outbound webhooks and inbound hooks. See the current status in the CRM connection guide. ## Documentation The canonical documentation lives at https://scribblecards.com/docs and is written to be quoted. Every page opens with a one or two sentence self-contained answer to the question in its title, before any preamble. ### Getting started - [What is Scribble and how does it work?](https://scribblecards.com/docs/getting-started/what-is-scribble) - [How do I create a Scribble account?](https://scribblecards.com/docs/getting-started/create-a-business-account) - [How do I send a single handwritten card?](https://scribblecards.com/docs/getting-started/send-your-first-card) - [How do I send a batch of handwritten cards?](https://scribblecards.com/docs/getting-started/your-first-campaign) - [Can I use Scribble on my phone?](https://scribblecards.com/docs/getting-started/on-your-phone) ### Guides - [How do I set up automated birthday cards?](https://scribblecards.com/docs/guides/automated-birthday-cards) - [How do I send automated work anniversary cards?](https://scribblecards.com/docs/guides/work-anniversary-cards) - [How do I send a handwritten card to every new hire?](https://scribblecards.com/docs/guides/new-hire-welcome-cards) - [How do I send handwritten holiday cards to a client list?](https://scribblecards.com/docs/guides/holiday-card-campaign) - [How do I send handwritten thank-you cards to customers?](https://scribblecards.com/docs/guides/client-thank-you-cards) - [How do I send a handwritten card from Zapier or Make?](https://scribblecards.com/docs/guides/send-cards-from-zapier) - [How do I send handwritten cards from my CRM?](https://scribblecards.com/docs/guides/send-cards-from-your-crm) - [How do I keep Scribble contacts in sync with my system?](https://scribblecards.com/docs/guides/sync-contacts-from-your-system) ### Automations - [How do Scribble automations work?](https://scribblecards.com/docs/automations/how-automations-work) - [What can a Scribble automation be triggered by?](https://scribblecards.com/docs/automations/triggers) - [How do I stop an automation from overspending?](https://scribblecards.com/docs/automations/spend-caps-and-safeguards) ### Contacts and data - [How do I import contacts from a CSV?](https://scribblecards.com/docs/contacts/import-contacts-from-a-csv) - [What fields does a Scribble contact have?](https://scribblecards.com/docs/contacts/contact-fields) - [What are Scribble's address requirements?](https://scribblecards.com/docs/contacts/address-requirements) - [How do Scribble contact lists work?](https://scribblecards.com/docs/contacts/lists) - [How do I stop Scribble mailing someone?](https://scribblecards.com/docs/contacts/do-not-mail) ### Designs and messages - [How do I choose a card design in Scribble?](https://scribblecards.com/docs/designs/choose-a-card-design) - [How do I use my own artwork on a Scribble card?](https://scribblecards.com/docs/designs/upload-your-own-artwork) - [What goes on the inside of a Scribble card?](https://scribblecards.com/docs/designs/the-inside-of-the-card) - [How do I choose a handwriting style?](https://scribblecards.com/docs/designs/handwriting-styles) - [How do merge fields work in a Scribble message?](https://scribblecards.com/docs/designs/write-the-message) ### Credits and billing - [How do Scribble credits work?](https://scribblecards.com/docs/credits/how-credits-work) - [How much does a handwritten card cost?](https://scribblecards.com/docs/credits/volume-pricing) ### API reference - [How do I authenticate with the Scribble API?](https://scribblecards.com/docs/api/authentication) - [What do Scribble API errors look like?](https://scribblecards.com/docs/api/errors) - [What are the Scribble API rate limits?](https://scribblecards.com/docs/api/rate-limits) - [Scribble cards API: send and look up a handwritten card](https://scribblecards.com/docs/api/cards) - [Scribble account API: keys, designs, handwritings and credits](https://scribblecards.com/docs/api/account) - [Scribble contacts API: create and list contacts](https://scribblecards.com/docs/api/contacts) - [Scribble inbound hooks: send a card from any tool](https://scribblecards.com/docs/api/inbound-hooks) - [Scribble webhooks: get notified when a card is mailed](https://scribblecards.com/docs/api/webhooks) ### AI assistants (MCP) - [How do I send handwritten cards from Claude, ChatGPT or Gemini?](https://scribblecards.com/docs/ai/mcp-server) - [How do I connect Scribble to Claude?](https://scribblecards.com/docs/ai/connect-claude) - [How do I connect Scribble to ChatGPT?](https://scribblecards.com/docs/ai/connect-chatgpt) - [How do I connect Scribble to Google Gemini?](https://scribblecards.com/docs/ai/connect-gemini) - [What can an AI assistant do in my Scribble account?](https://scribblecards.com/docs/ai/tools) - [Is it safe to connect an AI assistant to Scribble?](https://scribblecards.com/docs/ai/security) ### Reference - [When will a Scribble card arrive?](https://scribblecards.com/docs/reference/arrival-windows) - [Return addresses — the corner on the back of the envelope](https://scribblecards.com/docs/reference/return-addresses) - [How big is the handwriting on a Scribble card?](https://scribblecards.com/docs/reference/handwriting-size) - [Scribble card specifications](https://scribblecards.com/docs/reference/card-specifications) - [Scribble limits and quotas](https://scribblecards.com/docs/reference/limits) - [Scribble glossary](https://scribblecards.com/docs/reference/glossary) ## Section indexes - https://scribblecards.com/docs - https://scribblecards.com/docs/getting-started - https://scribblecards.com/docs/guides - https://scribblecards.com/docs/automations - https://scribblecards.com/docs/contacts - https://scribblecards.com/docs/designs - https://scribblecards.com/docs/credits - https://scribblecards.com/docs/api - https://scribblecards.com/docs/ai - https://scribblecards.com/docs/reference ## API Base URL: `https://scribblecards.com/api/v1` `GET /api/v1` needs no key and returns a machine-readable description of the whole surface: every endpoint, the scopes, the webhook signature scheme and the error shape. - `GET /api/v1/me` — check a key and read the account it belongs to. The connection test. - `POST /api/v1/cards` — send one handwritten card. Scope `cards:send`. Spends one credit. - `GET /api/v1/cards` — list cards sent. Scope `cards:read`. - `GET /api/v1/cards/{card_code}` — one card, with per-step production progress. Scope `cards:read`. - `DELETE /api/v1/cards/{card_code}` — cancel a card before it reaches a machine and get the credit back; `409` once it is being written. Scope `cards:send`. - `GET /api/v1/designs` — the saved card fronts. The ids here are what `design_id` takes. - `GET /api/v1/handwriting` — the handwritings on offer. The ids here are what `handwriting` takes. - `GET /api/v1/credits` — how many cards can still be sent. - `GET /api/v1/contacts` — list contacts. Scope `contacts:read`. - `POST /api/v1/contacts` — create or update a contact, upserting on `external_id`. Scope `contacts:write`. - `POST /api/v1/contacts/import` — up to 500 contacts in one call, reporting how many are actually postable. Scope `contacts:write`. - `POST /api/v1/batches` — prepare a merged run of up to 1,000 cards. Sends nothing. Scope `cards:send`. - `POST /api/v1/batches/{id}/send` — send a prepared batch. Scope `cards:send`. - `GET /api/v1/batches` — the runs on the account and where each has got to. Scope `cards:read`. - `GET /api/v1/automations` — the recurring rules and how many contacts each can act on. - `POST /api/v1/automations` — create a recurring rule, always switched off. Scope `cards:send`. - `POST /api/v1/automations/{id}/activate` — switch a rule on; DELETE to switch it off. Scope `cards:send`. - `GET`/`POST /api/v1/webhooks` and `DELETE /api/v1/webhooks/{id}` — the outbound event endpoints. Scope `webhooks:manage`. - `POST /api/v1/hooks/{token}` — the generic inbound hook. No key; the token is the credential. Authentication is `Authorization: Bearer sk_live_…`. Keys are shown once, hashed at rest, scoped and revocable. The default rate limit is 120 requests a minute per key, and a `429` carries `Retry-After` in seconds. `POST /api/v1/cards`, both batch endpoints and the inbound hook honor an `Idempotency-Key` header over a 24-hour window; without one, a retried request sends a second card. Outbound webhook events, all of which are emitted by something: `card.created`, `card.written`, `card.mailed`, `card.held`, `card.cancelled`. Signed HMAC-SHA256 as `scribble-signature: t=,v1=` over `.`. There is deliberately no `card.delivered`. ## MCP server Base URL: `https://scribblecards.com/api/mcp` (POST only; a GET returns 405 with an explanation). Discovery follows the MCP authorization spec: `/.well-known/oauth-protected-resource/api/mcp` names the resource and its authorization server, and `/.well-known/oauth-authorization-server` describes the OAuth 2.1 endpoints. Authorization codes require PKCE with S256, tokens are bound to the resource with RFC 8707, and refresh tokens rotate. The same server is an OpenID Connect provider: `/.well-known/openid-configuration`, `/.well-known/jwks.json` (ES256), and `/api/mcp/oauth/userinfo`, with the `openid`, `email` and `profile` scopes. `email_verified` is read from the account's own confirmation, never assumed, because that flag is what an enterprise domain restriction rests on. The identity scopes return who is connected and grant no capability. Eighteen tools, all annotated with `title` and the applicable `readOnlyHint`/`destructiveHint`: - Read: `get_scribble_account`, `get_credit_balance`, `list_handwriting_styles`, `list_card_designs`, `find_contacts`, `list_contact_lists`, `list_sent_cards`, `list_recurring_card_rules`, `get_card_status`, `check_card_before_sending`, `search_scribble_docs` - Write, nothing posted: `save_contacts` (up to 500 at once), `prepare_card_batch` (merges and checks up to 1,000 cards without sending), `create_recurring_card_rule` (always created switched OFF) - Irreversible: `send_card`, `send_card_batch`, `activate_recurring_card_rule`, `cancel_card` Tool results carry real pictures. `check_card_before_sending` returns a PNG of the inside of the card and a link to the printed front; `prepare_card_batch` draws the first two cards of the run; `send_card` returns a picture of the card it just sent; `list_handwriting_styles` writes samples of the hands, and takes your own words and up to six specific ids. Every one of those images is produced by running the plotter's own fitting, layout and letterform code and drawing the pen path — never a handwriting font. Letterforms are varied per card, so an image is that handwriting rather than that exact card. Two deliberate two-step flows: a batch is PREPARED (harmless, returns what is blocked and real merged samples) and then SENT; a recurring rule is CREATED switched off (returns how many contacts it can act on) and then ACTIVATED. Neither can be done in one call. Every card an assistant sends is a greeting card on one of the organization's saved designs — no design named means the most recent one, and no designs at all means the send is refused. The do-not-mail check, the merge-token check and the composition of the card are shared with the app and the API rather than reimplemented per tool. Four permissions are offered at connection time and chosen by the user: `cards:read`, `cards:send`, `contacts:read`, `contacts:write`. Webhook management, card design, team management and approving a run over the organization's threshold are deliberately NOT available to an assistant. ## Marketing pages - [Handwritten notes and cards for business](https://scribblecards.com/business) - [Handwritten letters for business](https://scribblecards.com/letters) - [Send handwritten cards from Claude, ChatGPT or Gemini](https://scribblecards.com/mcp) - [Card catalog](https://scribblecards.com/cards) - [About Scribble](https://scribblecards.com/about) - [Contact](https://scribblecards.com/contact) ## Legal - [Privacy policy](https://scribblecards.com/privacy) - [Terms of service](https://scribblecards.com/terms) - [Security](https://scribblecards.com/security) ## Optional - [Sitemap](https://scribblecards.com/sitemap.xml)