## Module custom-field types

`GET /v1/userfields/types?moduleId=crm`

Returns only userTypeId and description. Internal PHP keys are removed. The key must hold the scope named by moduleId. For smart processes use crm. The main module refuses with No settings for UserFieldAccess; employee field types remain unavailable.

## Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `moduleId` (query) | string | yes | Module identifier, e.g. crm. The key must hold that scope. |

## Examples

### curl — personal key

```bash

curl "https://vibecode.bitrix24.com/v1/userfields/types?moduleId=crm" \
  -H "X-Api-Key: YOUR_API_KEY"

```

### curl — OAuth application

```bash

curl "https://vibecode.bitrix24.com/v1/userfields/types?moduleId=crm" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

```

### JavaScript — personal key

```javascript

const response = await fetch('https://vibecode.bitrix24.com/v1/userfields/types?moduleId=crm', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)

```

### JavaScript — OAuth application

```javascript

const response = await fetch('https://vibecode.bitrix24.com/v1/userfields/types?moduleId=crm', {
  headers: { 'X-Api-Key': 'YOUR_APP_KEY', Authorization: 'Bearer USER_SESSION_TOKEN' },
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)

```

## Response fields

| Field | Type | Description |
|---|---|---|
| `success` | boolean | `true` |
| `data` | array | Available field types. |
| `data[].userTypeId` | string | Type identifier for field creation. |
| `data[].description` | string | Description in the Bitrix24 account language. |

```json

{
  "success": true,
  "data": [
    {
      "userTypeId": "string",
      "description": "String"
    }
  ]
}

```

422 - main module has no type settings:

```json

{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "No settings for UserFieldAccess"
  }
}

```

## Errors

| HTTP | Code | Condition |
|---|---|---|
| 400 | `INVALID_PARAMS` | Missing or malformed moduleId. |
| 401 | `MISSING_API_KEY` | Missing key. |
| 403 | `SCOPE_DENIED` | Missing requested module scope. |
| 403 | `BITRIX_ACCESS_DENIED` | Bitrix24 refuses access. |
| 422 | `BITRIX_ERROR` | No module type settings or another business refusal. |

[ All errors ](/docs/errors)

## See also

- [CRM](/docs/userfields/crm)

- [Smart processes](/docs/userfields/smart-processes)

- [Employees](/docs/userfields/users/types)
