Skip to main content
Schedules

スケジュールを一覧表示する

Identity の Forward スケジュールをカーソルページネーションで一覧表示します。

GET /api/v1/forward/schedules Schedule 設定レコードを返します。アーカイブ済みのスケジュールはデフォルトで除外されます。

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT または SAT>

Query parameters

ParameterTypeRequiredDefaultDescription
identity_idstringConditional-PAT または管理者 SAT は省略でき、現在の owner 配下の全 Identity を検索します。Identity-bound SAT は省略時に自身へ固定され、別の Identity を明示すると 403 になります。
template_idstringNo-Forward Template ID でフィルタリングします。
statusstringNo-active または paused でフィルタリングします。
include_archivedbooleanNofalseアーカイブ済みのスケジュールを含めます。
limitintegerNo201 ページあたりの項目数。最大 100。
after_idstringNo-指定した Schedule ID より後のレコードのカーソル。
before_idstringNo-指定した Schedule ID より前のレコードのカーソル。
sort_bystringNocreated_atソート項目:created_at または upcoming_runs_at
orderstringNodescソート方向:asc または desc

Example request

curl -s -X GET 'https://api.qoder.com/api/v1/forward/schedules?sort_by=upcoming_runs_at&order=desc&limit=20' \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN"

Example response

HTTP 200 OK
{
  "data": [
    {
      "id": "sched_019f00112233445566778899aabbccdd",
      "source": "api",
      "source_session_id": null,
      "identity_id": "idn_019eabc123",
      "template_id": "tmpl_support",
      "name": "Daily tech brief",
      "description": "Generate a daily technology news summary",
      "status": "active",
      "initial_events": [
        {
          "type": "user.message",
          "content": "Summarize current technology news in five bullet points."
        }
      ],
      "execution": {
        "session_mode": "new_session",
        "max_concurrent_runs": 1,
        "max_attempts": 2,
        "timeout_ms": 300000
      },
      "trigger_policy": {
        "type": "cron",
        "expression": "0 9 * * *",
        "timezone": "Asia/Shanghai",
        "upcoming_runs_at": [
          "2026-06-23T01:00:00Z"
        ]
      },
      "environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
      "sinks": [
        {
          "type": "im_channel",
          "channel_id": "channel_xxx",
          "target": {
            "type": "user",
            "external_id": "536769"
          }
        }
      ],
      "metadata": {},
      "created_at": "2026-06-22T10:00:00Z",
      "updated_at": "2026-06-22T10:00:00Z"
    }
  ],
  "first_id": "sched_019f00112233445566778899aabbccdd",
  "last_id": "sched_019f00112233445566778899aabbccdd",
  "has_more": false
}

Response fields

FieldTypeDescription
dataSchedule オブジェクトの配列現在のページのレコード。
first_idstring|nullこのページの最初のレコードの ID。
last_idstring|nullこのページの最後のレコードの ID。
has_morebooleanさらにレコードが残っているかどうか。

Errors

HTTPTypeCodeTrigger
400invalid_request_errorinvalid_identityidentity_id が無効です。
400invalid_request_errorinvalid_requestsort_byorder が無効、after_idbefore_id を同時指定、またはカーソルに未対応の制御文字が含まれます。
400invalid_request_errorinvalid_limitlimit が 1~100 の整数ではありません。
401authentication_errorauthentication_requiredPAT または SAT が無効または期限切れです。
403permission_erroridentity_mismatchIdentity-bound SAT が別の Identity を明示的に要求しました。

Notes

  • デフォルトでは (created_at, schedule_id) の降順です。sort_by=upcoming_runs_at では次回実行時刻と schedule_id で安定ソートします。
  • 次回実行時刻がない Schedule は、order に関係なく次回実行時刻があるレコードの後に並びます。
  • after_idbefore_id は同時指定できません。ソート変更時はページネーションを最初からやり直してください。
  • v1 互換のため、現在の owner/Identity で見つからない有効なカーソルは無視され、先頭ページを返します。この互換動作には依存せず、同じ owner/Identity、sort_byorder で返されたカーソルのみ再利用してください。
  • PAT または管理者 SAT が現在の owner 配下にない identity_id を指定すると空配列を返します。Identity-bound SAT の Identity 越境は 403 です。
  • アーカイブ済みのレコードは include_archived=true の場合のみ返されます。