For AI agents: markdown of this page — /docs-content-en/entities/catalog-price-types/fields.md documentation index — /llms.txt

Price type fields

GET /v1/catalog-price-types/fields

Returns a reference of price type fields with their types. All fields are read-only.

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/catalog-price-types/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/catalog-price-types/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-price-types/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Fields:', Object.keys(data.fields).length)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-price-types/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Response fields

data.fields is an object whose key matches the field name, and whose value contains type (the field type), readonly (true — the field cannot be passed on create or update), label (the display name), and description (a short description). The label/description values are returned in English. Request headers do not switch the language. Fields that may arrive without a value carry nullable: true. The data.batch list is empty: price types have no write operations in batch mode.

Field Type RO Description
id number yes Price type identifier. This value is passed in catalogGroupId when working with catalog prices
name string yes Price type name as configured in your Bitrix24 account
base string yes Y for the base price type of the account, N for the rest
xmlId string yes External code for import and export integrations. Can be null
sort number yes Sort order in the Bitrix24 interface
createdBy number yes ID of the user who created the price type. Can be null
modifiedBy number yes ID of the user who last modified the price type. Can be null
dateCreate datetime yes Date and time the price type was created. Can be null
timestampX datetime yes Date and time the price type was last modified. Can be null

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "ID", "description": "Price type identifier. This is the value /v1/catalog-prices expects in catalogGroupId." },
      "name": { "type": "string", "readonly": true, "label": "Name", "description": "Price type name as configured on the Bitrix24 account." },
      "base": { "type": "string", "readonly": true, "label": "Base price type", "description": "Y for the base price type of this Bitrix24 account, N otherwise. Exactly one price type carries Y, and its id is portal-specific — it is not necessarily 1." },
      "xmlId": { "type": "string", "readonly": true, "nullable": true, "label": "External code", "description": "External identifier used by import/export integrations." },
      "sort": { "type": "number", "readonly": true, "label": "Sort", "description": "Sort order of the price type in the Bitrix24 interface." },
      "createdBy": { "type": "number", "readonly": true, "nullable": true, "label": "Created by", "description": "ID of the user who created the price type." },
      "modifiedBy": { "type": "number", "readonly": true, "nullable": true, "label": "Modified by", "description": "ID of the user who last modified the price type." },
      "dateCreate": { "type": "datetime", "readonly": true, "nullable": true, "label": "Created at", "description": "Date and time the price type was created." },
      "timestampX": { "type": "datetime", "readonly": true, "nullable": true, "label": "Modified at", "description": "Date and time the price type was last modified." }
    },
    "batch": []
  }
}

Every field is marked readonly: true — a price type cannot be created or changed through the API; that is done in the Bitrix24 interface.

Error response example

403 — no scope:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'catalog' scope"
  }
}

Errors

HTTP Code Description
403 SCOPE_DENIED The API key does not carry the catalog scope
401 MISSING_API_KEY The X-Api-Key header is missing
429 RATE_LIMITED Rate limit exceeded: 300 requests per minute per portal, all API keys of the portal share one limit. The exact value arrives in the x-ratelimit-limit header (the cap is divided across replicas). Retry after the delay in the Retry-After header

The full list of common API errors — Errors.

See also