Skip to main content
Schedules

スケジュールを一括アーカイブする

明示した ID で最大 50 件の Forward Schedule をアーカイブします。

POST /api/v1/forward/schedules/archive Schedule と Schedule Run を物理削除せずにアーカイブします。PAT と管理者 SAT のみ使用でき、Identity-bound SAT は使用できません。

ヘッダー

HeaderRequiredDescription
AuthorizationYesBearer <PAT または管理者 SAT>
Content-TypeYesapplication/json
Idempotency-KeyNo同じ owner、パス、本文のリクエストを安全に再実行するためのキー。

リクエストボディ

ParameterTypeRequiredDescription
schedule_idsarray<string>Yes重複排除後に 1~50 件の空でない Schedule ID。
本文は厳格な JSON フィールド検証を使用します。未知のフィールドや 2 つ目の JSON 値は 400 invalid_request_body になります。

リクエスト例

curl -s -X POST 'https://api.qoder.com/api/v1/forward/schedules/archive' \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: archive-schedules-20260821" \
  -d '{"schedule_ids":["sched_019f00112233445566778899aabbccdd","sched_019f00112233445566778899aabbccee"]}'
Identity または owner 全体を処理する場合は、まず GET /api/v1/forward/schedules?identity_id=<id>&limit=100 で一覧を取得し、last_idafter_id としてページネーションします。確認した ID を最大 50 件ずつ送信し、各バッチに別の Idempotency-Key を使用してください。1 バッチはアトミックですが、複数バッチ全体はアトミックではありません。現在の owner を対象とする場合は identity_id を省略します。処理中に新しい Schedule が作成される可能性がある場合は、各巡回後に最初のページから再取得し、対象がなくなるまで繰り返してください。 archived_count は未アーカイブからアーカイブに変更された Schedule の数です。すでにアーカイブ済みの対象は再計上されません。

レスポンス例

{"archived_count": 2}

アーカイブの動作

  • activepaused の両方をアーカイブできます。archived_at が設定され、次回実行時刻が消去され、新しい Run は作成されません。
  • owner 内ですべての ID を解決してから更新します。存在しない ID や別 owner の ID が 1 件でもあると、バッチ全体が 404 になります。
  • アーカイブ済み ID は no-op です。すべてアーカイブ済みなら archived_count: 0 を返します。
  • 既存の pending または running Run はキャンセル、変更、削除されません。
  • Schedule は ID または include_archived=true で取得でき、履歴 Run も引き続き取得できます。
  • Idempotency-Key を省略しても、同じリクエストの再実行は冪等です。同じキーと本文を再利用すると、最初のレスポンスが Idempotency-Replayed: true とともに返されます。
  • Forward は DELETE /api/v1/forward/schedules を提供せず、Schedule または Schedule Run の物理削除も提供しません。

エラー

HTTPTypeCodeTrigger
400invalid_request_errorinvalid_request_bodyJSON が無効、scopeidentity_id など未知のフィールド、または追加の JSON 値。
400invalid_request_errorinvalid_requestID が空、または重複排除後の件数が 1~50 ではありません。
401authentication_errorauthentication_requiredPAT または SAT が無効または期限切れです。
403permission_erroridentity_mismatchIdentity-bound SAT が管理者 API を呼び出しました。
404not_found_errorschedule_not_foundSchedule が存在しないか、別の owner に属します。
409conflict_erroridempotency_key_reused同じキーを異なる本文に再利用しました。

関連