Update signing profile
Creates or updates the client's signing profile. Provide a display name, signer email,
and optionally upload signature and initials image files. Existing images are replaced
when new files are uploaded.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Create or update your client's signing profile — the default signing identity (display name and signer email) and the signature and initials images applied when your client signs a document. If no profile exists yet it is created; otherwise the existing one is updated in place. Returns the saved profile.
This endpoint accepts multipart/form-data, not JSON, because it carries optional file uploads.
Authentication & access
- Requires a client API token:
Authorization: Bearer <token>. - The caller must hold the
contracts.signing_profile.writepermission and have the OWNER or OPERATIONS role. - Contract signing must be enabled for your client. If the feature is disabled the request returns
403.
Request body (multipart/form-data)
multipart/form-data)| Field | Type | Required | Notes |
|---|---|---|---|
display_name | text | yes | Display name shown on signed documents. Leading/trailing whitespace is trimmed. |
signer_email | text | yes | Email used for the client's signing identity. Stored trimmed and lower-cased. |
default_fields | text (JSON) | no | A JSON object of default field values pre-filled when the client signs. Must parse to a JSON object; anything else is rejected (400). Omitted or empty resets to {}. |
signature_file | file | no | Signature image to store on the profile. |
initials_file | file | no | Initials image to store on the profile. |
Image upload behavior
- A file field is only processed when a file is actually sent. Omitting
signature_fileorinitials_fileleaves the corresponding stored image unchanged. - Uploading a new file replaces the previously stored image of that kind; the old file is deleted.
- An uploaded file with empty contents is rejected (
400).
Response
200 — the upsert succeeded. The body is the full saved signing profile:
id,display_name,signer_emailsignature_file_id,initials_file_id— IDs of the stored images, ornullwhen none is setdefault_fields— the stored default field objectcreated_at,updated_at
Error responses
| Status | When |
|---|---|
400 | default_fields is not valid JSON or is not a JSON object; an uploaded signature_file or initials_file is empty |
403 | Contract signing is disabled for the client |
422 | Form validation failed (e.g. missing display_name or signer_email) |
500 | The profile could not be persisted |
Standard 401 (authentication), 403 (insufficient permission or role), and 429 (rate limit) responses apply to every endpoint and are documented in the Error reference.