For AI agents: markdown of this page — /docs-content-en/entities/order-properties/fields.md documentation index — /llms.txt
Order property fields
GET /v1/order-properties/fields
Describes order property fields for creation, updates, selection, and filtering, along with the fields available for grouping.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
Parameterrefresh (query) |
Typestring | Defaultfalse |
DescriptionPass true to bypass the metadata cache. Example: ?refresh=true |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/order-properties/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/order-properties/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/order-properties/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data } = await res.json()
console.log('Order property fields:', Object.keys(data.fields))
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/order-properties/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typeobject | DescriptionOrder property metadata. The property's own fields are listed in the "Order property fields" table below |
Fielddata.fields |
Typeobject | DescriptionField definitions. Each key is a field name, and its value describes the field |
Fielddata.fields.<field>.type |
Typestring | DescriptionValue type: number, string, any, object, or boolean |
Fielddata.fields.<field>.readonly |
Typeboolean | Descriptiontrue for read-only fields |
Fielddata.fields.<field>.createOnly |
Typeboolean | DescriptionPresent as true for personTypeId, type, and propsGroupId. These fields are set at creation and cannot be updated |
Fielddata.fields.<field>.required |
Typeboolean | DescriptionPresent as true for personTypeId, type, name, and propsGroupId, which are required at creation |
Fielddata.fields.<field>.nullable |
Typeboolean | DescriptionPresent as true for code, description, and xmlId, which accept null |
Fielddata.fields.<field>.label |
Typestring | DescriptionField label |
Fielddata.fields.<field>.description |
Typestring | DescriptionField description |
Fielddata.fields.type.enum |
Typearray | DescriptionAllowed property types. Each item contains value and label |
Fielddata.aggregatable |
Typearray | DescriptionFields for groupBy in order property aggregation: personTypeId, type, required, active |
Fielddata.batch |
Typearray | DescriptionBatch write operations: create, update, delete |
Order property fields
The complete set of fields from the schema. RO marks fields that are read-only.
| Field | Type | RO | Description |
|---|---|---|---|
Fieldid |
Typenumber | ROyes | DescriptionProperty ID. List: GET /v1/order-properties |
FieldpersonTypeId |
Typenumber | ROno | DescriptionPayer type ID. List: GET /v1/person-types. Required at creation and cannot be updated |
Fieldtype |
Typestring | ROno | DescriptionProperty type: STRING, Y/N, NUMBER, ENUM, FILE, DATE, LOCATION, ADDRESS. Required at creation and cannot be updated |
Fieldname |
Typestring | ROno | DescriptionField name. Required at creation |
FieldpropsGroupId |
Typenumber | ROno | DescriptionProperty group ID. Get it from a property with the same payer type through GET /v1/order-properties. Required at creation and cannot be updated |
Fieldcode |
Typestring | null | ROno | DescriptionSymbolic code. null when unset |
Fieldsort |
Typenumber | ROno | DescriptionSort order |
FielddefaultValue |
Typeany | ROno | DescriptionDefault value. Its format depends on the property type. See create and update for file values |
Fielddescription |
Typestring | null | ROno | DescriptionField description. null when unset |
Fieldsettings |
Typeobject | ROno | DescriptionSettings for the property type. See update for the format and how to save settings |
FieldxmlId |
Typestring | null | ROno | DescriptionExternal ID. null when unset |
FieldinputFieldLocation |
Typenumber | ROno | DescriptionDeprecated field. Bitrix24 does not use it |
Fieldactive |
Typeboolean | ROno | DescriptionWhether the property is active |
Fieldrequired |
Typeboolean | ROno | DescriptionWhether the field is required when placing an order |
Fieldmultiple |
Typeboolean | ROno | DescriptionWhether the field accepts multiple values |
FielduserProps |
Typeboolean | ROno | DescriptionSave the value in the buyer profile |
Fieldutil |
Typeboolean | ROno | DescriptionInternal property |
FieldisAddress |
Typeboolean | ROno | DescriptionAddress field |
FieldisAddressFrom |
Typeboolean | ROno | DescriptionOrigin address field |
FieldisAddressTo |
Typeboolean | ROno | DescriptionDestination address field |
FieldisEmail |
Typeboolean | ROno | DescriptionEmail field |
FieldisFiltered |
Typeboolean | ROno | DescriptionUse the property in filters |
FieldisLocation |
Typeboolean | ROno | DescriptionLocation field |
FieldisLocation4tax |
Typeboolean | ROno | DescriptionLocation for tax calculation |
FieldisPayer |
Typeboolean | ROno | DescriptionPayer name field |
FieldisPhone |
Typeboolean | ROno | DescriptionPhone field |
FieldisProfileName |
Typeboolean | ROno | DescriptionBuyer profile name field |
FieldisZip |
Typeboolean | ROno | DescriptionPostal code field |
Response example
{
"success": true,
"data": {
"fields": {
"id": {
"type": "number",
"readonly": true,
"label": "ID",
"description": "ID."
},
"personTypeId": {
"type": "number",
"readonly": false,
"createOnly": true,
"required": true,
"label": "Payer type ID",
"description": "Payer type ID."
},
"type": {
"type": "string",
"readonly": false,
"createOnly": true,
"required": true,
"label": "Property type",
"description": "Property type.",
"enum": [
{
"value": "STRING",
"label": "STRING"
},
{
"value": "Y/N",
"label": "Y/N"
},
{
"value": "NUMBER",
"label": "NUMBER"
},
{
"value": "ENUM",
"label": "ENUM"
},
{
"value": "FILE",
"label": "FILE"
},
{
"value": "DATE",
"label": "DATE"
},
{
"value": "LOCATION",
"label": "LOCATION"
},
{
"value": "ADDRESS",
"label": "ADDRESS"
}
]
},
"name": {
"type": "string",
"readonly": false,
"required": true,
"label": "Name",
"description": "Name."
},
"propsGroupId": {
"type": "number",
"readonly": false,
"createOnly": true,
"required": true,
"label": "Property group ID",
"description": "Property group ID."
},
"code": {
"type": "string",
"readonly": false,
"nullable": true,
"label": "Code",
"description": "Code."
},
"sort": {
"type": "number",
"readonly": false,
"label": "Sort order",
"description": "Sort order."
},
"defaultValue": {
"type": "any",
"readonly": false,
"label": "Default value (type dependent)",
"description": "Scalar or structured default, depending on type. FILE uploads use {fileData:[filename,base64]}; a stored FILE default requires an explicit replacement on update."
},
"description": {
"type": "string",
"readonly": false,
"nullable": true,
"label": "Description",
"description": "Description."
},
"settings": {
"type": "object",
"readonly": false,
"label": "Type-specific settings",
"description": "Type-specific settings."
},
"xmlId": {
"type": "string",
"readonly": false,
"nullable": true,
"label": "External ID",
"description": "External ID."
},
"inputFieldLocation": {
"type": "number",
"readonly": false,
"label": "Input field location",
"description": "Input field location."
},
"active": {
"type": "boolean",
"readonly": false,
"label": "Active",
"description": "Active."
},
"required": {
"type": "boolean",
"readonly": false,
"label": "Required",
"description": "Required."
},
"multiple": {
"type": "boolean",
"readonly": false,
"label": "Multiple",
"description": "Multiple."
},
"userProps": {
"type": "boolean",
"readonly": false,
"label": "Save in profile",
"description": "Save in profile."
},
"util": {
"type": "boolean",
"readonly": false,
"label": "Service property",
"description": "Service property."
},
"isAddress": {
"type": "boolean",
"readonly": false,
"label": "Address",
"description": "Address."
},
"isAddressFrom": {
"type": "boolean",
"readonly": false,
"label": "Origin address",
"description": "Origin address."
},
"isAddressTo": {
"type": "boolean",
"readonly": false,
"label": "Destination address",
"description": "Destination address."
},
"isEmail": {
"type": "boolean",
"readonly": false,
"label": "Email",
"description": "Email."
},
"isFiltered": {
"type": "boolean",
"readonly": false,
"label": "Filterable",
"description": "Filterable."
},
"isLocation": {
"type": "boolean",
"readonly": false,
"label": "Location",
"description": "Location."
},
"isLocation4tax": {
"type": "boolean",
"readonly": false,
"label": "Tax location",
"description": "Tax location."
},
"isPayer": {
"type": "boolean",
"readonly": false,
"label": "Payer name",
"description": "Payer name."
},
"isPhone": {
"type": "boolean",
"readonly": false,
"label": "Phone",
"description": "Phone."
},
"isProfileName": {
"type": "boolean",
"readonly": false,
"label": "Profile name",
"description": "Profile name."
},
"isZip": {
"type": "boolean",
"readonly": false,
"label": "Postal code",
"description": "Postal code."
}
},
"aggregatable": [
"personTypeId",
"type",
"required",
"active"
],
"batch": [
"create",
"update",
"delete"
]
}
}
Error response example
401 — the API key is missing:
{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key required. Pass via X-Api-Key header."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key lacks the sale scope |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header is missing |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionNo tokens are configured for the API key |
| HTTP429 | CodeRATE_LIMITED |
DescriptionThe request rate limit was exceeded. The effective limit is in the x-ratelimit-limit header. Retry after the interval in the Retry-After header |
For the full list of common API errors, see Error codes.