[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-entities\u002Fsites\u002Fai\u002Ffields":3,"docs-tabs-entities\u002Fsites\u002Fai\u002Ffields":6},{"content":4,"lastmod":5},"## List generation fields\n\n`GET \u002Fv1\u002Fsites\u002Fai\u002Ffields`\n\nLists field definitions for generation responses.\n\n## Parameters\n\n| Parameter | Type | Required | Default | Description |\n|---|---|---|---|---|\n| `select[]` (query) | array\u003Cstring> | No | All properties | Field definition properties, for example `name`, `type`, `title`. These are properties of each definition, not field names in the generation response |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl -X GET \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fsites\u002Fai\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl -X GET \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fsites\u002Fai\u002Ffields\" \\\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\u002Fsites\u002Fai\u002Ffields\", {\n  \"method\": \"GET\",\n  \"headers\": {\n    \"X-Api-Key\": \"YOUR_API_KEY\"\n  }\n});\nconst result = await res.json();\nconsole.log(result);\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch(\"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fsites\u002Fai\u002Ffields\", {\n  \"method\": \"GET\",\n  \"headers\": {\n    \"X-Api-Key\": \"YOUR_APP_KEY\",\n    \"Authorization\": \"Bearer USER_SESSION_TOKEN\"\n  }\n});\nconst result = await res.json();\nconsole.log(result);\n```\n\n## Response fields\n\n| Field | Type | Description |\n|---|---|---|\n| `success` | boolean | `true` on success |\n| `data` | array | Generation field definitions |\n| `data[].name` | string | Field name |\n| `data[].type` | string | Value type |\n| `data[].title` | string | Field title |\n| `data[].description` | string \\| null | Field description or null |\n| `data[].validationRules` | array | Validation rules |\n| `data[].requiredGroups` | array \\| null | Required groups or null |\n| `data[].filterable` | boolean | Can be filtered |\n| `data[].sortable` | boolean | Can be sorted |\n| `data[].editable` | boolean | Can be edited |\n| `data[].editableGroups` | array \\| null | Editing groups or null |\n| `data[].multiple` | boolean | Multiple values |\n| `data[].elementType` | string \\| null | Element type or null |\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"name\": \"id\",\n      \"type\": \"int\",\n      \"title\": \"Site generation identifier\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"status\",\n      \"type\": \"string\",\n      \"title\": \"Generation status: running, completed or failed\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"siteId\",\n      \"type\": \"int\",\n      \"title\": \"Generated site identifier, 0 until the site is created\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"pageId\",\n      \"type\": \"int\",\n      \"title\": \"Generated page identifier, 0 until the page is created\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"draftSiteId\",\n      \"type\": \"int\",\n      \"title\": \"Draft site identifier of a failed generation that got as far as creating one, 0 otherwise\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"draftPageId\",\n      \"type\": \"int\",\n      \"title\": \"Draft page identifier of a failed generation that got as far as creating one, 0 otherwise\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"message\",\n      \"type\": \"string\",\n      \"title\": \"Human readable generation state, a text for the user - branch on status, not on it\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"error\",\n      \"type\": \"string\",\n      \"title\": \"Human readable failure reason, null unless the status is failed\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    },\n    {\n      \"name\": \"errorDetails\",\n      \"type\": \"string\",\n      \"title\": \"Exact wording of the request limit that stopped the generation, null when something else did\",\n      \"description\": null,\n      \"validationRules\": [],\n      \"requiredGroups\": null,\n      \"filterable\": false,\n      \"sortable\": false,\n      \"editable\": false,\n      \"editableGroups\": null,\n      \"multiple\": false,\n      \"elementType\": null\n    }\n  ]\n}\n```\n\n## Error response example\n\nThe request `GET \u002Fv1\u002Fsites\u002Fai\u002Ffields?select[]=FAKE_UNKNOWN_FIELD` selects an unknown field definition property. Bitrix24 returns this error. An unknown field name in `GET \u002Fv1\u002Fsites\u002Fai\u002Ffields\u002FFAKE_UNKNOWN_FIELD` is a different case: it returns `ENTITY_NOT_FOUND` (404).\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Unknown field `FAKE_UNKNOWN_FIELD` for entity `DtoFieldDto`\",\n    \"b24Code\": \"BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|---|---|---|\n| 422 | `BITRIX_ERROR` | Bitrix24 refused the request |\n| 401 | `MISSING_API_KEY`, `INVALID_API_KEY`, `TOKEN_MISSING` | Missing or unusable credentials |\n| 403 | `SCOPE_DENIED` | The key lacks the landing scope |\n\n[Common errors](\u002Fdocs\u002Ferrors).\n\n## See also\n\n- [AI site generation](..\u002Fai.md)\n","2026-11-13",{},1794739417776]