Electronic signature API with video evidence and blockchain

Add legal signing to your SaaS, ERP, or marketplace in hours. Simple REST API, real-time webhooks, optional video evidence, and immutable registration on the Avalanche blockchain. Compliant with Law 527 (Colombia) and equivalent regulations across Latin America.

Main endpoints

The API exposes a focused set of REST endpoints, enough to cover the full contract lifecycle. Base URL: https://api.validocus.com/v1

POST /v1/contracts

Creates a signable contract. Accepts the PDF (URL or base64), the ordered list of signers, video-evidence options, and a callback URL. Returns the contract_id.

GET /v1/contracts/{id}

Contract status: list of signers, who has already signed, timestamps, current hash, blockchain tx hash once complete.

GET /v1/contracts/{id}/document

Downloads the final signed PDF (binary application/pdf) with all signatures embedded. Only available when the contract is in the completed state.

GET /v1/contracts/{id}/evidence

Evidentiary certificate: SHA-256 hash, blockchain tx, video URLs per signer, IPs, timestamps, user agents. For your legal archive or audit.

POST /v1/contracts/{id}/cancel

Cancels a contract in progress. Pending signers can no longer sign. Useful when a deal falls through or gets renegotiated.

Webhooks: real-time notifications

Instead of polling to know whether a contract has been signed, Validocus notifies you with outbound webhooks. You configure an HTTPS URL in the panel and receive POSTs with events: contract.created, signer.viewed, signer.signed, contract.completed, contract.rejected.

Authentication and signed webhooks

Authentication uses Bearer tokens issued from the admin panel. Each API key has configurable scopes (read-only, contracts.write, webhooks.manage) and can be revoked at any time without downtime. Requests travel over HTTPS with TLS 1.3 minimum.

Outbound webhooks are signed with HMAC-SHA256. The X-Validocus-Signature header contains the hex digest your endpoint must verify against a shared secret to discard forged requests.

Use cases

B2B SaaS with contractual onboarding

Your SaaS requires the customer to sign an MSA or specific terms before activating the account. You call /contracts and the customer receives the signable contract without leaving your signup UX. A webhook activates the account when they sign.

ERP and HRIS systems

When a new employee is created in the HRIS, your workflow generates an employment contract from a template, sends it to Validocus, collects the signature, and automatically files the signed PDF in the employee's digital record.

Marketplaces and multi-sided platforms

Professional services marketplace, freelance platform, P2P lending fintech: each match between supply and demand generates a contract that must be signed before the service is delivered or funds are disbursed.

Fintech APIs and financial services

Account openings, credit contracts, electronic promissory notes, direct-debit authorizations. SARLAFT compliance with video evidence of the customer declaring source of funds. Auditable and verifiable.

How does it work?

  1. 1

    Create a Validocus account and generate an API key from the admin panel with the scopes you need.

  2. 2

    Your backend calls POST /v1/contracts with the PDF and signers — Validocus creates the contract and sends invitations by email.

  3. 3

    Each signer opens the link in a browser, signs from a phone or desktop, and optionally records video evidence.

  4. 4

    Validocus generates the SHA-256 hash of the final signed PDF and registers it on the Avalanche blockchain. It sends a webhook to your backend.

  5. 5

    Your backend receives the contract.completed webhook, calls GET /v1/contracts/{id}/document, files the signed PDF, and runs your business logic (activate account, disburse, grant access, etc.).

Frequently asked questions

What does the Validocus API do?

It lets you create signable contracts programmatically from your system (SaaS, ERP, HRIS, fintech, marketplace). Your backend POSTs a PDF and signers, Validocus sends the invitations, collects signatures with optional video evidence, registers the hash on the Avalanche blockchain, and notifies you via webhook when everyone has signed. Your code doesn't worry about displaying the PDF or capturing the signature — Validocus' browser frontends handle all of that.

What type of authentication does it use?

Bearer tokens issued from the admin panel. Each account can generate multiple API keys with different scopes (read-only, contracts.write, webhooks.manage). Requests are made over HTTPS with the Authorization: Bearer <token> header. Outbound webhooks are signed with HMAC-SHA256 so you can validate the notification came from Validocus and not from an attacker.

How do I get notified when a contract is signed?

Through outbound webhooks. You configure an HTTPS URL in the panel and Validocus POSTs to that URL at every lifecycle event: contract.created, signer.viewed, signer.signed, contract.completed, contract.rejected, contract.expired. The payload includes the contract ID, signer ID, timestamp, and current document hash. If your endpoint returns an error or doesn't respond, we retry with exponential backoff for up to 24 hours.

Are there official SDKs?

We provide ready-to-use integration examples for Node.js (axios/fetch), Python (requests), PHP (Guzzle/cURL), and Go (net/http). It isn't an SDK with many layers — they are recipes and snippets that sit directly on top of the REST API and that you can copy and adapt. For more complex integrations (orchestrating bulk imports, dead-letter retries, advanced idempotency) our DevRel team supports technical onboarding free of charge.

Can I customize the signing flow?

Yes. The API supports: sequential or parallel signing order, mandatory or optional video evidence per signer, custom redirect URL after signing (so the user returns to your app), customized email templates, and color and logo branding. For high-volume contracts you can also pre-fill PDF fields (name, ID, date) using a placeholder system during generation.

How much does the API cost?

You can start with a 30-day free trial with no credit card required. After that you have plans based on monthly contract volume. For integrators with high volume or specific needs (dedicated SLA, priority support, separate sandbox environment) we have Enterprise plans with custom terms — contact us.

Start integrating in minutes

30-day free trial. No credit card required.

Get API key