# GET /v1/pay-systems/handlers

`GET /v1/pay-systems/handlers`

Bitrix24: `sale.paysystem.handler.list`. Scope: `pay_system`.

## Parameters

No parameters. Empty data means no registered REST handlers.

## Examples

### cURL personal key

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/pay-systems/handlers" -H "X-Api-Key: $VIBE_API_KEY"
```

### cURL OAuth

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/pay-systems/handlers" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $APP_SESSION"
```

### JavaScript personal key

```javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/pay-systems/handlers", {
  method: "GET",
  headers: {"X-Api-Key": "YOUR_API_KEY"},
});
console.log(await response.json());
```

### JavaScript OAuth

```javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/pay-systems/handlers", {
  method: "GET",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Authorization": "Bearer YOUR_APP_SESSION"},
});
console.log(await response.json());
```

## Response fields

success is true. data is a record or an array of [fields](./fields.md); DELETE returns true. Delivery creation returns parent and profiles. List meta.total equals data length. This example illustrates the shape; record IDs depend on the account.

```json
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Example handler",
      "code": "example_handler",
      "sort": 100
    }
  ],
  "meta": {
    "total": 1
  }
}
```

## Errors

| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_PARAMS | Invalid ID, query or body shape |
| 400 | MISSING_REQUIRED_FIELDS | Missing required write fields |
| 400 | READONLY_FIELD | Unsupported write field |
| 400 | UNKNOWN_FILTER_FIELD | Unknown filter field |
| 400 | UNKNOWN_SELECT_FIELD | Unknown select field |
| 400 | UNKNOWN_SORT_FIELD | Unknown sort field |
| 401 | TOKEN_MISSING | Missing Bitrix24 credentials |
| 403 | SCOPE_DENIED | Missing pay_system scope |
| 403 | WRITE_BLOCKED_READONLY_KEY | Writing with a readonly key |
| 403 | BITRIX_ACCESS_DENIED | Bitrix24 refuses access or service ownership |
| 404 | ENTITY_NOT_FOUND | Missing service |
| 413 | PAYLOAD_TOO_LARGE | Logo or body size exceeds limit |
| 422 | BITRIX_ERROR | Bitrix24 business refusal; original text is preserved |
| 502 | BITRIX_RESPONSE_INVALID | Malformed platform success response |

422 for an unknown handler (error shape example):

```json
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Handler not found"
  }
}
```

[Errors](/docs/errors)

## See also

- [Pay systems](/docs/entities/pay-systems)
- [Handlers](./handlers.md)
