IpInkpacket

Features

Everything you need to send and file signatures

Prepare a PDF, place fields, send a link, remind signers, and download the signed file. Templates, Web Forms, bulk send, and an API are there when you need them.

  • Reusable templates
  • Signing links (no signer account)
  • Web Forms
  • Bulk send
  • Reminders & expiry
  • API & webhooks

Ask Inkpacket (bottom right) answers from this page.

The desk

An organization-scoped inbox of envelopes. Upload a PDF, name it, and open the field editor. Nothing leaks across workspaces.

Read the five-minute send guide

Read document list aging and status honesty

Read Settings email From and Reply-To

Read when Free is enough

Read the mobile desk hamburger menu map

Read workspace switcher versus mobile drawer

Read why a rejected PDF upload is not an envelope

Read why File storage is unavailable is not a rejected upload

Read why a PDF has no page-count cap

Read why The stored PDF is empty is not a rejected upload

Read why This PDF could not be opened is not a rejected upload

Read why The PDF could not be loaded from storage is not a rejected upload

Read why Upload a PDF first is not a rejected upload

Reusable templates

Save a PDF and its field marks as a workspace template at /desk/templates. Create at /desk/templates/new, edit at /desk/templates/:id, then Use template to copy type, page, position, size, label, required, recipient slot, and select options into a new draft. Pick the signer and send — without placing fields again. Saving a template does not count toward the monthly packet limit; sending the draft does.

Read the templates guide

Read the template field types overview

Read why saving a template is not an envelope

Read why you cannot delete a template a Web Form still uses

Read why a template stops at 80 fields

Read why there is no template-count cap

Bulk send

Upload a CSV or paste names and emails, map the columns, and send one template to the list. Open Bulk send on the desk (/desk/bulk). Each recipient gets a separate envelope with the same field layout and shared reminder and expiration settings. Retries skip rows that already sent. Each sent row counts toward the monthly packet limit (Free 5); a row that would exceed it returns HTTP 402, ENVELOPE_LIMIT. A sent row means the envelope exists — if invite email was not sent, open that envelope and copy the signing link.

Read the bulk send guide

Read bulk send Free envelope math

Read bulk send: job created but send unfinished

Read why a bulk send job stops at 100 unique emails

Read why a duplicate bulk email is one envelope

Web Forms

Publish a public web form from a template at /desk/forms and share /form/SLUG. Save the template first at /desk/templates — place at least one field — then publish at /desk/forms#publish. Inkpacket generates the slug from the title. The filler does not sign in. They complete required fields plus signer name and email; Inkpacket creates the envelope and sends the invite. Free includes 1 published Web Form; Starter includes 3, Growth 10, Agency 25. Each fill counts as one packet toward the monthly cap. Free is 5 packets a month. Starter is 20 packets a month, more packets than Free. Optional access code, reminder, and expiration defaults live on the form. Disable a form to stop new fills (Form closed). Billing checkout is not open, so this workspace stays on Free.

Read the Web Forms guide

Read public form closed copy

Read Web Form reminders and expiry on publish

Read Web Form disable versus delete

Read Free published Web Form 402 versus envelope limit

Read why a template with zero fields cannot publish

Read why you cannot pick a Web Form slug

Embedded signing

After you send an envelope, the desk copies Embed URL (How to embed this envelope). Iframe /embed/sign/TOKEN — or the same /sign/TOKEN page — on a host page you already operate. POST /api/v1/packets/:id/send returns embedUrl. Signing surfaces send Content-Security-Policy frame-ancestors for inkpacket.com plus EMBED_ALLOWED_ORIGINS. The iframe posts viewed, signed, and completed to the parent. This path is live and does not wait on Drive or payment keys. Text-message (SMS) is coming soon — live card checkout is not part of this path. Desk help (/desk/help#embed) has the snippet.

Read the embedded signing guide

Read security headers and embed framing

Read embed iframe versus popup framing

Envelope admin

Void an in-flight envelope so every signing and embed link stops. Correct the recipient on the same envelope — a new invite goes out, and the old token is retired if the email changes. Resend the existing link without creating a second envelope. Signers can decline with a reason; the sender is notified. Completed, expired, or declined envelopes cannot be voided, corrected, or resent.

Read the envelope admin guide

Read resend after a soft-fail email

Read void after a partial sign

Read correct an envelope mid-flight

Read decline closes the envelope

Read void after a partial sign versus decline

Read email change retires the signing token

Read void does not email the signer

Read resend does not rotate the signing token

Read phone-only correct keeps the signing token

Read why completed envelopes cannot be changed

Read why a decline reason is required

Read why only sent envelopes can use void, correct, or resend

Read why This envelope is already voided is not a completed lock

Read why There is no outstanding signer on this envelope is not a completed lock

Read why This envelope was already declined is not a completed lock

Read why That signer is not outstanding on this envelope is not a completed lock

Read why a no-op correct is not a completed lock

Completed PDF

Inkpacket stamps values onto the original with pdf-lib and stores a second object. Preview pages in the field editor and download the signed copy from the envelope. Empty or unreadable uploads are rejected. Missing, empty, or unavailable stored files return those errors instead of a blank PDF — re-upload a valid file, or check File storage in Settings (/desk/settings#storage). Desk help: /desk/help#files.

Read what a completed envelope includes

Read settings storage: S3 versus local

Read what the audit log records

Google Drive archive

Coming soon. Optionally copy the completed PDF and the audit JSON into a Drive folder you choose in Settings. When GOOGLE_DRIVE_CLIENT_ID, GOOGLE_DRIVE_CLIENT_SECRET, and GOOGLE_DRIVE_REFRESH_TOKEN — or GOOGLE_SERVICE_ACCOUNT_JSON — are set, the files are uploaded. Without those credentials the desk reports Drive not configured and does not pretend the upload happened. Settings shows driveConfigured. Archive to Drive on a completed envelope retries; without keys it soft-fails again. A non-completed envelope returns Only completed envelopes can be archived to Drive — that is not Drive not configured. Desk help: /desk/help#drive.

Read when Drive archive soft-fails

Read why Only completed envelopes can be archived to Drive is not a Drive soft-fail

In-envelope payments

Coming soon. Optionally request a payment when you send an envelope. The amount, currency, and description sit on the envelope. collectPayment with no positive amount returns Collecting a payment requires a positive amount — that is not a payment-not-live state. When Stripe keys are absent or STRIPE_CHECKOUT is disabled, the desk and the signer see Payments not live / not configured. Inkpacket does not charge a card and does not pretend the payment succeeded. Settings shows paymentsLive. Signing still completes. Desk help: /desk/help#payments.

Read payments honesty

Read why This envelope does not request a payment is not a payment-not-live state

Read why Collecting a payment requires a positive amount is not a payment-not-live state

API and webhooks

Mint an org-scoped Bearer token in Settings (/desk/settings#tokens). List, create (from a template), fill, get, and send envelopes at /api/v1/packets. Last-used time updates on success. Retries can send an Idempotency-Key. Desk help (/desk/help#api) lists the live routes.

Read the API and webhooks guide

Read mint and revoke API Bearer tokens

Read API fill then send

Read Idempotency-Key on create, fill, and send

Read members cannot mint API tokens

Read why GET /api/v1/health needs no Bearer token

Read why Bearer token required is not Invalid API token

Read why an API token never crosses workspaces

Read why the API token is shown only once

Read why This envelope can no longer be edited is not a completed lock

Read why This envelope has no fields to fill is not a published-form cap

Read why Provide at least one field value is not a published-form cap

Read why Field X was not found on this envelope is not a published-form cap

Outbound webhooks

Set a workspace webhook URL or a per-packet URL. Inkpacket POSTs a signed JSON body on sent, viewed, signed, completed, expired, declined, voided, and corrected. The first POST is immediate. Failed deliveries retry on the hourly job, up to 5 attempts, then the row is marked failed. Settings keeps a delivery log and a Send test event button. Production refuses non-HTTPS and private-network URLs.

Read the API and webhooks guide

Read the webhook signature verify checklist

Read why webhooks have no test-send

Read why Settings only shows the last 12 webhook deliveries

Read why a webhook URL must be HTTPS

Roles and seats

Owners create the workspace. Admins invite a teammate from Team (/desk/team#invite). Members send. How many seats / seat limit: published planning numbers are Free 1, Starter 3, Growth 10, Agency 50 — invite does not refuse when a workspace is full. Monthly packets and published Web Forms remain the live gates. Invite links are a real link you can copy even before mail is live — Team shows Invite email was not sent when Resend is missing.

Read workspace team invite versus signing invite

Read when seat-invite email soft-fails versus signing invite

Read why members can send but cannot invite

Out of this pass

Notary, KBA, QES, chat apps, fax, CLM, model-based field detection, or CRM sync. Starting field layout is a page-count heuristic, not a model.