POST/api/boshu/calls/{id}/questionnaire/shelve
「BOSHU の管理」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。
- 要約
その募集だけのモジュールを棚に入れて参照に置き換え、同じ transaction で保存する(質問の鍵は変えない。このイベントの棚 = イベントの管理者以上、全イベント共通 = 運営の管理者)
- 呼び方と印
ログイン
URL に付ける値(パラメータ)
経路の中の波かっこの部分と、URL の ? の後ろに付ける値。「必須」の印があるものは省けない。
idpath必須string(uuid)
送るもの(本文)application/json
送る本文の欄。「必須」の印がある欄は省けない。
page必須objectid必須"p_boshu"destination必須"boshu_call"placement必須"submit"title必須string長さ 1–80modules必須array<object | object | object>件数 ≤20|1必須objectkind必須"shared"id必須string/^mr_[a-z0-9]{4,24}$/moduleId必須string(uuid)pinned任意any|2必須objectkind必須"inline"id必須string/^mr_[a-z0-9]{4,24}$/body必須objecttitle必須string長さ 1–80help任意string | null長さ ≤400questions必須array<any>件数 1–30|3必須objectkind必須"legacy"id必須"mr_legacy"body必須objecttitle必須string長さ 1–80help任意string | null長さ ≤400questions必須array<object>件数 ≤60id必須string/^q_[a-z0-9]{4,24}$/type必須enum(9)- "short"
- "long"
- "single"
- "multi"
- "check"
- "url"
- "date"
- "image"
- "document"
label必須string長さ 1–120help任意string | null長さ ≤1000required任意boolean既定 falseenabled任意booleanoptions任意array<object>件数 ≤20 · 既定 []sensitive任意boolean既定 falsemaxLength任意integer1–2000section任意string長さ 1–80organizationField任意enum(11)- "name"
- "nameKana"
- "organizationType"
- "baseUniversities"
- "foundedYearMonth"
- "memberCount"
- "studentMemberCount"
- "genres"
- "links"
- "catchphrase"
- "activitySummary"
profileField任意enum(9)- "displayName"
- "title"
- "orgName"
- "schoolName"
- "gradYear"
- "organizations"
- "faculty"
- "standing"
- "grade"
memberSelection任意objectcondition任意objectrefId必須string長さ 1–40key必須string/^m_[a-z0-9_]{2,40}$/platform任意boolean既定 falsealsoTickets任意boolean既定 falseexpectedVersion任意integer | null≥0
返るもの(応答)200 · application/json
成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。
versionintegerchangedbooleanreapprovedbooleanpendingReviewbooleanquestionnaireobjectcallIdstring(uuid)versioninteger | nullpageobjectidstringdestinationstringplacementstringtitlestringmodulesarray<object | object>|1objectkind"shared"idstringmoduleIdstringpinned任意objectrevisionintegerbodyobjecttitlestringhelpstring | nullquestionsarray<object>
|2objectkind"inline" | "legacy"idstringbodyobjecttitlestringhelpstring | nullquestionsarray<object>
placedarray<object>refIdstringmoduleIdstringrevisioninteger | nullshelfRevisioninteger | nulloutdatedbooleanarchivedboolean
shelfarray<object>idstringkeystringeventIdstring | nulldestinationsarray<string>revisionintegerbodyobjecttitlestringhelpstring | nullquestionsarray<object>idstringtypestringlabelstring
archivedAt任意string | nullplacedbooleancanEditboolean
失敗したとき(エラー)
失敗したときの状態コードと、その意味。本文の error の値で、プログラムが失敗の種類を見分けられる。
- 400入力の誤り(error = invalid_input など)
- 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
- 403HTTP 403(x-bounty-error-codes を参照)
- 409HTTP 409(x-bounty-error-codes を参照)
- 422HTTP 422(x-bounty-error-codes を参照)
- questions_changed
- call_not_found
- invalid_input
- manager_reverify_required
- questionnaire_invalid
- creative_questions_required
- member_selection_requires_organization
- forbidden
- module_ref_not_found
- module_already_shared
- module_key_taken
- module_invalid
- shelf_unavailable
呼び出しの見本
そのまま試せる呼び出しの例。curl と fetch をタブで切り替える。ID やトークンは自分の値に置き換える。
curl -X POST "https://bounty.spikes.4s.link/api/boshu/calls/{id}/questionnaire/shelve" \
-H "Authorization: Bearer $BEARER_AUTH" \
-H "Content-Type: application/json" \
-d '{
"page": {
"id": "p_boshu",
"destination": "boshu_call",
"placement": "submit",
"title": "string",
"modules": []
},
"refId": "string",
"key": "string"
}'