
# 관리 클라이언트 목록 조회

`GET /v1/management-clients` · 권한 `management-clients:read`

환경의 관리 클라이언트 레코드를 커서 기반 페이지로 반환하며, 기본적으로 `application_id` 내림차순으로 정렬됩니다. 레코드는 `management` 유형 애플리케이션에 속하며, 관리 API에 대한 권한 상한과 IP 허용 목록을 담고 있습니다. 클라이언트의 서명 키는 이 리소스에 포함되지 않습니다. 이들은 `/v1/applications/{application_id}/credentials`에서 관리합니다. API 키만 이 엔드포인트를 호출할 수 있으며, 환경은 키에서 결정됩니다.

## 요청

| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `limit` | integer | 아니요 | 1~100, 기본값 20. |
| `after` | string | 아니요 | `list_metadata.after`에서 얻은 커서. `before`와 함께 사용할 수 없습니다. |
| `before` | string | 아니요 | `list_metadata.before`에서 얻은 커서. |
| `order` | string | 아니요 | `asc` 또는 `desc`(기본값). 커서는 같은 `order`에서만 유효합니다. |

## 응답

`200 OK`

```json
{
  "data": [
    {
      "application_id": "app_01h455vb4pex5vsknk084sn02q",
      "permissions": ["users:read", "users:write"],
      "allowed_cidrs": ["203.0.113.0/24"]
    }
  ],
  "list_metadata": { "before": null, "after": null }
}
```

커서가 `null`이면 해당 방향에 더 이상 레코드가 없다는 뜻입니다. 전체 개수는 반환되지 않습니다. 애플리케이션을 삭제하면 해당 레코드도 제거됩니다. 애플리케이션이 이미 없는 레코드는 목록에 나타나지 않으며, 페이지가 그 레코드에 닿으면 제거됩니다. 따라서 `after`가 남아 있어도 페이지에 `limit`보다 적은 레코드가 들어 있을 수 있습니다. 커서를 계속 따라가십시오.

## 오류

| HTTP | code | 발생 조건 |
|---|---|---|
| 400 | `invalid_cursor` | 커서 형식이 잘못되었거나 변조되었거나, 다른 환경 또는 다른 `order`용으로 발급되었습니다. |
| 403 | `insufficient_permissions` | 자격 증명에 `management-clients:read`가 없거나 API 키가 아닙니다. |
| 422 | `validation_failed` | 쿼리 매개변수가 올바르지 않습니다. |

## 예제

```bash
curl "https://api.eu.keenauth.com/v1/management-clients?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth management-clients list --limit 20`
