Skip to main content
POST
Send a contract

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

verification_id
string<uuid>
required

Body

application/json

What sending a contract takes: which one, the values you set, and a note of your own.

contract_workflow
string
required

The contract workflow to send, one of those the verification's version offers.

Maximum string length: 64
Pattern: ^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$
values
Values · object

A value for each variable the offer leaves to you, by its name in open: every one of them, except on a contract filled from a form, which needs only those its form requires and one of each group its preview names in required_one_of. A value of nothing but spaces counts as not given. One named in dates is a date as YYYY-MM-DD, which the contract prints as 12 April 2100. The verification fills in the rest, and naming one of those is refused.

note
string | null

Your own words about this contract, for whoever reads it after you. Fixed once sent, and deleted with everything the user provided once the verification expires or you purge it.

Required string length: 1 - 1000
stamp_paper
StampPaperUpload · object | null

The stamp paper the contract goes out with, on a verification whose version has features.stamp_paper on, and refused on any other. The contract opens with it as its first page, turned the way up it is viewed, fitted to an A4 page, and marked with what it goes with, in the wording and at the place your workflow is set up with.

Leave it out to send again the stamp paper the last contract of this contract workflow on the verification went with, which the preview's stamp_paper.last_sent names. A stamp paper is good for one contract, so a file identical to one that went with any signed contract of yours is refused, given again or left out, including once that contract's verification has expired or been purged.

Response

The contract already out, as this send asked again.

One contract sent on a verification, as it stands.

id
string<uuid>
required

The contract's id.

verification_id
string<uuid>
required

The verification it was sent on.

run
integer
required

Which run of the verification it was sent on: 1 for the first, one more after each reset. A run is signed on its own contracts alone, so one sent before a reset counts for nothing after it.

Required range: x >= 1
contract_workflow
string
required

The contract workflow it was drawn up from.

name
string
required

What its signers were sent it called.

status
enum<string>
required

pending while it is with its signers; withdrawing once you asked for it back, until it is taken back, which waits while a signer is part way through signing and in which time it can still be signed; signed once every signer has signed and its signed document is kept; expired once its signing links ran out first; failed once a signer ran out of attempts at the Aadhaar checks; withdrawn once it was taken back. Every status but pending and withdrawing is final.

Available options:
pending,
withdrawing,
signed,
withdrawn,
expired,
failed
sent_at
string<date-time>
required

When it was sent.

expires_at
string<date-time>
required

When its signing links stop working, if it is not signed first.

withdrawal_asked_at
string<date-time> | null
required

When it was asked to be withdrawn: by you, by rejecting or resetting its verification, or by its verification expiring. Null where it never was. A contract asked to be withdrawn can still end signed, where its signers finished first.

settled_at
string<date-time> | null
required

When it reached its final status. Null while it is out.

values
Values · object | null
required

Every value of its template, as sent: the ones the verification filled in and the ones you set. A contract drawn from a form records each input it was filled with: text as given, an address on one line, and anything else, such as a number, its nominees or a yes or no, as JSON. Null once the verification has expired.

note
string | null
required

Your note, as sent. Null where you wrote none, and once the verification has expired.

signers
ContractSignerRecord · object[] | null
required

Everyone who signs it, in the order they sign. Null once the verification has expired.

stamp_paper
StampPaperRecord · object | null
required

The stamp paper it went with, as you sent it, held for you to download. Null on a workflow without stamp paper, and once the verification has expired.

sent_document
KeptFileRecord · object | null
required

The contract as it went to its signers, held for you to download, with the hash to check a download against. Null until the contract is first read, which follows the send within moments and at most a few minutes, and once the verification has expired.

signed_files
SignedFilesRecord · object | null
required

Its signed document and audit certificate, held for you to download, each with the hash to check a download against. Null until it is signed, and once the verification has expired.

callback
CallbackRecord · object | null
required

How the callback its final status owes you ended: contract.signed, contract.expired, contract.failed or contract.withdrawn. Null until it settles, and on every contract of a workflow with no callback endpoint registered.