> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ロールリストの取得

> 企業のロール一覧を取得し、ロール権限構成を把握して割当と管理を実現できます

本インターフェースを呼び出して、ロールリストを取得します。

## リクエスト

| **基本情報**    |                                                                                      |
| ----------- | ------------------------------------------------------------------------------------ |
| HTTP URL    | [https://api.dingtalk.io/topapi/role/list](https://api.dingtalk.io/topapi/role/list) |
| HTTP Method | POST                                                                                 |
| 対応アプリタイプ    | appType-社内アプリappType-サードパーティ社内アプリ                                                    |
| 権限要件        | permission-qyapi\_get\_department\_list-連絡先部門情報の読み取り権限                               |

### クエリパラメータ

| 名前            | タイプ    | 必須 | 例        | 説明                                                                                                                                                                                     |
| ------------- | ------ | -- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| access\_token | String | はい | 6ed1bxxx | この API を呼び出すためのアプリ認証情報。   - 社内アプリの場合、[社内アプリの access\_token 取得](/ja/open/development/obtain-orgapp-token)インターフェースから取得します。 - サードパーティ社内アプリの場合、サードパーティ企業の access\_token 取得インターフェースから取得します。 |

### リクエストボディ

| 名前     | タイプ    | 必須  | 例  | 説明                                                                                                    |
| ------ | ------ | --- | -- | ----------------------------------------------------------------------------------------------------- |
| size   | Number | いいえ | 20 | ページング検索をサポートします。offset パラメータと同時に設定した場合のみ有効になります。本パラメータはページサイズを表します\*\*。**デフォルトは 20**、\*\*最大値は 200 です。 |
| offset | Number | いいえ | 0  | ページング検索をサポートします。size パラメータと同時に設定した場合のみ有効になります。本パラメータはオフセットを表し、オフセットは 0 から始まります。                       |

### リクエスト例

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/role/list" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=a0a639xxxx2998' \
-d 'offset=0' \
-d 'size=20'
```

Java

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/role/list");
OapiRoleListRequest req = new OapiRoleListRequest();
req.setSize(20L);
req.setOffset(0L);
OapiRoleListResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import dingtalk.api

req=dingtalk.api.OapiRoleListRequest("https://api.dingtalk.io/topapi/role/list")

req.size=20
req.offset=0
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
```

PHP

```php theme={"theme":{"light":"github-light","dark":"github-dark"}}
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiRoleListRequest;
$req->setSize("20");
$req->setOffset("0");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/role/list");
```

C#

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/role/list");
OapiRoleListRequest req = new OapiRoleListRequest();
req.Size = 20L;
req.Offset = 0L;
OapiRoleListResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## レスポンス

### レスポンスボディ

| 名前          | タイプ              | 例            | 説明             |
| ----------- | ---------------- | ------------ | -------------- |
| request\_id | String           | ii8a42qgzu7e | リクエスト ID。      |
| errcode     | Number           | 0            | レスポンスコード。      |
| errmsg      | String           | ok           | レスポンスコードの説明。   |
| result      | PageVo           |              | 結果リスト。         |
| hasMore     | Boolean          | false        | さらにデータがあるかどうか。 |
| list        | OpenRoleGroup\[] |              | ロールグループリスト。    |
| name        | String           | デフォルト        | ロールグループ名。      |
| groupId     | Number           | 1507113577   | ロールグループ ID。    |
| roles       | OpenRole\[]      |              | ロールリスト。        |
| name        | String           | 管理者          | ロール名。          |
| id          | Number           | 1507113578   | ロール ID。        |

### レスポンスボディ例

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "errcode": 0,
  "result": {
    "hasMore": true,
    "list": [
      {
        "groupId": 1507113577,
        "name": "デフォルト",
        "roles": [
          {
            "id": 1507113580,
            "name": "責任者"
          },
          {
            "id": 1507113581,
            "name": "上長"
          },
          {
            "id": 1507113578,
            "name": "スーパー管理者"
          },
          {
            "id": 1507113579,
            "name": "サブ管理者"
          }
        ]
      }
    ]
  },
  "request_id": "ii8a42qgzu7e"
}
```

### エラーコード

本インターフェースの呼び出しでエラーが発生した場合、エラーメッセージに基づき [グローバルエラーコード](/ja/open/development/server-api-error-codes-1) ドキュメントから解決方法を検索できます。

| エラーコード（errcode） | エラーコードの説明（errmsg） | 解決方法                            |
| --------------- | ----------------- | ------------------------------- |
| 400043          | 不正な orgId         | access\_token が正しいかどうかを確認してください |
| 40069           | 不正な size          | ページサイズを調整してください                 |
| 40068           | 無効なオフセット          | オフセットの値を調整してください                |
| 400001          | システムエラー           | 後でもう一度お試しください                   |
