本文へ移動
Bounty Developer

POST/api/events/create

「イベント」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。

要約

本人の4S OAuthでイベント下書きを一度作成。同じrequestIdは結果を返し、結果不明の再送・別キー作成を止める

呼び方と印

ログイン・レート制限

短い時間に呼びすぎると断られる API(レート制限)。断られたら Retry-After の秒数を待って呼び直す。

送るもの(本文)application/json

送る本文の欄。「必須」の印がある欄は省けない。

  • requestId必須string(uuid)
  • title必須string
    長さ 1–200
  • description任意string
    長さ ≤20000 · 既定 ""
  • eventType必須"ONSITE" | "ONLINE" | "HYBRID"
  • timezone必須string
    長さ 1–100
  • schedules必須array<object>
    件数 1–30
  • date必須string
    /^\d{4}-\d{2}-\d{2}$/
  • startTime必須string
    /^(?:[01]\d|2[0-3]):[0-5]\d$/
  • endTime必須string
    /^(?:[01]\d|2[0-3]):[0-5]\d$/
  • location任意object
  • displayText必須string
    長さ 1–1000
  • onlineUrl任意string(uri)
    長さ ≤2000

返るもの(応答)200 · application/json

成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。

  • receiptobject
    • requestIdstring(uuid)
    • state"sending" | "succeeded" | "uncertain" | "rejected"
    • titlestring長さ ≤200
    • foursEventIdstring | null
    • manageUrlstring(uri) | null
    • createdAtstring(date-time)

失敗したとき(エラー)

失敗したときの状態コードと、その意味。本文の error の値で、プログラムが失敗の種類を見分けられる。

  • 400入力の誤り(error = invalid_input など)
  • 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
  • 403権限が無い
  • 409HTTP 409(x-bounty-error-codes を参照)
  • 413HTTP 413(x-bounty-error-codes を参照)
  • 428HTTP 428(x-bounty-error-codes を参照)
  • 429レート制限(Retry-After 付き)
  • 503HTTP 503(x-bounty-error-codes を参照)
  • invalid_input
  • event_create_disabled
  • fours_relogin_required
  • event_create_request_changed
  • event_create_unresolved
  • consent_required
  • rate_limit_unavailable

呼び出しの見本

そのまま試せる呼び出しの例。curl と fetch をタブで切り替える。ID やトークンは自分の値に置き換える。

curl -X POST "https://bounty.spikes.4s.link/api/events/create" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "eventType": "ONSITE",
    "timezone": "string",
    "schedules": [
      {
        "date": "string",
        "startTime": "string",
        "endTime": "string"
      }
    ]
  }'
POST /api/events/create | Bounty Developer