[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-entities\u002Frequisite-presets\u002Fpreset-fields\u002Fschema":3,"docs-tabs-entities\u002Frequisite-presets\u002Fpreset-fields\u002Fschema":6},{"content":4,"lastmod":5},"\n## Preset field schema\n\n`GET \u002Fv1\u002Frequisite-presets\u002F:presetId\u002Ffields\u002Fschema`\n\nReturns the structure of a requisite preset field row: types, required flags, access flags. Use it to learn the allowed types and rules before `POST \u002Fv1\u002Frequisite-presets\u002F:presetId\u002Ffields` or `PATCH \u002Fv1\u002Frequisite-presets\u002F:presetId\u002Ffields\u002F:id`.\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n|----------|-----|:-----:|---------|\n| `presetId` (path) | number | yes | Requisite preset ID. Get the list of presets: `GET \u002Fv1\u002Frequisite-presets` |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Frequisite-presets\u002F1\u002Ffields\u002Fschema\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Frequisite-presets\u002F1\u002Ffields\u002Fschema\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Frequisite-presets\u002F1\u002Ffields\u002Fschema', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Frequisite-presets\u002F1\u002Ffields\u002Fschema', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|---------|\n| `success` | boolean | Always `true` on success |\n| `data` | object | Object describing the schema |\n| `data.fields` | object | Dictionary of preset row fields. The keys are in camelCase: `id`, `fieldName`, and others |\n| `data.fields.id` | object | Field row identifier. Read-only |\n| `data.fields.fieldName` | object | Requisite field name, for example `RQ_INN`. Required on create. On update it does not need to be passed — the current value is substituted automatically |\n| `data.fields.fieldTitle` | object | Field title in the printed form. Not required |\n| `data.fields.sort` | object | Sort order of the field within the preset |\n| `data.fields.inShortList` | object | Whether the field is shown in the short list. Represented in the API as `true`\u002F`false` |\n\nEach field in `data.fields` is described by an object with the following keys:\n\n| Key | Type | Description |\n|------|-----|---------|\n| `type` | string | Value type: `integer`, `string`, `boolean` |\n| `isRequired` | boolean | Whether the field is required on create |\n| `isReadOnly` | boolean | Read-only — cannot be set on write |\n| `isImmutable` | boolean | Cannot be changed after creation |\n| `isMultiple` | boolean | Allows multiple values |\n| `isDynamic` | boolean | Dynamic (custom) field |\n| `title` | string | Human-readable field name in the Bitrix24 account language |\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"fields\": {\n      \"id\": {\n        \"type\": \"integer\",\n        \"isRequired\": false,\n        \"isReadOnly\": true,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"ID\"\n      },\n      \"fieldName\": {\n        \"type\": \"string\",\n        \"isRequired\": true,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Name\"\n      },\n      \"fieldTitle\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Title in the preset\"\n      },\n      \"sort\": {\n        \"type\": \"integer\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Sort\"\n      },\n      \"inShortList\": {\n        \"type\": \"boolean\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Show in short list\"\n      }\n    }\n  }\n}\n```\n\n## Error response example\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|---------|\n| 400 | `INVALID_PRESET_ID` | The provided `presetId` is not a positive integer |\n| 403 | `SCOPE_DENIED` | API key lacks the `crm` scope |\n| 401 | `TOKEN_MISSING` | API key has no configured tokens |\n\nFull list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## Known specifics\n\n**The `inShortList` field is boolean both in the schema and in the data.** When writing via `POST` or `PATCH`, pass `true`\u002F`false`. In read responses the field arrives as `true`\u002F`false`. Bitrix24 declares this field as `char` in its own schema description — Vibecode normalizes it to `boolean` so the schema does not contradict the rows it describes.\n\n**The schema declares `fieldName` as required (`isRequired: true`), but it does not need to be passed on update.** On a `PATCH` without `fieldName`, Vibecode fetches the current value from Bitrix24 and substitutes it automatically. `fieldName` remains required when creating via `POST`.\n\n## See also\n\n- [Fields available to add](\u002Fdocs\u002Fentities\u002Frequisite-presets\u002Fpreset-fields\u002Favailable)\n- [Add a field to a preset](\u002Fdocs\u002Fentities\u002Frequisite-presets\u002Fpreset-fields\u002Fcreate)\n- [Update a preset field](\u002Fdocs\u002Fentities\u002Frequisite-presets\u002Fpreset-fields\u002Fupdate)\n- [Requisite presets](\u002Fdocs\u002Fentities\u002Frequisite-presets)\n","2026-09-22",{},1794739412366]