Integration

DocSpring integration

DocSpring fills PDF templates with data, generates PDFs from HTML templates, merges PDFs and collects e-signatures. Generate one PDF or a batch of up to 50 from a template and a data object, check a submission and get its download link, merge submissions, templates and PDFs from URLs into one file, request data or signatures from people (data requests) and get their pre-authenticated form links, manage templates (upload a PDF, create or edit HTML templates, add fields, publish and restore versions, copy, move), folders and webhooks. Live PDFs use account credits; test PDFs are free and watermarked. Calls go to the US region's synchronous host, which waits for the PDF before answering; EU-region accounts are not served. The presigned S3 upload flow (custom files and templates created from a cached upload) is not exposed. Authentication is HTTP Basic with the API token ID as username and the API token secret as password.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in DocSpring.Built from the 42 DocSpring tools below, on the connection you add once.

What you can do with DocSpring

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Template, 8 operations

  • create_html_templateCreate html templatePOSTCreates a new HTML template using HTML, CSS/SCSS, and Liquid templating. Allows complete control over PDF layout and styling.
  • create_pdf_templateCreate pdf templatePOSTUploads a PDF and creates a template from it, optionally detecting its fields automatically (detect_fields). Waits until the document is processed. Add or edit fields afterwards with add_fields_to_template or in the DocSpring template editor.
  • delete_templateDelete templateDELETEDeletes a template or a specific template version. When no version is specified, deletes the entire template including all versions.
  • get_full_templateGet full templateGETRetrieves complete template information including fields, defaults, settings, and HTML/SCSS content. Use this to get all template data needed for automated updates or analysis.
  • get_templateGet templateGETRetrieves information about a template including processing status and document URL. Use this to check if template is ready to view in the template editor or generate PDFs.
  • list_templatesList templatesGETRetrieves a list of your templates with search, filtering, and pagination options. Returns basic template information including ID, name, type (PDF or HTML), and folder location.
  • replace_template_documentReplace template documentPUTReplaces a PDF template's document with a new PDF, keeping the existing fields. Fields on pages the new PDF no longer has are deleted. Set template[reimport_fields] to true to take the new PDF's fillable fields instead.
  • update_templateUpdate templatePUTUpdates template content and properties. For HTML templates, you can modify the HTML, SCSS, headers, footers, name, and description.

Submission, 5 operations

  • expire_submissionExpire submissionDELETEExpiring a PDF submission deletes the PDF and removes its data, metadata and the submitter's details from our database.
  • generate_pdfGenerate pdfPOSTFills a template with data and generates a PDF, waiting until it is ready and returning the submission with its download_url. Add data_requests to collect data or signatures first. Live PDFs use credits; test true gives a free, watermarked PDF.
  • get_submissionGet submissionGETReturns a PDF submission with its state, metadata and, once processed, its download_url. For a submission that is still pending it waits for processing to finish, up to 95 seconds.
  • list_submissionsList submissionsGETReturns a paginated list of all PDF submissions across all templates in your account. Can be filtered by date range and submission type (test/live).
  • list_template_submissionsList template submissionsGETReturns a paginated list of all submissions for a specific template. Can be filtered by date range, submission type (test/live), and optionally include submission data.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTCreates a webhook that delivers a POST request to your endpoint whenever a subscribed event occurs. Optionally scope the webhook to specific API tokens, templates, or folders.
  • delete_webhookDelete webhookDELETEPermanently deletes a webhook so it stops receiving events, and returns the deleted webhook.
  • get_webhookGet webhookGETRetrieves a single webhook by its ID.
  • list_webhooksList webhooksGETReturns a list of the webhooks configured for your account. Supports pagination and filtering by event type, mode, and the API token, template, or folder a webhook is scoped to.
  • update_webhookUpdate webhookPUTUpdates the configuration of an existing webhook.

Combined submission, 4 operations

  • combine_pdfsCombine pdfsPOSTMerges PDFs into one file, in the order given: generated submissions, earlier merged PDFs, unfilled templates and PDFs from URLs. Costs 4 credits per source plus 4 per 10 pages of output, even with a test token. Returns the merged PDF's download_url.
  • expire_combined_submissionExpire combined submissionDELETEExpiring a combined submission deletes the PDF, its metadata and its password from our system. This is useful for invalidating sensitive documents.
  • get_combined_submissionGet combined submissionGETRetrieves the details and status of a combined submission.
  • list_combined_submissionsList combined submissionsGETReturns a paginated list of combined submissions (merged PDFs) for your account. Includes processing status, expiration details, and download URLs for processed PDFs.

Folder, 3 operations

  • create_folderCreate folderPOSTCreates a new folder for organizing templates. Folders can be nested within other folders by providing a `parent_folder_id`. Folder names must be unique within the same parent.
  • delete_folderDelete folderDELETEDeletes an empty folder. The folder must not contain any templates or subfolders. Move or delete all contents before attempting to delete the folder.
  • list_foldersList foldersGETReturns a list of folders in your account. Can be filtered by parent folder ID to retrieve subfolders. Folders help organize templates and maintain a hierarchical structure.

Batche, 2 operations

  • batch_generate_pdfsBatch generate pdfsPOSTGenerates up to 50 PDFs in one request, each from its own template and data, and waits until all are processed. If any entry is invalid nothing is generated and each entry reports its own status and errors.
  • get_submission_batchGet submission batchGETRetrieves the status and results of a batch PDF generation job. Returns processing state, completion statistics, and optionally includes all individual submission details.

Data request, 2 operations

  • get_data_requestGet data requestGETRetrieves the details and status of a data request. Returns information about the request state (pending, viewed, completed), authentication details, and metadata.
  • update_data_requestUpdate data requestPUTRecords how the person behind a data request was authenticated in your app (auth type, provider, session start and hashed identifiers), and can update their name, email, fields, order and metadata. These details back the e-signature audit trail.

Move, 2 operations

  • move_folderMove folderPOSTMoves a folder to a new parent folder or to the root level. All templates and subfolders within the folder are moved together. Cannot move a folder into one of its own subfolders.
  • move_template_to_folderMove template to folderPOSTMoves a template to a different folder or to the root level. Use this to organize templates within your folders.

Add field, 1 operation

  • add_fields_to_templateAdd fields to templatePUTAdds fields to a PDF template. Configure field types, positions, defaults, and formatting options.

Authentication, 1 operation

  • test_authenticationTest authenticationGETChecks whether your API token is valid by making an authenticated request. Returns a success response if authentication passes.

Copy, 1 operation

  • copy_templateCopy templatePOSTCreates a copy of an existing template with all its fields and configuration. Optionally specify a new name and target folder.

Event, 1 operation

  • create_data_request_eventCreate data request eventPOSTRecords user notification events for data requests. Use this to create an audit trail showing when and how users were notified about data request forms.

Generate preview, 1 operation

  • generate_previewGenerate previewPOSTGenerates a preview PDF for a submission with partially completed data requests.

Model code, 1 operation

  • get_template_model_codeGet template model codeGETGenerates typed model code for a template's submission data from its JSON schema, in TypeScript, JavaScript, Ruby, Python, PHP, Java, C#, Elixir or Go.

Publish version, 1 operation

  • publish_template_versionPublish template versionPOSTPublishes the current draft version of a template and creates a new immutable version with semantic versioning (major.minor.patch).

Rename, 1 operation

  • rename_folderRename folderPOSTRenames an existing folder. The new name must be unique within the same parent folder. This operation only changes the folder name, not its location or contents.

Restore version, 1 operation

  • restore_template_versionRestore template versionPOSTRestores your template to a previously published version, copying that version's content and configuration to the current draft.

Schema, 1 operation

  • get_template_schemaGet template schemaGETRetrieves the JSON Schema definition for a template's fields.

Token, 1 operation

  • create_data_request_tokenCreate data request tokenPOSTCreates an access token for a data request and returns it with data_request_url, a pre-authenticated link to the person's form that you can send or embed. The token stays valid until the data request is completed.

Use DocSpring from Claude Code, Cursor or Codex

Connect DocSpring in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its DocSpring operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect DocSpring

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect DocSpring once

    Add your DocSpring connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

DocSpring integration FAQ

What can you do with the DocSpring integration?

LiveContext exposes 42 operations on DocSpring, covering template, submission, webhook and combined submission.

Popular integrations

Browse the whole catalog