メインコンテンツへスキップ
POST /api/v1/forward/sessions/{session_id}/events セッションに入力イベントを追加します。Forward はユーザー入力イベントおよび制御されたシステム入力イベントを受け付けます。呼び出し元がエージェントイベントやセッションステータスイベントを偽造することはできません。

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>
Content-TypeYesapplication/json
Idempotency-KeyNo安全でないリクエスト向けの任意の冪等性キー。

Path parameters

ParameterTypeRequiredDescription
session_idstringYesSession ID。

Body parameters

ParameterTypeRequiredDescription
eventsarrayYes追加する Event オブジェクト。
events[].typestringYesInput Event の種類。
events[].contentarrayConditionaluser.messagesystem.message に必須。空でないコンテンツブロック配列である必要があります。
events[].file_attachmentsarrayNouser.message 用のファイル添付メタデータ。
events[].tool_use_idstringConditionaluser.tool_confirmationuser.tool_result に必須。
events[].custom_tool_use_idstringConditionaluser.custom_tool_result に必須。
events[].resultstringConditionaluser.tool_confirmation に必須: allow または deny
events[].deny_messagestringNoresult=deny の場合の拒否理由。
events[].descriptionstringConditionaluser.define_outcome に必須。
events[].rubricobjectConditionaluser.define_outcome に必須。
events[].reasonstringNouser.interrupt の割り込み理由。
events[].is_errorbooleanNoツール結果イベントのエラーフラグ。

Allowed input event types

user.message
user.interrupt
user.tool_confirmation
user.tool_result
user.custom_tool_result
user.define_outcome
system.message

Example request

curl -s -X POST 'https://api.qoder.com/api/v1/forward/sessions/sess_xxx/events' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      {
        "type": "user.message",
        "content": [
          {
            "type": "text",
            "text": "Continue the analysis."
          }
        ],
        "file_attachments": []
      }
    ]
  }'

Example response

HTTP 200 OK
{
  "data": [
    {
      "id": "evt_xxx",
      "type": "user.message",
      "session_id": "sess_xxx",
      "content": [
        {
          "type": "text",
          "text": "Continue the analysis."
        }
      ],
      "processed_at": "2026-06-22T11:00:00Z"
    }
  ]
}

Response fields

FieldTypeDescription
dataarrayForward のフィルタリング後に作成された Event オブジェクト。

Errors

HTTPTypeCodeTrigger
400invalid_request_errorinvalid_eventEvent の種類またはフィールドが無効。
401authentication_errorauthentication_requiredPAT が無効または期限切れ。
404not_found_errorsession_not_foundSession が存在しない。
409conflict_errorsession_archivedSession がアーカイブ済み。
409conflict_errorturn_already_running現在のターンが新しいターンを許可しない。
404not_found_errorpending_action_not_foundツール確認または結果に対応する保留中アクションがない。
409conflict_errorpending_action_already_resolved保留中アクションはすでに解決済み。

Notes

  • system.message はリクエストごとに 1 件までで、最後のイベントである必要があり、user.messageuser.tool_result、または user.custom_tool_result に続く必要があります。
  • レスポンスはフィルタリング済みの Forward Event オブジェクトを使用し、生のランタイムイベント JSON は公開しません。

セッションイベントの一覧取得

セッションイベントのストリーミング