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

# チャネルの一覧取得

> フィルターとカーソルページネーションを用いて外部 IM チャネルを一覧取得します。

`GET /api/v1/forward/channels`

認証済みアカウントが所有する Channel レコードを返します。

## Headers

| Header          | Required | Description    |
| --------------- | -------- | -------------- |
| `Authorization` | Yes      | `Bearer <PAT>` |

## Query parameters

| Parameter        | Type    | Required | Default | Description                                              |
| ---------------- | ------- | -------- | ------- | -------------------------------------------------------- |
| `channel_type`   | string  | No       | -       | `wechat`、`qq`、`wecom`、`feishu`、または `dingtalk` でフィルターします。 |
| `enabled`        | boolean | No       | -       | 手動での有効状態でフィルターします。                                       |
| `binding_status` | string  | No       | -       | `unbound`、`bound`、または `expired` でフィルターします。               |
| `identity_id`    | string  | No       | -       | Forward Identity ID でフィルターします。                           |
| `template_id`    | string  | No       | -       | Forward Template ID でフィルターします。                           |
| `limit`          | integer | No       | 20      | 1 ページあたりの件数。最大 100。                                      |
| `after_id`       | string  | No       | -       | 指定した Channel ID より後のレコードを取得するためのカーソル。                    |
| `before_id`      | string  | No       | -       | 指定した Channel ID より前のレコードを取得するためのカーソル。                    |

## Example request

```bash theme={null}
curl -s -X GET 'https://api.qoder.com/api/v1/forward/channels?identity_id=idn_019eabc123&limit=20' \
  -H "Authorization: Bearer $QODER_PAT"
```

## Example response

**HTTP 200 OK**

```json theme={null}
{
  "data": [
    {
      "id": "channel_019eabc123",
      "type": "channel",
      "identity_id": "idn_019eabc123",
      "template_id": "tmpl_support",
      "channel_type": "feishu",
      "name": "Support Feishu channel",
      "enabled": true,
      "binding_status": "bound",
      "channel_config": {
        "response_options": {
          "include_tool_calls": false,
          "include_thinking": false
        }
      },
      "created_at": "2026-06-18T10:00:00Z",
      "updated_at": "2026-06-18T10:00:00Z"
    }
  ],
  "first_id": "channel_019eabc123",
  "last_id": "channel_019eabc123",
  "has_more": false
}
```

## Response fields

| Field      | Type         | Description             |
| ---------- | ------------ | ----------------------- |
| `data`     | array        | 現在のページの Channel オブジェクト。 |
| `first_id` | string\|null | このページの最初の Channel の ID。 |
| `last_id`  | string\|null | このページの最後の Channel の ID。 |
| `has_more` | boolean      | さらにレコードが残っているかどうか。      |

## Errors

| HTTP | Type                    | Code                       | Trigger                    |
| ---- | ----------------------- | -------------------------- | -------------------------- |
| 400  | `invalid_request_error` | `invalid_pagination`       | ページネーションパラメーターが無効です。       |
| 400  | `invalid_request_error` | `channel_type_unsupported` | チャネルタイプのフィルターがサポートされていません。 |
| 401  | `authentication_error`  | `authentication_required`  | PAT が無効または期限切れです。          |

## Notes

* `after_id` と `before_id` は同時に指定できません。
* チャネルは呼び出し元のアカウント境界内でのみ返されます。

## Related

<CardGroup cols={2}>
  <Card title="チャネルの作成" icon="plus" href="/cloud-agents/api/forward/channels/create" />

  <Card title="チャネルの取得" icon="file-lines" href="/cloud-agents/api/forward/channels/get" />
</CardGroup>
