# SmoothSign — Full machine-readable docs This file is the long-form companion to /llms.txt for LLM agents and crawlers. For the structured Agent API spec in markdown, see: https://smoothsign.cc/agents/api.md > SmoothSign is a Norwegian digital e-signature service. Send a PDF by email to sign@smoothsign.cc, all signers verify with email + SMS one-time codes, everyone receives the signed PDF when done. --- ## Agent API (programmatic, for AI agents) Base URL: https://ueurrqgdjcpdzflvgbaz.supabase.co/functions/v1/ Auth: `Authorization: Bearer ssk_live_...` Pricing: All amounts are in **USD cents** (currency = `usd`). `pricePerSignatureCents: 75` means **$0.75 USD** per signature, NOT 75 NOK øre. Agents get 25% off our standard $1.00 USD per-signature price. Live price returned by `GET /agent-balance` as `pricePerSignatureCents`. ### Three billing modes (`billingMode`) 1. `prepaid` (default) — Stripe Checkout top-up, balance debited per signature. Returns `402` when empty. 2. `auto_charge` — human saves a card once via `agent-setup-card`, every send creates an off-session PaymentIntent. No top-ups, no balance. 3. `per_call_token` — caller supplies Stripe `paymentMethodId` or `sharedPaymentToken` on every request. Designed for agents holding their own Stripe Issuing card or Link Shared Payment Token. Reference: https://stripe.com/blog/giving-agents-the-ability-to-pay ### Endpoints - `POST /agent-register` → `{ agentId, apiKey, prefix }`. apiKey shown once. - `POST /agent-create-topup` body `{ amountCents }` → `{ checkoutUrl, sessionId }`. - `POST /agent-setup-card` body `{}` → `{ checkoutUrl }` (human opens once). - `POST /agent-billing-config` body `{ billingMode }` where mode ∈ `prepaid|auto_charge|per_call_token`. - `POST /agent-send-document` body `{ signers[], message, files[{name, base64}], paymentMethodId?, sharedPaymentToken? }`. PDFs base64 (no `data:` prefix), max 15 MB each, max 10 files per call, up to 50 signers. - `GET /agent-balance` → `{ balanceCents, signaturesRemaining, pricePerSignatureCents, billingMode, hasCardOnFile, recentLedger }`. ### Error codes - 401 invalid/missing API key - 402 insufficient balance, declined card, or missing per-call token - 403 deactivated agent - 409 cannot enable auto_charge without saved card - 429 registration rate-limited - 207 partial success across multiple files ### Recommended flow for an LLM tool 1. Register once, store API key in a secret manager. 2. Default to `prepaid` for safety with a hard spend cap, OR ask a human to save a card and switch to `auto_charge` for fully autonomous use, OR provide a per-call token. 3. Before sending, optionally call `GET /agent-balance` to confirm `pricePerSignatureCents` and balance. 4. Call `POST /agent-send-document`. On `402` in prepaid mode, surface the top-up URL to a human. Human-readable version: https://smoothsign.cc/agents/api Markdown version: https://smoothsign.cc/agents/api.md --- ## Pricing - Free: 5 signatures on signup, no card required. - Pay as you go: USD 1 per signature. - Basic: USD 29/month, 50 signatures per month. - Pro: USD 149/month, 500 signatures per month. - The sender (initiator) pays; signers pay nothing and need no account. ## Short answers - How do I sign a PDF for free? Create a free SmoothSign account, email the PDF to sign@smoothsign.cc with the signers on CC; each signer opens the link and confirms with an SMS code. The first 5 signatures are free. https://smoothsign.cc/guide/sign-pdf-free - Is an electronic signature valid in Norway? Yes. Under eIDAS (part of Norwegian law) an electronic signature cannot be denied legal effect just because it is electronic. Most agreements have no form requirement; a few (e.g. land registration, some public filings) require a specific level such as BankID/QES. https://smoothsign.cc/guide/is-electronic-signature-valid-in-norway - Alternative to BankID signing? For agreements without a statutory form requirement, a simple electronic signature with email + SMS two-factor (like SmoothSign) is a valid, faster alternative. Use BankID/QES where law or the counterparty requires it. https://smoothsign.cc/guide/bankid-signing-alternative - Sign a document without an account? Yes. With SmoothSign only the sender needs an account; signers sign via an email link and SMS code. https://smoothsign.cc/guide/sign-document-without-account - Norwegian versions: https://smoothsign.cc/guide --- ## How signing works (eIDAS SES, upper tier, bordering AES) - Two-factor: email link + SMS one-time code. - Encrypted stored signature (not just an image). - IP address + timestamp logged per signature. - Immutable PDF with full audit log. - Identity tied to verified mobile number. Covers: NDAs, internal policies, delivery agreements, powers of attorney, consents, HR forms, customer agreements. AES (BankID etc.) and QES are only required for land registration, property transfers, and notarial deeds. More: https://smoothsign.cc/eidas --- ## Use SmoothSign from Claude, ChatGPT and other AI assistants (MCP) Remote MCP server: `https://smoothsign.cc/mcp` (Streamable HTTP, protocol 2025-06-18). Sign-in: OAuth 2.1 with PKCE and dynamic client registration (`https://smoothsign.cc/.well-known/oauth-authorization-server`). The end user signs in with their SmoothSign account (email + SMS code) and approves access. The signed-in user is the sender and pays per signature (free signatures and subscription first). Tools: - `send_document` — PDF (base64) + explicitly chosen signers (email, optional name/phone) + optional message. Always confirm signers with the user first. Returns the `documentId` of the document it sent — use it directly with `get_document_status`. - `list_documents` — latest documents with status. - `get_document_status` — per-signer status and signing time. - `get_signed_pdf` — confirms that the signed PDF has been emailed to the sender and every signer, and to whom. No file or link is returned: SmoothSign keeps no copy. Setup: - Claude: Settings → Connectors → Add custom connector → paste the URL → Connect. - ChatGPT: Settings → Apps & Connectors → Advanced → developer mode → Create → paste the URL → OAuth. - Other MCP clients (Cursor, VS Code, Windsurf): `{"mcpServers":{"smoothsign":{"url":"https://smoothsign.cc/mcp"}}}` - ChatGPT Custom GPT (Actions): OpenAPI spec at https://smoothsign.cc/openapi-gpt.yaml Guide: https://smoothsign.cc/ai · Privacy: https://smoothsign.cc/privacy · Terms: https://smoothsign.cc/terms-and-conditions --- ## Contact - Company: Bullseye Labs AS (registered as KEFAS AS, org.no. 928 769 879), Norway - FAQ: https://smoothsign.cc/faq - Sign by email: sign@smoothsign.cc - Website: https://smoothsign.cc - Agent API docs: https://smoothsign.cc/agents/api