Get a List of User Field Settings userfieldconfig.list

If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.

Scope: userfieldconfig, module scope from moduleId (for example, crm)

Who can execute the method: a user with read access permission to the object that owns the fields in the moduleId

The method userfieldconfig.list returns a list of user field settings based on the filter.

Method Parameters

Required parameters are marked with *

Name
type

Description

moduleId*
string

The identifier of the module in which the fields are being searched

select
object

Set of fields to return (detailed description)

order
object

Object format:

{
            field_1: value_1,
            field_2: value_2,
            ...,
            field_n: value_n,
        }
        
  • field_n - the name of the field by which the selection will be sorted
  • value_n - a string value equal to:
    • ASC - ascending sort
    • DESC - descending sort

Available fields for sorting:

  • id - identifier of the user field
  • fieldName - code of the user field
  • userTypeId - type of the user field
  • xmlId - external code
  • sort - sort index

By default:

{
            "sort": "ASC",
            "id": "ASC"
        }
        

filter
object

Object format:

{
            field_1: value_1,
            field_2: value_2,
            ...,
            field_n: value_n,
        }
        
  • field_n - the name of the field by which the selection of user fields will be filtered
  • value_n - filter value

All conditions for individual fields are combined using AND.

See below the list of available fields for filtering

start
integer

Offset for pagination.

Use the next parameter value from the previous response

Select Parameter

Name
type

Description

*
string

Return all standard settings fields

language
string

Language identifier for language fields, for example de or en

id
string

Identifier of the field setting

entityId
string

Identifier of the object

fieldName
string

Code of the field

userTypeId
string

Type of the field

xmlId
string

External identifier

sort
string

Sort index

multiple
string

Whether the user field is multiple. Possible values: Y or N

mandatory
string

Whether the user field is mandatory. Possible values: Y or N

showFilter
string

Whether to show the field in the list filter. Possible values: N, I, E, S

showInList
string

Whether to show the field in the list. Possible values: Y or N

editInList
string

Whether to allow editing the value in the list. Possible values: Y or N

isSearchable
string

Whether the field values are searchable. Possible values: Y or N

settings
string

Additional settings for the field

languageId
string

Language identifier. When this parameter is passed, a set of language fields in the selected language is returned:

  • editFormLabel - label in the edit form
  • listColumnLabel - header in the list
  • listFilterLabel - label of the filter in the list
  • errorMessage - error message
  • helpMessage - help

Filterable Fields

Name
type

Description

id
integer

Identifier of the user field

fieldName
string

Code of the user field

userTypeId
string

Type of the user field

xmlId
string

External code

sort
integer

Sort index

multiple
boolean

Whether the user field is multiple. Possible values: Y or N

mandatory
boolean

Whether the user field is mandatory. Possible values: Y or N

showFilter
char

Whether to show in the list filter. Possible values: N, I, E, S

showInList
boolean

Whether to show in the list. Possible values: Y or N

editInList
boolean

Whether to allow user editing. Possible values: Y or N

isSearchable
boolean

Whether the field values are searchable. Possible values: Y or N

Code Examples

How to Use Examples in Documentation

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"moduleId":"crm","select":{"0":"*","language":"de"},"order":{"id":"DESC"},"filter":{"multiple":"Y"},"start":0}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/userfieldconfig.list
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"moduleId":"crm","select":{"0":"*","language":"de"},"order":{"id":"DESC"},"filter":{"multiple":"Y"},"start":0,"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/userfieldconfig.list
        
try
        {
        	const response = await $b24.callMethod(
        		'userfieldconfig.list',
        		{
        			moduleId: 'crm',
        			select: {
        				0: '*',
        				language: 'de',
        			},
        			order: {
        				id: 'DESC',
        			},
        			filter: {
        				multiple: 'Y',
        			},
        			start: 0,
        		}
        	);
        
        	const result = response.getData().result;
        	console.info(result);
        }
        catch (error)
        {
        	console.error(error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'userfieldconfig.list',
                    [
                        'moduleId' => 'crm',
                        'select' => [
                            0 => '*',
                            'language' => 'de',
                        ],
                        'order' => [
                            'id' => 'DESC',
                        ],
                        'filter' => [
                            'multiple' => 'Y',
                        ],
                        'start' => 0,
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Result: ' . print_r($result, true);
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'userfieldconfig.list',
            {
                moduleId: 'crm',
                select: {
                    0: '*',
                    language: 'de',
                },
                order: {
                    id: 'DESC',
                },
                filter: {
                    multiple: 'Y',
                },
            },
            (result) => {
                if (result.error()) {
                    console.error(result.error());
                    return;
                }
        
                console.info(result.data());
        
                if (result.more()) {
                    result.next();
                }
            },
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'userfieldconfig.list',
            [
                'moduleId' => 'crm',
                'select' => [
                    0 => '*',
                    'language' => 'de',
                ],
                'order' => [
                    'id' => 'DESC',
                ],
                'filter' => [
                    'multiple' => 'Y',
                ],
                'start' => 0,
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Response Handling

HTTP Status: 200

{
            "result": {
                "fields": [
                    {
                        "id": "7095",
                        "entityId": "CRM_7",
                        "fieldName": "UF_CRM_7_NEW_REST_LIST_2026",
                        "userTypeId": "enumeration",
                        "xmlId": null,
                        "sort": "100",
                        "multiple": "Y",
                        "mandatory": "N",
                        "showFilter": "N",
                        "showInList": "Y",
                        "editInList": "Y",
                        "isSearchable": "N",
                        "settings": {
                            "DISPLAY": "LIST",
                            "LIST_HEIGHT": 1,
                            "CAPTION_NO_VALUE": "",
                            "SHOW_NO_VALUE": "Y"
                        },
                        "languageId": {
                            "de": "de"
                        },
                        "editFormLabel": {
                            "de": "List of Characteristics"
                        },
                        "listColumnLabel": null,
                        "listFilterLabel": null,
                        "errorMessage": null,
                        "helpMessage": null
                    }
                ]
            },
            "next": 50,
            "total": 94,
            "time": {
                "start": 1724239307.903115,
                "finish": 1724239308.567422,
                "duration": 0.6643068790435791,
                "processing": 0.20090818405151367,
                "date_start": "2024-08-21T13:21:47+02:00",
                "date_finish": "2024-08-21T13:21:48+02:00",
                "operating": 0
            }
        }
        

Returned Data

Name
type

Description

result
object

Root element of the response (detailed description)

total
integer

Total number of settings found

next
integer

Offset for the next page.

Field is returned if the number of found items exceeds 50

time
time

Information about the execution time of the request

Result Object

Name
type

Description

fields
object[]

List of found user field settings (detailed description)

Fields Object[]

Name
type

Description

id
integer

Identifier of the user field

entityId
string

Identifier of the object to which the user field belongs

fieldName
string

Code of the user field

userTypeId
string

Type of the user field

xmlId
string

External code

sort
integer

Sort index

multiple
boolean

Whether the user field is multiple. Possible values: Y or N

mandatory
boolean

Whether the user field is mandatory. Possible values: Y or N

showFilter
char

Display mode in the filter.

Possible values: N, I, E, S

showInList
boolean

Whether to show the field in the list. Possible values: Y or N

editInList
boolean

Whether to allow editing the value in the list. Possible values: Y or N

isSearchable
boolean

Whether the field values are searchable. Possible values: Y or N

settings
object

Additional settings for the field.

The composition of keys depends on userTypeId

languageId
object

Language identifiers for which labels are set

editFormLabel
lang_map

Labels in the edit form

listColumnLabel
lang_map

Header in the list

listFilterLabel
lang_map

Label of the filter in the list

errorMessage
lang_map

Error message

helpMessage
lang_map

Help

enum
object[]

List elements for userTypeId = enumeration.

Field may be absent for other types

Error Handling

HTTP Status: 400

{
            "error": "",
            "error_description": "You do not have permission to view user field settings"
        }
        

Name
type

Description

error
string

String error code. It may consist of digits, Latin letters, and underscores

error_description
error_description

Textual description of the error. The description is not intended to be shown to the end user in its raw form

Possible Error Codes

Code

Description

Value

-

You do not have permission to view user field settings

Insufficient read access permission for fields based on the provided filter

-

The current method required more scopes. (crm)

The application does not have the required scope for the module from moduleId

-

No settings for UserFieldAccess

Access to user fields is not configured for the provided moduleId

Statuses and System Error Codes

HTTP Status: 20x, 40x, 50x

The errors described below may occur when calling any method.

Status

Code
Error Message

Description

500

INTERNAL_SERVER_ERROR
Internal server error

An internal server error has occurred. Please contact the server administrator or Bitrix24 technical support

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

An internal server error has occurred. Please contact the server administrator or Bitrix24 technical support

503

QUERY_LIMIT_EXCEEDED
Too many requests

The request intensity limit has been exceeded

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

The current method is not permitted for calls using batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

The maximum length of parameters passed to the batch method has been exceeded

401

NO_AUTH_FOUND
Wrong authorization data

Invalid access token or webhook code

400

INVALID_REQUEST
Https required

The HTTPS protocol is required for method calls

503

OVERLOAD_LIMIT
REST API is blocked due to overload

The REST API is blocked due to overload. This is a manual individual block; please contact Bitrix24 technical support to lift it

403

ACCESS_DENIED
REST API is available only on commercial plans

The REST API is only available on commercial plans

403

INVALID_CREDENTIALS
Invalid request credentials

The user associated with the access token or webhook used to call the method lacks the necessary permissions

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

The manifest is not available

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

The request requires higher privileges than those provided by the webhook token

401

expired_token
The access token provided has expired

The provided access token has expired

403

user_access_error
The user does not have access to the application

The user does not have access to the application. This means that the application is installed, but the portal administrator has restricted access to this application to specific users only

500

PORTAL_DELETED
Portal was deleted

The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the "Temporary closure of the public part of the site" option. Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site

Continue Learning