Preview vs. live endpointsEndpoints under
/k/v1/preview/... operate on the app’s draft settings — changes are not visible to end users until you call Deploy App Settings. Endpoints under /k/v1/app/... (without preview) return the currently live settings.After making changes via a preview endpoint, remember to deploy the app.Form fields
Get Form Fields — GET /k/v1/app/form/fields.json
Get Form Fields — GET /k/v1/app/form/fields.json
Returns field definitions for the live version of an app’s form. To retrieve draft (pre-deployment) fields, use
Each field definition object contains at minimum:
/k/v1/preview/app/form/fields.json instead.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
lang | String | No | Language code for field labels: en, zh, ja, user, or default. Defaults to default. |
Response properties
| Property | Type | Description |
|---|---|---|
properties | Object | A map of field codes to field definition objects. |
revision | String | The current revision number of the app settings. |
| Property | Type | Description |
|---|---|---|
type | String | The field type (e.g., SINGLE_LINE_TEXT, NUMBER, DATE). |
code | String | The unique field code. |
label | String | The field label displayed in the form. |
noLabel | Boolean | Whether the field label is hidden. |
required | Boolean | Whether the field is required. |
Examples
Sample response
Add Form Fields — POST /k/v1/preview/app/form/fields.json
Add Form Fields — POST /k/v1/preview/app/form/fields.json
Adds one or more fields to the draft version of the app form. Deploy the app to make changes live.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
properties | Object | Yes | A map of field codes to field definition objects. |
revision | Integer | No | The expected revision number. Use -1 to skip the check. |
Response properties
| Property | Type | Description |
|---|---|---|
revision | String | The new revision number after the change. |
Examples
Sample response
Update Form Fields — PUT /k/v1/preview/app/form/fields.json
Update Form Fields — PUT /k/v1/preview/app/form/fields.json
Updates properties of existing fields in the draft version of the app form. You cannot change a field’s
type or code. Deploy the app to make changes live.Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
properties | Object | Yes | A map of field codes to updated field definition properties. |
revision | Integer | No | The expected revision number. Use -1 to skip the check. |
Response properties
| Property | Type | Description |
|---|---|---|
revision | String | The new revision number after the change. |
Examples
Sample response
Delete Form Fields — DELETE /k/v1/preview/app/form/fields.json
Delete Form Fields — DELETE /k/v1/preview/app/form/fields.json
Deletes one or more fields from the draft version of the app form. Deploy the app to make changes live.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
fields | Array of strings | Yes | The field codes to delete. |
revision | Integer | No | The expected revision number. Use -1 to skip the check. |
Response properties
| Property | Type | Description |
|---|---|---|
revision | String | The new revision number after the change. |
Examples
Sample response
Form layout
Get Form Layout — GET /k/v1/app/form/layout.json
Get Form Layout — GET /k/v1/app/form/layout.json
Returns the layout information (row and field arrangement) for the live version of the app form. To retrieve the draft layout, use
/k/v1/preview/app/form/layout.json.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
Response properties
| Property | Type | Description |
|---|---|---|
layout | Array | List of layout row objects. |
layout[].type | String | Row type: ROW, SUBTABLE, or GROUP. |
layout[].fields | Array | Fields in the row, each with type, code, size (width/height). |
revision | String | The current revision number of the app settings. |
Examples
Sample response
Update Form Layout — PUT /k/v1/preview/app/form/layout.json
Update Form Layout — PUT /k/v1/preview/app/form/layout.json
Updates the layout of the app form in draft. Deploy the app to make changes live.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
layout | Array | Yes | The new layout. Each element represents a row with a type and a fields array. |
revision | Integer | No | The expected revision number. Use -1 to skip the check. |
Response properties
| Property | Type | Description |
|---|---|---|
revision | String | The new revision number after the change. |
Examples
Sample response
Deprecated
Get Form — GET /k/v1/form.json
Get Form — GET /k/v1/form.json
Returns both field definitions and layout information combined. A preview version is available at
/k/v1/preview/form.json.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
app | Integer | Yes | The app ID. |
Related pages
- Apps — Create apps and deploy changes
- Views and settings — Manage views, permissions, and notifications