Simplifi Platform API · for developers

Simple or qualified e-signatures,
from your code.

One call sends a document and returns a signing link per signer. How each of them signs is your choice per signer: a simple signature, a one-shot eIDAS qualified certificate, or their own certificate. Create your credentials in the app and make your first call in minutes.

first-call.sh
# 1. Get an access token (OAuth2 client_credentials)
curl -X POST https://auth.simplifi.ro/realms/Simplifi/protocol/openid-connect/token \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_SECRET"

# 2. Send your first document: one call, a signing link per signer
curl -X POST https://api.simplifi.ro/publicapi/v1/send-document \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "signers":   [ { "email": "ana@example.com", "name": "Ana Popescu" } ],
        "documents": [ { "name": "First contract", "pdf_base64": "<base64 PDF>" } ] }'

No API fee. No approval process.

The API is on for every Simplifi company account. There is no separate subscription, no waitlist and no sales call.

API fee

API access is included with your company account: no platform fee and no integration subscription.

Approvals needed

A company admin creates the API client in the app (API Settings) and gets the credentials on the spot.

Same cost as the app

API usage draws from the same credits as the web app, at the same prices: envelopes, signature packs, one-sided documents. No API premium and no surprise invoice: if your balance runs out, you get a stable insufficient_*_balance error.

One call to send. Two decisions.

You make one API call. Everything else is two decisions you take per request: who runs the signing process, and how each signer signs.

The one call

Send a document

POST /publicapi/v1/send-document uploads the PDF, names the signers, places the signature boxes and sends. The response carries the document and a signing_url per signer. Status, download and the Certificate of Completion come from GET /documents/{uuid} and the document.* webhooks; nothing else is required.

Acts as
your company (service account)
Auth
client_credentials access token
Decision 1
send_email, per request
Decision 2
kind, per signer; mix freely on one document
send-document.http
POST /publicapi/v1/send-document
{
  "send_email": 0,
  "return_url": "https://your.app/signed",
  "signers": [
    { "email": "ana@example.com", "name": "Ana Popescu", "kind": "simple" },
    { "email": "dan@example.com", "name": "Dan Ionescu", "kind": "qualified" }
  ],
  "documents": [ { "name": "Contract", "pdf_base64": "JVBERi0x..." } ]
}

# 200
{ "data": { "document_uuid": "...",
  "signers": [ { "email": "ana@...", "signing_url": "https://app.simplifi.ro/signing-guest/..." },
               { "email": "dan@...", "signing_url": "https://app.simplifi.ro/signing-guest/..." } ] } }

Decision 1

Who runs the signing process

send_email: 1

Simplifi takes over

Simplifi emails each signer the invitation, hosts the signing and sends the completion notice. Your part ends with the call: wait for the document.completed webhook (or poll), then download the signed PDF and the Certificate of Completion.

Invitation
Simplifi emails the link, and the completion notice
Channel proof
the email link itself
After signing
Simplifi's completion page, or your return_url
Fits
you want to be done after one call

send_email: 0 (default)

You include signing in your own product

No email leaves Simplifi. The response gives you a signing_url per signer; show it as a button in your web or mobile app, send it in your own email or SMS. The signer signs on the Simplifi-hosted page and comes back to your return_url with a signed outcome, on the screen they left. No Simplifi emails, no create-an-account prompts.

Invitation
yours: app screen, email, SMS, push, deep link
Channel proof
an SMS code on the page (pass phone)
After signing
your return_url, with a signed outcome
Fits
the signer should never leave your product's flow

Decision 2

How each signer signs

A kind per signer; mix them on one document. Three signer types, not stages: pick the one that fits each person.

kind: simple

Simple signature

Anyone, no account. The signer opens the link, accepts the terms, confirms a one-time code and signs. Simplifi applies its qualified seal in the signer's name. For consents, acknowledgements, everyday agreements.

Signer needs
nothing
On the page
terms, verification code, signature
You get
eIDAS simple signature (SES); evidence sealed in the Certificate of Completion
You pay
one simple-signature envelope per pack, at completion

kind: qualified

Qualified signature, one-shot certificate

Anyone, no account. Same page, plus identity verification: ID document and a liveness selfie. A qualified certificate issued for this signing only signs the document. For contracts with someone you will not necessarily see again.

Signer needs
an ID document
On the page
terms, code, identity verification, signature
You get
eIDAS qualified signature (QES), handwritten-equivalent; identity data stays with Simplifi
You pay
one prepaid envelope per signer, at send

kind: account

Qualified signature, long-term certificate: your users' own

People you onboarded once (partner onboarding) hold a qualified certificate on their own Simplifi account. Two ways to sign: they open the link and log in, confirming with their authenticator app; or, once they have authorized your application (OAuth on your API client), your software performs the signing step through the API, authorized by their authenticator code. The same consent lets your software act for them: documents, inbox, retention.

Signer needs
their Simplifi account and certificate
Identity check
once, at onboarding; never repeated
You get
eIDAS qualified signature (QES) with the person's own certificate
You pay
one sponsored signing invitation per document, at send

Full details in the API documentation

Electronic signature integration, for any platform

The Simplifi eIDAS API covers the signing flows of applications that work with documents:

HR & recruiting

Employment contracts, addendums and personnel files signed at onboarding.

ERP & accounting

Supplier contracts and fiscal documents signed straight from the existing system.

Real estate

Pre-contracts, rental agreements and handover reports signed remotely.

Fintech & insurance

Client onboarding, policies and credit agreements with full legal value.

Healthcare

Patient consents and medical documents, signed at qualified level.

Marketplace & SaaS

Any platform that needs documents countersigned between its users.

Built for integration

eIDAS qualified, from a QTSP

Qualified signatures with the same legal value as handwritten ones across the EU, issued by a supervised Qualified Trust Service Provider.

OAuth2 + REST

Standard OAuth2 authentication, JSON in, JSON out, no mandatory proprietary SDKs.

Signed webhooks

document.signer.signed, document.completed, document.rejected, plus balance alerts. Every delivery is signed with HMAC-SHA256.

OpenAPI 3.1 spec

The complete API specification is public: generate clients and tests straight from it.

Postman collection

A personalized Postman environment and code samples in the in-app developer portal.

Test environment

Test your integration end-to-end in the development environment (app.dev.simplifi.ro) before going to production.

Download the OpenAPI 3.1 specOpen the Postman collectionCode samples on GitHub

API frequently asked questions

Can I integrate signing directly into my platform, without the signer leaving it?

Yes. Send the document with send_email: 0 (the default): no email leaves Simplifi, you get a signing_url per signer and you show it in your own app or send it over your own channel. The signer signs on the Simplifi-hosted page and comes back to your return_url with a signed outcome. For users you have onboarded (kind: account), your software can even perform the signing step itself through the API, once the user has authorized your application via OAuth.

What is the difference between a simple and a qualified signature?

A simple signature (SES) needs no account and no identity verification: the signer confirms a one-time code and signs, and Simplifi seals the evidence in the Certificate of Completion. A qualified signature (QES) has the same legal value as a handwritten one across the EU and requires verifying the signer's identity, either on the spot (ID document and selfie, for a certificate issued for that signing only) or once at onboarding, for users with their own certificate. In the API you pick the level per signer, via kind, and you can mix them on one document.

How much does using the API cost?

API usage is part of your regular subscription: the same credits and the same prices as the web app, whatever the signer kind. A simple signature consumes one simple-signature envelope per pack, at completion; a one-shot qualified certificate, one prepaid envelope per signer, at send; a signer with their own account, one sponsored signing invitation per document, at send. There is no API fee, no separate subscription and no API premium. If your balance runs out, the API returns a stable insufficient_*_balance error you can handle in your application.

Do I need approval to start?

No. A company admin creates the API client in the app, under API Settings, and gets the credentials on the spot. There is nothing to apply for and nobody to wait on.

Do my recipients need a Simplifi account?

No, unless you choose that. With kind: simple and kind: qualified the signer opens the link and signs without any account: for a simple signature they confirm a one-time code, for a qualified one they also go through identity verification (ID document and selfie) and a qualified certificate issued for that signing only signs the document. Only kind: account requires a Simplifi account with its own qualified certificate, for users you onboarded once through partner onboarding.

Is there a test environment?

Yes. You can test your integration against the development environment: the app runs at app.dev.simplifi.ro, the API and its docs at api.dev.simplifi.ro. Production uses api.simplifi.ro, with the same APIs.

Are there rate limits?

Yes, and they are published in the API documentation: 1800 requests per minute for integration tokens and 600 requests per minute for user tokens. Generous limits for typical document workflows.

Make your first call today

The documentation is public, the credentials are self-service, and the costs are per use. From zero to an authenticated call in three steps.

Technical questions? Write to us at easy@simplifi.ro.