本文へ移動
Bounty Developer

POST/api/mcp/uploads

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

要約

画像・SVG の一時アップロードの受け口を作る(約 30 分・1 回限りの URL。バイト列は uploadUrl へ直接送る。公開なし)

呼び方と印

ログイン・レート制限

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

送るもの(本文)application/json

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

  • purpose必須enum(6)
    • "content_thumbnail"
    • "company_logo"
    • "booth_logo"
    • "member_photo"
    • "venue_map_svg"
    • "venue_map_image"
  • filename任意string
    長さ 1–120 · /^[^\u0000-\u001f\u007f\/\\]+$/
  • declaredBytes必須integer
    ≤4194304

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

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

  • uploadIdstring(uuid)
  • purposeenum(6)"content_thumbnail" "company_logo" "booth_logo" "member_photo" "venue_map_svg" "venue_map_image"
  • uploadUrlstring(uri)
  • expiresAtstring(date-time)
  • maxBytesinteger
  • svgMaxBytes任意integer
  • acceptarray<string>件数 ≥1

失敗したとき(エラー)

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

  • 400入力の誤り(error = invalid_input など)
  • 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
  • 403HTTP 403(x-bounty-error-codes を参照)
  • 413HTTP 413(x-bounty-error-codes を参照)
  • 428HTTP 428(x-bounty-error-codes を参照)
  • 429HTTP 429(x-bounty-error-codes を参照)
  • 503HTTP 503(x-bounty-error-codes を参照)
  • invalid_token
  • unauthorized
  • consent_required
  • upload_purpose_forbidden
  • invalid_input
  • image_too_large
  • svg_too_large
  • too_many_open_uploads
  • upload_daily_limit
  • public_origin_not_configured

呼び出しの見本

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

curl -X POST "https://bounty.spikes.4s.link/api/mcp/uploads" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "purpose": "content_thumbnail",
    "declaredBytes": 0
  }'
POST /api/mcp/uploads | Bounty Developer