What you can build
Contract automation
Generate agreements from templates, fill in values from your system, and send them for signing.
Signing in your product
Embed the signing flow in your own app or send each party a signing URL.
CRM and archive sync
Mirror document status into your CRM and store signed PDFs in your own archive.
Identity checks
Verify a person with BankID through sajn ID before you onboard them.
Make a request
The base URL for every endpoint is the following:Authorization header, and choose the API version with the Sajn-Version header:
API_KEY with an API key from Inställningar > Utvecklare > API-nycklar in your workspace settings. For more information, see Authentication.
Requests and responses are JSON, and timestamps are ISO 8601 in UTC. A sandbox uses the same base URL; the API key decides which environment you reach. For more information, see Sandbox.
Pin the API version
sajn versions the API by date, inYYYY-MM format. The docs describe 2026-10. We recommend sending Sajn-Version on every request, so your integration keeps working the same way when your organization’s default version changes. For more information, see API versioning.
Explore the docs
Quickstart
Send your first document and download the signed PDF.
Core concepts
Documents, parties, fields, templates, and how they fit together.
Guides
Task-by-task guides for documents, fields, templates, and embedding.
Webhooks
Get an HTTP request when a document is signed, completed, or rejected.
API fundamentals
Errors, pagination, rate limits, idempotency, and OAuth.
Build with AI
Use these docs and your workspace from an AI assistant.
Upgrading
Move an integration from
2026-09 to 2026-10.sajn Login
Log your own users in with BankID.
Tools
- OpenAPI specification:
https://app.sajn.se/api/v1/openapi. Use it to generate a typed client. - Postman: import the starter collections.

