SnozeDevelopers
API referenceDatabases

Add a button to a database

Defines a button that runs a workspace action against a record, with optional argument bindings, a confirmation prompt and a `visibleWhen` formula that decides per record whether it is offered. Requires the `databases:write` permission and rejects a missing label, an action that is not usable in this workspace, or a formula that does not parse. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.

POST
/v1/workspaces/{workspaceId}/databases/{databaseId}/buttons
AuthorizationBearer <token>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

In: header

Path Parameters

workspaceId*string
databaseId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/workspaces/string/databases/string/buttons" \  -H "Content-Type: application/json" \  -d '{    "label": "string",    "actionId": "string"  }'
{  "data": {    "id": "string",    "workspaceId": "string",    "databaseId": "string",    "label": "string",    "icon": "string",    "variant": "primary",    "actionId": "string",    "bindings": [      {        "inputPath": "string",        "source": "record_id"      }    ],    "confirmation": {      "title": "string",      "body": "string",      "confirmLabel": "string"    },    "placements": [      "record"    ],    "visibleWhen": "string",    "enabled": true,    "order": 0,    "createdAt": "string",    "updatedAt": "string"  }}