REST API reference

Reference8 min read

Base URL: https://notriv.com/api/v1. Send your key as Authorization: Bearer nrv_.... Requests and responses are JSON. Creating envelopes and templates also accepts multipart/form-data so you can upload a PDF.

ResourceEndpoints
EnvelopesCreate, list, get, send, void, remind, signing link, files
TemplatesCreate, list, get, update, delete, file
Webhook endpointsCreate, list, get, update, delete
EventsList, get
Account and balanceWho a key belongs to, signatures left
Test helpersSign for everyone (test mode only)

Envelopes

Create an envelope

POSThttps://notriv.com/api/v1/envelopes

Creates an envelope from a template or a PDF and sends it, unless send is false. Returns 201 with the envelope.

NameRequiredTypeDescription
signersTruearray | objectA list [{ name, email, role?, order? }], or an object keyed by role { client: { name, email } }. Up to 10.
templateFalsestringA template ID. Send this or a file.
fileFalsefileThe PDF, as a multipart part named file. Up to 25 MB and 200 pages.
file_base64FalsestringThe PDF as base64 in a JSON request, with file_name.
dataFalseobjectValues for data fields, e.g. { "purchase_price": "$250,000" }. Unknown names are rejected.
fieldsFalsearrayExact field positions for a PDF. See Place fields.
signature_pageFalsebooleanAdd a signature page when the PDF has no signature fields.
signing_orderFalsebooleanSigners sign one after another. Default false.
deliveryFalsestringemail (default) or embedded.
nameFalsestringEnvelope name. Defaults to the template or file name.
subjectFalsestringEmail subject for signers.
messageFalsestringMessage shown in the signing email.
sendFalsebooleanDefault true. false creates a draft.
expires_in_daysFalseinteger1 to 90. Signing links stop working after this.
metadataFalseobjectUp to 20 string keys of your own. Returned on every read and webhook.

In multipart requests, send objects as JSON strings, or put every parameter in one part named payload.

List envelopes

GEThttps://notriv.com/api/v1/envelopes
NameRequiredTypeDescription
limitFalseinteger1 to 100. Default 10.
starting_afterFalsestringAn envelope ID. Returns the page after it.
templateFalsestringOnly envelopes made from this template.
{ "object": "list", "url": "/v1/envelopes", "has_more": true, "data": [ { "id": "env_...", ... } ] }

Get an envelope

GEThttps://notriv.com/api/v1/envelopes/{id}

Returns the envelope object.

Send a draft

POSThttps://notriv.com/api/v1/envelopes/{id}/send

Sends an envelope created with send: false. In live mode this uses one signature from your plan.

Void an envelope

POSThttps://notriv.com/api/v1/envelopes/{id}/void
NameRequiredTypeDescription
reasonFalsestringShown to signers. Defaults to “Voided via API”.

Completed envelopes can't be voided.

Remind signers

POSThttps://notriv.com/api/v1/envelopes/{id}/remind

Emails every signer who can sign now. Each signer is reminded at most once an hour. Returns the signers reminded and skipped.

Get a signing link

POSThttps://notriv.com/api/v1/envelopes/{id}/signing_url
NameRequiredTypeDescription
signerFalsestringA role (client) or signer ID. Optional if only one signer is left.
{ "object": "signing_url", "signer": "sgn_...", "role": "client", "url": "https://notriv.com/sign/...", "expires_at": "2026-10-27T15:04:06.000Z" }

Download files

GEThttps://notriv.com/api/v1/envelopes/{id}/files/{kind}

kind is signed, audit_trail or original. Returns a download link valid for 5 minutes. Signed and audit trail files exist once the envelope is completed.

Templates

Create a template

POSThttps://notriv.com/api/v1/templates
NameRequiredTypeDescription
nameTruestringTemplate name.
fileTruefileThe PDF with tags or form fields (or file_base64 + file_name in JSON).
fieldsFalsearrayExact field positions, instead of tags.
rolesFalsearraySigner roles in signing order. Defaults to the order they appear.
descriptionFalsestringFor your team.

Other template endpoints

GEThttps://notriv.com/api/v1/templates
GEThttps://notriv.com/api/v1/templates/{id}
PATCHhttps://notriv.com/api/v1/templates/{id}
DELETEhttps://notriv.com/api/v1/templates/{id}
GEThttps://notriv.com/api/v1/templates/{id}/file

PATCH accepts name, description, roles, and fields: a list the same length as the template's fields, each with any of key, role, filled_by, required. DELETE archives the template; envelopes already sent are unaffected.

Webhook endpoints

POSThttps://notriv.com/api/v1/webhook_endpoints
NameRequiredTypeDescription
urlTruestringA public https:// URL.
eventsFalsearrayEvent types, or ["*"] for all. Default all.
descriptionFalsestringFor your team.

The response includes secret, shown only here. You can reveal it again in the dashboard.

GEThttps://notriv.com/api/v1/webhook_endpoints
GEThttps://notriv.com/api/v1/webhook_endpoints/{id}
PATCHhttps://notriv.com/api/v1/webhook_endpoints/{id}
DELETEhttps://notriv.com/api/v1/webhook_endpoints/{id}

Events

GEThttps://notriv.com/api/v1/events
NameRequiredTypeDescription
typeFalsestringOnly events of this type, e.g. envelope.completed.
limitFalseinteger1 to 100. Default 10.
starting_afterFalsestringAn event ID.
GEThttps://notriv.com/api/v1/events/{id}

Account and balance

GEThttps://notriv.com/api/v1/account

Returns the account and key a request is using, and whether it's live. Handy to check a key works.

GEThttps://notriv.com/api/v1/balance

Returns how many envelopes you can still send this period, and a link to buy more.

Test helpers

POSThttps://notriv.com/api/v1/test_helpers/envelopes/{id}/complete

Test keys only. Signs for every remaining signer, builds the real signed PDF and audit trail, and sends the signer_completed and completed webhooks.

Response headers

HeaderMeaning
Notriv-Request-IdUnique ID for this request. Quote it to support.
Notriv-Modetest or live
RateLimit-Limit / -Remaining / -ResetYour per-minute allowance and when it resets
Idempotent-Replayedtrue when a stored response was returned for a retried request
Was this page helpful?