POST/api/me/portfolio/upload/complete
「自分」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。
- 要約
上げたファイルを SPIKES が検証する(通れば作品の media に入れる値)
- 呼び方と印
ログイン・レート制限
短い時間に呼びすぎると断られる API(レート制限)。断られたら Retry-After の秒数を待って呼び直す。
送るもの(本文)application/json
送る本文の欄。「必須」の印がある欄は省けない。
purpose必須"media" | "poster" | "document"kind必須"image" | "video" | "pdf"url必須string長さ ≤2048durationSec任意numberwidth任意integer1–100000height任意integer1–100000
返るもの(応答)200 · application/json
成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。
mediaobjectpurpose"media" | "poster" | "document"kind"image" | "video" | "pdf"urlstringpathnamestringcontentTypestringsizeBytesnumberdurationSec任意numberwidth任意integerheight任意integer
失敗したとき(エラー)
失敗したときの状態コードと、その意味。本文の error の値で、プログラムが失敗の種類を見分けられる。
- 400入力の誤り(error = invalid_input など)
- 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
- 403権限が無い
- 429レート制限(Retry-After 付き)
- media_out_of_scope
- media_verification_failed
- video_too_long
- poster_must_be_image
- not_linked
- deleted
- portfolio_unavailable
- portfolio_not_configured
- rate_limited
呼び出しの見本
そのまま試せる呼び出しの例。curl と fetch をタブで切り替える。ID やトークンは自分の値に置き換える。
curl -X POST "https://bounty.spikes.4s.link/api/me/portfolio/upload/complete" \
-H "Authorization: Bearer $BEARER_AUTH" \
-H "Content-Type: application/json" \
-d '{
"purpose": "media",
"kind": "image",
"url": "string"
}'