# List capabilities

Source: https://business-api-docs.youhodler.com/docs/api/reference/capabilities/capabilities-list

Lists every capability that may be granted via roles, scoped to the given topology node.

## Request

**Request URL — GET**
```http
GET /capabilities
```

## Responses

**200 Operation succeeded**

Operation succeeded.

```json
{
  "items": [
    {
      "name": "withdrawals.create",
      "enabled": true
    },
    {
      "name": "deposits.read",
      "enabled": true
    },
    {
      "name": "clients.read",
      "enabled": false
    }
  ],
  "next_page_token": null
}
```

**400 Invalid request payload**

Invalid request payload, query, or parameter shape.

```json
{
  "code": "invalid_request",
  "message": "The request is invalid."
}
```

**401 Caller is not authenticated or the bearer token is invalid**

Caller is not authenticated or the bearer token is invalid.

```json
{
  "code": "unauthorized",
  "message": "Authentication required."
}
```

**403 Caller lacks the required capability or permitted scope**

Caller lacks the required capability or permitted scope.

```json
{
  "code": "forbidden_capability_scope",
  "details": {
    "reason": "scope_not_covered"
  },
  "message": "Forbidden: capability scope not covered."
}
```

**429 Request rate limit exceeded**

Request rate limit exceeded. Retry after the delay indicated in the `details.retry_after_ms` field.

```json
{
  "code": "rate_limited",
  "details": {
    "retry_after_ms": 5000
  },
  "message": "Too many requests."
}
```

**502 Upstream service returned an unexpected error**

Upstream service returned an unexpected error.

```json
{
  "code": "upstream_error",
  "message": "An upstream service returned an unexpected error."
}
```

**503 Service is temporarily unavailable**

Service is temporarily unavailable; retry with backoff.

```json
{
  "code": "temporarily_unavailable",
  "details": {
    "reason": "service_temporarily_unavailable"
  },
  "message": "Service is temporarily unavailable."
}
```

**Related endpoints:**

- `POST` [Create role](/docs/api/reference/roles/roles-create) — Use capabilities to build a role
- `PATCH` [Toggle capability override for client (deprecated)](/docs/api/reference/capabilities/clients-capabilities-update) — Override capability posture for a client
