
## Automation rule list

`GET /v1/bizproc-robots`

Returns the list of automation rule codes registered on the Bitrix24 account. Each response element is an automation rule code represented as a string and used in the update and delete paths.

The method works only with an authorization key. The session token is issued by OAuth authorization, is valid for 24 hours, and cannot be renewed — [Passing the key](/docs/keys-auth#passing-the-key).

## Parameters

| Parameter | Type | Default | Description |
|----------|-----|-----------|---------|
| `limit` | number | `50` | Maximum number of codes in the response |
| `offset` | number | `0` | Number of codes to skip from the beginning of the full list |
| `select` | string | — | Accepted, but does not change the response: the `data` items are code strings |
| `withTotal` | boolean | — | Accepted, but does not change the response: `meta.total` is returned for any value of the parameter |

Sorting is not supported: `sort` and `order` return `400 INVALID_SORT_FIELD`. Filtering is not supported either: `filter` returns `400 UNSUPPORTED_FILTER`.

## Examples

### curl — OAuth application

```bash
curl "https://vibecode.bitrix24.com/v1/bizproc-robots" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — OAuth application

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

const { success, data, meta } = await res.json()
console.log(`Registered automation rules: ${meta.total}`)
```

## Response fields

| Field | Type | Description |
|------|-----|---------|
| `success` | boolean | Always `true` on success |
| `data` | array | Array of strings — the codes of registered automation rules |
| `meta.total` | number | Number of codes in the full list, not the current page |
| `meta.hasMore` | boolean | Whether more codes remain after the current page |

## Response example

```json
{
  "success": true,
  "data": [
    "deal_notify",
    "sms_sender"
  ],
  "meta": {
    "total": 2,
    "hasMore": false
  }
}
```

## Error response example

403 — an API key was used on a method available only to an authorization key:

```json
{
  "success": false,
  "error": {
    "code": "OAUTH_REQUIRED",
    "message": "bizproc-robots require an OAuth app key (vibe_app_*) with an Authorization: Bearer session — a personal vibe_api_* key lacks the per-user OAuth context Bitrix24 needs for these methods. Create an OAuth app (POST /v1/apps) and retry with its key. On this 403 switch keys — do NOT delete or recreate the app (that discards anything already registered under it, e.g. a bizproc robot you just registered)."
  }
}
```

## Errors

| HTTP | Code | Description |
|------|-----|---------|
| 400 | `INVALID_SORT_FIELD` | `sort` or `order` was supplied; the list method does not support sorting |
| 400 | `UNSUPPORTED_FILTER` | `filter` was supplied. The list method does not filter — filter the codes on the client side |
| 403 | `OAUTH_REQUIRED` | Called with an API key. The method is available only to an authorization key |
| 401 | `TOKEN_MISSING` | The authorization key was sent without the `Authorization: Bearer <session>` header |
| 401 | `WRONG_AUTH_SCHEME` | The authorization key was sent in the `Authorization: Bearer` header. The key goes in `X-Api-Key`, while `Authorization: Bearer` carries the session token |
| 401 | `INVALID_SESSION` | The session token has expired or is invalid — authorize again |
| 403 | `SCOPE_DENIED` | The key lacks the `bizproc` scope |
| 409 | `BIZPROC_MODULE_NOT_ENABLED` | Business Processes are not available on the account: the module is not included in the plan, or it is switched off in account settings. Ask an account administrator to enable Business Processes — until then the method returns the same response regardless of how many times you retry |
| 429 | `RATE_LIMITED` | Rate limit exceeded: 300 requests per minute per portal. All API keys of the portal share one limit. The current limit is returned in the `x-ratelimit-limit` header. Retry after the delay in the `Retry-After` header |

For the full list of common API errors, see [Errors](/docs/errors).

## Known specifics

**An empty list is a successful response.** Until at least one automation rule is registered on the Bitrix24 account, `data` comes back as an empty array with code `200`. The absence of automation rules is not an error.

## See also

- [Register an automation rule](/docs/entities/bizproc-robots/create)
- [Keys and authorization](/docs/keys-auth)
- [Errors](/docs/errors)
