SnozeDevelopers
API referenceDatabases

Preview a field type conversion

Runs the same conversion matrix the field update uses and returns the resulting plan: whether the pair of kinds is supported, how many values stay clean, are coerced, are narrowed or are dropped, the options it would mint, sample rows, and side effects such as view rules or formulas that would break. Nothing is written. Requires the `databases:write` permission.

POST
/v1/workspaces/{workspaceId}/databases/{databaseId}/fields/{fieldId}/conversion/preview

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
fieldId*string

Request Body

application/json
  1. body
kind*FromKind
Value in"text""long_text""number""rating""date""select""multi_select""status""checkbox""url""email""phone""user""file""place""json""created_at""created_by""updated_at""updated_by""unique_id""formula""relation""rollup""time_tracking""button"
options?array<>|null
settings?|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.snoze.dev/v1/workspaces/string/databases/string/fields/string/conversion/preview' \  -H 'Content-Type: application/json' \  -d '{  "kind": "text"}'
Example Response
{  "data": {    "fieldId": "string",    "fromKind": "text",    "toKind": "text",    "supported": true,    "lossy": true,    "total": 0,    "clean": 0,    "coerced": 0,    "narrowed": 0,    "dropped": 0,    "mintedOptions": [      {        "key": "string",        "name": "string",        "color": "string",        "recordCount": 0      }    ],    "warnings": [      {        "kind": "view_rule",        "label": "string",        "detail": "string"      }    ],    "samples": [      {        "recordId": "string",        "recordTitle": "string",        "outcome": "clean",        "before": "string",        "after": "string"      }    ]  }}