Inklok Docs

Quick Start

Create your first agreement with the public Inklok API.

What you'll build

In about 10 minutes, you will authenticate, prepare a document, create a template, create an agreement, start signing, and monitor progress.

Prerequisites

Get API Access

To begin building with Inklok:

  1. Create an Inklok account.
  2. Create or access an organization.
  3. Generate an API key from Organization Settings.
  4. Use the API key from your server-side application.

Protect your API keys

  • Never expose API keys in browser code.
  • Store API keys using secure secret storage.
  • Use separate credentials for development and production.

Step 1: Authenticate

API keys authenticate server-to-server requests. Keep them on your server, store them securely, and send the key in the Authorization header.

Base URL: https://api.inklok.com
Authorization: Bearer <INKLOK_API_KEY>
curl https://api.inklok.com/v1/agreements \
  -H "Authorization: Bearer ink_live_v1__YOUR_API_KEY"

Step 2: Prepare a document

Create the document resource your template will use.

POST /v1/documents
Authorization: Bearer <INKLOK_API_KEY>
Content-Type: application/json

{
  "name": "Mutual NDA"
}

Step 3: Upload the document

Upload the document file to finalize it for template and agreement use.

POST /v1/documents/{documentId}/upload
Authorization: Bearer <INKLOK_API_KEY>
Content-Type: application/pdf

<PDF bytes>

Step 4: Create and publish a template

Create a reusable template from the document, then publish it before creating agreements.

POST /v1/documents/{documentId}/templates
Authorization: Bearer <INKLOK_API_KEY>
Content-Type: application/json

{
  "name": "Mutual NDA"
}
POST /v1/templates/{workflowId}/publish
Authorization: Bearer <INKLOK_API_KEY>

Step 5: Create an agreement

Create an agreement from the published template and provide the recipient details.

POST /v1/templates/{workflowId}/agreements
Authorization: Bearer <INKLOK_API_KEY>
Content-Type: application/json

{
  "title": "Mutual NDA for Acme",
  "participants": [
    { "party_id": "signer", "email": "customer@example.com" }
  ]
}

Step 6: Start signing and monitor progress

Send a signing reminder when a participant needs a fresh notification. Poll the agreement and agreement events endpoints to monitor progress.

POST /v1/agreements/{executionId}/participants/{partyId}/renotify
Authorization: Bearer <INKLOK_API_KEY>
GET /v1/agreements/{executionId}
GET /v1/agreements/{executionId}/events