Zign v1 API Documentation

Complete guide for developers to programmatically automate e-signatures, document tracking, and envelopes using NRKGo Zign.

Overview

The Zign REST API enables developers to automate signing workflows directly from code, scripts, or external systems without human UI intervention.

Step 1: Where to Create Your API Key

API keys are securely generated from your personal NRKGo Account portal.

1
Open Account Portal Go to accounts.nrkgo.com and sign in.
2
Navigate to Security Settings In the left sidebar, click Security or open directly:
👉 https://accounts.nrkgo.com/security
3
Generate API & AI Key Under the API & AI Keys section, click the + Generate New Key button.
4
Assign Scope & Copy Token Select the zign:* scope (or All Scopes) and save. Copy the generated key token (starts with nrk_live_...). Store it securely; it will not be shown again.

Base URL

All v1 API requests must target the dedicated production API gateway:

BASE URL https://api.nrkgo.com

Authentication

Authenticate your HTTP requests by providing your API key using either of the two supported headers:

Header TypeHeader FormatExample
Custom Header (Recommended)X-API-KEY: <TOKEN>X-API-KEY: nrk_live_9a8b7c6d5e...
Authorization HeaderAuthorization: Bearer <TOKEN>Authorization: Bearer nrk_live_9a8b7c6d5e...

Endpoints Reference

GET /api/v1/zign/sign-requests List sign envelopes

Retrieve all signing envelopes belonging to your organization.

Query ParameterTypeRequiredDescription
org_idintegerYesID of your organization.
pageintegerNoPage number for pagination (starts at 1).
sizeintegerNoNumber of items per page (default: 10).
cURL Request
curl -X GET "https://api.nrkgo.com/api/v1/zign/sign-requests?org_id=1&page=1&size=10" \
  -H "X-API-KEY: nrk_live_xxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"
200 OK Response
{
  "success": true,
  "message": "Envelopes fetched successfully",
  "data": [
    {
      "id": 104,
      "orgId": 1,
      "name": "Vendor NDA Agreement",
      "subject": "Please review and sign NDA",
      "status": "PENDING",
      "trackingId": "e32049b1-5079-4a94-9844-32d847fe90aa",
      "expiryDays": 15,
      "createdTime": 1740000000000
    }
  ]
}
GET /api/v1/zign/sign-requests/{envelopeId} Deep inspect envelope

Get full details for an envelope including recipients, placement fields, and documents.

cURL Request
curl -X GET "https://api.nrkgo.com/api/v1/zign/sign-requests/104" \
  -H "Authorization: Bearer nrk_live_xxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"
200 OK Response
{
  "success": true,
  "message": "Envelope fetched successfully",
  "data": {
    "envelope": {
      "id": 104,
      "name": "Vendor NDA Agreement",
      "status": "PENDING",
      "trackingId": "e32049b1-5079-4a94-9844-32d847fe90aa"
    },
    "documents": [
      {
        "id": 45,
        "fileName": "nda_contract.pdf",
        "pageCount": 3
      }
    ],
    "recipients": [
      {
        "id": 88,
        "name": "Jane Doe",
        "email": "[email protected]",
        "role": "signer",
        "status": "sent"
      }
    ],
    "fields": [
      {
        "id": 201,
        "pageNumber": 1,
        "x": 120.5,
        "y": 450.0,
        "width": 140.0,
        "height": 45.0,
        "recipientId": 88
      }
    ]
  }
}
POST /api/v1/zign/sign-requests Create envelope draft

Create a draft envelope with attached documents, signers, and signature field coordinates.

cURL Request
curl -X POST "https://api.nrkgo.com/api/v1/zign/sign-requests" \
  -H "X-API-KEY: nrk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "orgId": 1,
    "name": "Partnership Agreement",
    "subject": "Signature needed for Partnership Agreement",
    "message": "Please review and sign the attached document.",
    "documentIds": [45],
    "recipients": [
      {
        "name": "Alice Smith",
        "email": "[email protected]",
        "role": "signer",
        "signingOrder": 1
      }
    ]
  }'
200 OK Response
{
  "success": true,
  "message": "Envelope with documents, recipients and fields created successfully",
  "data": {
    "envelope": {
      "id": 105,
      "orgId": 1,
      "name": "Partnership Agreement",
      "status": "DRAFT",
      "trackingId": "b182cb01-19ce-445e-884d-2a78129eac11"
    }
  }
}
POST /api/v1/zign/documents/upload Upload PDF document

Upload a raw PDF document to obtain a document_id for your envelopes.

cURL (Multipart Upload)
curl -X POST "https://api.nrkgo.com/api/v1/zign/documents/upload?org_id=1" \
  -H "X-API-KEY: nrk_live_xxxxxxxxxxxxxxxx" \
  -F "file=@/path/to/contract.pdf"
200 OK Response
{
  "success": true,
  "message": "Independent document uploaded successfully",
  "data": {
    "id": 46,
    "fileName": "contract.pdf",
    "pageCount": 2,
    "filePath": "https://api.nrkgo.com/api/v1/drive/public/..."
  }
}
GET /api/v1/zign/dashboard/stats Organization signature metrics

Retrieve counts of pending, completed, draft, and expired envelopes.

cURL Request
curl -X GET "https://api.nrkgo.com/api/v1/zign/dashboard/stats?org_id=1" \
  -H "X-API-KEY: nrk_live_xxxxxxxxxxxxxxxx"
200 OK Response
{
  "success": true,
  "message": "Dashboard statistics fetched successfully",
  "data": {
    "pending": 5,
    "completed": 28,
    "draft": 2,
    "expired": 1,
    "templates": 4
  }
}
```