Skip to main content
POST
Create a hosted signing session

Authorizations

Authorization
string
header
required

Your API key, e.g. Authorization: Bearer clmt_test_. Live keys use the clmt_live_ prefix.

Path Parameters

companyID
string
required

ID of the company.

Pattern: ^cmp_[0-9A-Za-z]{22}$

Body

application/json
requirement
string
required

The open signature requirement to mint a session for.

Pattern: ^rqmt_[0-9A-Za-z]{22}$
signer
string

Which signer this session is for, by email - each signer of a document gets their own session and signs independently. Required when the document has more than one signer. May be omitted when it has exactly one.

Maximum string length: 254
redirect_url
string<uri>

Where the signing page sends your client AFTER the signature completes - your own dashboard, a thank-you page. https only. Omitted, the page shows its neutral done state and the client closes it.

Maximum string length: 2048
embed_origin
string

Frame this session inside your own site: the exact https origin (for example https://app.yourbrand.com) the page will be embedded on. The origin must first be registered under your hosted page's embed_origins. Omit it for an ordinary full-page session - the page then refuses to be framed anywhere.

Maximum string length: 255

Response

The session.

A short-lived hosted signing session for one signature requirement. Create one when Clemta opens a signature ask (you hear requirement.created) and hand the URL to your client - they sign inside your branded hosted page, and nobody is emailed automatically - you control delivery. Sessions are repeatable. Mint another when one expires. When the document is signed the requirement resolves and you hear requirement.fulfilled.

object
enum<string>
required
Available options:
signing_session
company
string
required
Pattern: ^cmp_[0-9A-Za-z]{22}$
requirement
string
required
Pattern: ^rqmt_[0-9A-Za-z]{22}$
url
string
required

Where to send your client. The URL is the credential - treat it like a secret and pass it over a secure channel.

expires_at
string<date-time>
required
livemode
boolean
required