SnozeDevelopers
API referenceDatabases

Update a button on a database

Changes the button's label, icon, variant, action, bindings, placements, confirmation, visibility formula, enabled flag or order; omitted properties keep their current values. Requires the `databases:write` permission and responds with not-found for an unknown button. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.

PATCH
/v1/workspaces/{workspaceId}/databases/{databaseId}/buttons/{buttonId}

Authorization

apiKey
headerAuthorizationBearer <snoze_sk_…>

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

Path Parameters

workspaceId*string
databaseId*string
buttonId*string

Request Body

application/json
  1. body
label?|null
icon?|null
variant?|null
actionId?string|null
bindings?array<|||>|null
confirmation?|null|null
placements?array<>|null
visibleWhen?|null|null
enabled?boolean|null
order?number|null
clientMutationId?string|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X PATCH 'https://api.snoze.dev/v1/workspaces/string/databases/string/buttons/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "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"  }}