Branding API
Workspace branding and API application branding — the same three layers, two surfaces.
Updated
3 operations, generated from
openapi/signclad.v1.yaml. Try them in the
interactive reference, browse
every endpoint group, or read the
guides for the prose version.
- GET
/workspace/brandingGet workspace branding - PATCH
/workspace/brandingUpdate workspace branding - POST
/workspace/branding/logoUpload the workspace logo
GET /workspace/branding
Get workspace branding Extension
The layer under an API application: the logo, the "from" name, the email signature, the
colours, and the sending defaults an omitted create-body key inherits.
resolved is what an embedded page or an email will actually use once the API application,
the workspace, and the built-in defaults have been resolved in that order — and source
says which of the three won. The configured half is nullable; resolved never is.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or OAuth 2.1 access token or Session
Responses
| Status | Description |
|---|---|
200 | The branding. |
401 | Missing or invalid credentials. Unauthenticated requests are rate limited at 50 per minute.… |
403 | Authenticated, but not allowed to do this: an insufficient role, a credential type the route refuses, or a signer acting out of turn. meta.error always says which.… |
Example request
curl -X GET https://api.signclad.com/api/v1/workspace/branding \
-H "X-Api-Key: $SIGNCLAD_API_KEY" PATCH /workspace/branding
Update workspace branding Extension
Only the keys present change; a key present and null clears it. email_signature is
sanitized on the way in, so what comes back may not be byte-identical to what was sent.
Requires manage_settings.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
button_text_color | string or null | Optional | |
buttons_border_radius | integer or null | Optional | |
email_signature | string or null | Optional | |
from_name | string or null | Optional | |
link_text_color | string or null | Optional | |
logo_file_id | string or null | Optional | |
logo_size | integer or null | Optional | How tall the logo renders, in pixels, on every surface that shows it at full size. null restores the built-in 32. |
primary_color | string or null | Optional | |
sending_defaults | object | Optional | What a create body inherits when it does not say. All seven keys are always present on the way out, and null means "no workspace default, use the built-in one".… |
show_signclad_promotion | boolean or null | Optional | false hides the Signclad sign-off on the completion screen. null clears the choice, which is the same as true. Refused with the rest of the body below the Business plan, where branding is not available. |
Responses
| Status | Description |
|---|---|
200 | The updated branding. |
401 | Missing or invalid credentials. Unauthenticated requests are rate limited at 50 per minute.… |
403 | Authenticated, but not allowed to do this: an insufficient role, a credential type the route refuses, or a signer acting out of turn. meta.error always says which.… |
422 | Validation failed. errors maps a field name to a message string, or to an object keyed by an error code or by a per-item key. Values are never arrays. |
Example request
curl -X PATCH https://api.signclad.com/api/v1/workspace/branding \
-H "X-Api-Key: $SIGNCLAD_API_KEY" POST /workspace/branding/logo
Upload the workspace logo Extension
The same rules as an application logo — PNG, JPEG, WebP, or GIF, up to 2 MB, and no SVG.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Request body
multipart/form-data
| Property | Type | Required | Description |
|---|---|---|---|
logo | string (binary) | Required |
Responses
| Status | Description |
|---|---|
201 | The branding, with its new logo URL. |
401 | Missing or invalid credentials. Unauthenticated requests are rate limited at 50 per minute.… |
403 | Authenticated, but not allowed to do this: an insufficient role, a credential type the route refuses, or a signer acting out of turn. meta.error always says which.… |
422 | Validation failed. errors maps a field name to a message string, or to an object keyed by an error code or by a per-item key. Values are never arrays. |
Example request
curl -X POST https://api.signclad.com/api/v1/workspace/branding/logo \
-H "X-Api-Key: $SIGNCLAD_API_KEY"