API applications API
Embedded branding and callback configuration for partner applications.
Updated
On this page
7 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
/api_applications/{id}Get an API application - PATCH
/api_applications/{id}Update an API application - DELETE
/api_applications/{id}Delete an API application - GET
/api_applicationsList API applications - POST
/api_applicationsCreate an API application - POST
/api_applications/{id}/logoUpload an application logo - DELETE
/api_applications/{id}/logoRemove an application logo
GET /api_applications/{id}
Get an API application
Branding and callback configuration for an embedded partner application.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Path parameters
| Name | Type | Description |
|---|---|---|
id | string (uuid) | The API application's id. |
Responses
| Status | Description |
|---|---|
200 | The API application. |
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.… |
404 | No such record for this workspace. Signclad never answers 404 for a record that exists: a 404 is authoritative. |
429 | Rate limited. The message contains the literal 429 Too Many Requests for compatibility with clients that match on it.… |
Example request
curl -X GET https://api.signclad.com/api/v1/api_applications/{id} \
-H "X-Api-Key: $SIGNCLAD_API_KEY" Example response (200)
{
"id": "5c1d9e7f-2a3b-4c5d-8e9f-0a1b2c3d4e5f",
"name": "Acme Lending portal",
"callback_urls": [
"https://portal.acme.example/signclad/callback"
],
"primary_color": "#1F6FEB",
"button_text_color": "#FFFFFF",
"link_text_color": "#1F6FEB",
"buttons_border_radius": 8,
"custom_logo_file": "https://files.signclad.com/branding/acme-logo.png",
"owner": {
"id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
"name": "Bryce Matheson",
"email": "[email protected]"
},
"created_at": "2026-04-02T08:15:00Z",
"updated_at": "2026-08-20T14:03:22Z"
} PATCH /api_applications/{id}
Update an API application Extension
Only the keys present change; a key present and null clears it. Colours are hex, origins
are scheme-and-host, and default_webhook_id must name an endpoint in this workspace.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Path parameters
| Name | Type | Description |
|---|---|---|
id | string (uuid) | The API application's id. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
button_text_color | string or null | Optional | |
buttons_border_radius | integer or null | Optional | |
callback_urls | array of string | Optional | Origins — scheme and host only, no path. Normalized on write. |
default_webhook_id | string or null | Optional | Must name a webhook endpoint in this workspace. |
link_text_color | string or null | Optional | |
name | string | Optional | |
primary_color | string or null | Optional |
Responses
| Status | Description |
|---|---|
200 | The updated application. |
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.… |
404 | No such record for this workspace. Signclad never answers 404 for a record that exists: a 404 is authoritative. |
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/api_applications/{id} \
-H "X-Api-Key: $SIGNCLAD_API_KEY" DELETE /api_applications/{id}
Delete an API application
API applications are created in the web app; there is no create endpoint. Deleting one detaches it from its documents and stops its embedded pages from loading.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Path parameters
| Name | Type | Description |
|---|---|---|
id | string (uuid) | The API application's id. |
Responses
| Status | Description |
|---|---|
204 | Deleted. |
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.… |
404 | No such record for this workspace. Signclad never answers 404 for a record that exists: a 404 is authoritative. |
429 | Rate limited. The message contains the literal 429 Too Many Requests for compatibility with clients that match on it.… |
Example request
curl -X DELETE https://api.signclad.com/api/v1/api_applications/{id} \
-H "X-Api-Key: $SIGNCLAD_API_KEY" GET /api_applications
List API applications Extension
Every application in the workspace, newest first. A real cursor page like the other
lists: follow next_cursor while has_more is true. Workspaces hold a handful of
applications, so a second page is rare — but a client that follows the cursor gets one
rather than looping.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | Optional | Opaque cursor from a previous response's next_cursor. |
limit | integer | Optional | Items per page. |
Responses
| Status | Description |
|---|---|
200 | The applications. |
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/api_applications \
-H "X-Api-Key: $SIGNCLAD_API_KEY" POST /api_applications
Create an API application Extension
Branding and embed configuration for a partner integration. callback_urls entries are
origins — scheme and host, no path — and are normalized on write.
There is no embed allowlist to configure. An embedded page addresses its host using the
origin the browser reports for the host's own first message, so any page holding a valid
embed link works with no setup.
- 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 | |
callback_urls | array of string | Optional | Origins — scheme and host only, no path. Normalized on write. |
default_webhook_id | string or null | Optional | Must name a webhook endpoint in this workspace. |
link_text_color | string or null | Optional | |
name | string | Optional | |
primary_color | string or null | Optional |
Responses
| Status | Description |
|---|---|
201 | The application. |
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/api_applications \
-H "X-Api-Key: $SIGNCLAD_API_KEY" POST /api_applications/{id}/logo
Upload an application logo Extension
PNG, JPEG, WebP, or GIF, up to 2 MB. SVG is deliberately refused — it is a script vector, and this image is rendered inside other people's pages.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Path parameters
| Name | Type | Description |
|---|---|---|
id | string (uuid) | The API application's id. |
Request body
multipart/form-data
| Property | Type | Required | Description |
|---|---|---|---|
logo | string (binary) | Required |
Responses
| Status | Description |
|---|---|
201 | The application, 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.… |
404 | No such record for this workspace. Signclad never answers 404 for a record that exists: a 404 is authoritative. |
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/api_applications/{id}/logo \
-H "X-Api-Key: $SIGNCLAD_API_KEY" DELETE /api_applications/{id}/logo
Remove an application logo Extension
Falls back to the workspace's logo, then to none.
- Base URL
https://api.signclad.com/api/v1- Authentication
- API key or Session
Path parameters
| Name | Type | Description |
|---|---|---|
id | string (uuid) | The API application's id. |
Responses
| Status | Description |
|---|---|
200 | The application, without a logo. |
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.… |
404 | No such record for this workspace. Signclad never answers 404 for a record that exists: a 404 is authoritative. |
Example request
curl -X DELETE https://api.signclad.com/api/v1/api_applications/{id}/logo \
-H "X-Api-Key: $SIGNCLAD_API_KEY"