本文へ移動
Bounty Developer

POST/api/companies/drafts/upsert

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

要約

会社ページを非公開の下書きとして保存(新規は運営 admin、更新は自社の管理者も可。公開中は 409)

呼び方と印

ログイン・レート制限

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

送るもの(本文)application/json

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

  • slug必須string
    /^[a-z0-9-]{1,100}$/
  • name必須string
    長さ 1–120
  • description任意string
    長さ ≤200
  • website任意string
    長さ ≤2048
  • logoUploadId任意string(uuid)
  • logoSourceUrl任意string
    長さ ≤2048
  • idempotencyKey必須string
    /^[A-Za-z0-9][A-Za-z0-9_.:-]{15,99}$/
  • expectedRevision必須integer
    0–2147483646

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

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

  • idstring(uuid)
  • slugstring
  • revisioninteger
  • hashstring/^[0-9a-f]{64}$/
  • logoobject
    • status"applied" | "kept_existing_svg" | "unchanged"
    • mime"image/webp" | "image/svg+xml" | null
  • status"draft"
  • publication"draft_only"
  • replayedboolean

失敗したとき(エラー)

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

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

呼び出しの見本

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

curl -X POST "https://bounty.spikes.4s.link/api/companies/drafts/upsert" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "string",
    "name": "string",
    "idempotencyKey": "string",
    "expectedRevision": 0
  }'
POST /api/companies/drafts/upsert | Bounty Developer