POST/api/v1/boshu/{id}/partner
「BOSHU の外部 API」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。
- 要約
本人の明示同意・必要な団体登録・既存BOSHU応募・イベントとの関連を一括保存する。イベントの企画募集では、同じイベントのパートナー登録(団体ごとに1回、登録済みなら再利用)と企画への応募を1回の送信で記録する(承認・所属確定・選考なし)
- 呼び方と印
ログイン・レート制限
短い時間に呼びすぎると断られる API(レート制限)。断られたら Retry-After の秒数を待って呼び直す。
URL に付ける値(パラメータ)
経路の中の波かっこの部分と、URL の ? の後ろに付ける値。「必須」の印があるものは省けない。
idpath必須string(uuid)
送るもの(本文)application/json
送る本文の欄。「必須」の印がある欄は省けない。
expectedActorId必須string(uuid)expectedEventId必須string(uuid)intentId必須string(uuid)expectedQuestionSetId必須string(uuid)organization必須object | object|1必須objectmode必須"existing"kind必須"guild" | "venture" | "company"id必須string(uuid)|2必須objectmode必須"new"registration必須object | object | object|1必須objectkind必須"guild"data必須objectbasicProfile任意objectnameKana任意string | null長さ ≤240organizationType任意string | null長さ ≤80baseUniversities任意array<string>件数 ≤20foundedYearMonth任意string | null/^(19[5-9]\d|20\d\d|2100)-(0[1-9]|1[0-2])$/studentMemberCount任意integer | null0–100000activitySummary任意string | null長さ ≤2000catchphrase任意string | null長さ ≤40memberCount任意integer | null1–100000intentId必須string(uuid)name必須string長さ 1–200website必須string長さ ≤500instagram必須string長さ ≤500x必須string長さ ≤500otherLinks必須array<object>Array<{ title: 1-40文字, url: https 500文字以内 }>(最大10件)。旧形式(改行区切りのURL文字列 / URL文字列の配列)も受け、タイトルは hostname になる件数 ≤10title必須string長さ ≥1url必須string長さ ≥1memberScale必須enum(8)- "1人"
- "2-4人"
- "5-9人"
- "10-19人"
- "20-49人"
- "50人以上"
- "1-4人"
- "20-50人"
categories必須array<enum(29)>件数 1–29otherCategory必須string長さ ≤120description必須string長さ 1–30logoImageId必須string(uuid)applicant必須objectrole必須string長さ ≤100name必須string長さ ≤120userId任意string(uuid) | nullinstitution任意string長さ ≤200 · 既定 ""graduation任意string長さ ≤40 · 既定 ""lineUrl任意string長さ ≤2048 · 既定 ""instagram任意string長さ ≤2048 · 既定 ""email必須string(email)長さ 1–254representativeSameApplicant必須booleanrepresentative必須objectrole必須string長さ ≤100name必須string長さ ≤120userId任意string(uuid) | nullinstitution任意string長さ ≤200 · 既定 ""graduation任意string長さ ≤40 · 既定 ""lineUrl任意string長さ ≤2048 · 既定 ""instagram任意string長さ ≤2048 · 既定 ""nextRepresentativeUndecided必須booleannextRepresentative必須objectrole必須string長さ ≤100name必須string長さ ≤120userId任意string(uuid) | nullinstitution任意string長さ ≤200 · 既定 ""graduation任意string長さ ≤40 · 既定 ""lineUrl任意string長さ ≤2048 · 既定 ""instagram任意string長さ ≤2048 · 既定 ""officers必須array<object>件数 ≤7role必須string長さ 1–100name必須string長さ 1–120userId任意string(uuid) | nullacademic必須objectgradYear必須integer | null1950–2100gradMonth任意integer | null1–12enrollmentStatus必須enum(5)- "active"
- "on_leave"
- "graduated"
- "withdrawn"
- "unknown"
schoolCode任意string | null/^[A-Z0-9]{4,16}$/schoolName任意string | null長さ ≤80platformConsent必須true|2必須objectkind必須"venture"data必須objectfoundingHistory任意objectpersonName必須string長さ 1–80roleAtFounding必須"founder" | "representative" | "director" | "shareholder"foundingYear必須integer1900–2100schoolName必須string長さ 1–80gradeAtFounding必須enum(31)- "高校1年"
- "高校2年"
- "高校3年"
- "高専1年"
- "高専2年"
- "高専3年"
- "高専4年"
- "高専5年"
- "専門1年"
- "専門2年"
- "専門3年"
- "専門4年"
- …+19
studentAtFounding必須truebasicProfile任意objectnameKana任意string | null長さ ≤240organizationType任意string | null長さ ≤80baseUniversities任意array<string>件数 ≤20foundedYearMonth任意string | null/^(19[5-9]\d|20\d\d|2100)-(0[1-9]|1[0-2])$/studentMemberCount任意integer | null0–100000activitySummary任意string | null長さ ≤2000catchphrase任意string | null長さ ≤40corporateNumber必須string長さ ≤40legalName必須string長さ 1–80displayName任意string | null長さ ≤80url必須string長さ ≤2048works任意array<object>件数 ≤24id必須string/^w_[a-z0-9]{4,24}$/title必須string長さ 1–60url任意string | null長さ ≤2048imageId任意string(uuid) | nulltext任意string | null長さ ≤200year任意integer | null1950–2100description必須string長さ 1–400foundedYear任意integer | null1950–2100industries任意array<enum(12)>件数 ≤5 · 既定 []links任意array<object>件数 ≤18kind必須enum(8)- "website"
- "x"
- "instagram"
- "youtube"
- "tiktok"
- "facebook"
- "note"
- "discord"
url必須string長さ ≤2048title任意string長さ ≥1financials任意objectrevenue必須integer | null≥0profit必須integer | nullemployeeCount必須integer1–100000logoImageId必須string(uuid)guildId任意string(uuid) | nullmyRole任意enum(7)- "representative"
- "director"
- "shareholder"
- "founder"
- "employee"
- "advisor"
- "intern"
myTitle任意string | null長さ ≤40myJoinedYear任意integer | null1950–2100contact任意string | null長さ ≤60academic必須objectgradYear必須integer | null1950–2100gradMonth任意integer | null1–12enrollmentStatus必須enum(5)- "active"
- "on_leave"
- "graduated"
- "withdrawn"
- "unknown"
schoolCode任意string | null/^[A-Z0-9]{4,16}$/schoolName任意string | null長さ ≤80invites任意array<object>件数 ≤16userId任意string(uuid) | nullname必須string長さ 1–40email任意string(email) | null長さ ≤254school任意string | null長さ ≤80title任意string | null長さ ≤40instagram任意string | null長さ ≤2048gradYear任意integer | null1950–2100role必須enum(7)- "representative"
- "director"
- "shareholder"
- "founder"
- "employee"
- "advisor"
- "intern"
student任意boolean既定 falseconsent必須true|3必須objectkind必須"company"data必須objectname必須string長さ 1–120description必須string長さ 1–200website任意string | null長さ ≤2048logoImageId必須string(uuid)application必須objectexpectedOrganizationUpdatedAt任意string(date-time) | nullexpectedUpdatedAt任意string(date-time) | nullapplicantOrgId任意string(uuid) | nullchatConsent任意boolean既定 falseheadline任意string | null長さ ≤200message任意string長さ ≤4000 · 既定 ""links任意array<object>件数 ≤3url必須string長さ ≤2048label任意string | null長さ ≤30portfolioItemIds任意array<string>件数 ≤3 · 既定 []answers任意record<any>既定 {}participation任意objectenrollmentStatus任意enum(5)- "active"
- "on_leave"
- "graduated"
- "withdrawn"
- "unknown"
gradYear任意integer | null1950–2100gradMonth任意integer | null1–12schoolName任意string | null長さ ≤80participantCategory任意"professional"title任意string | nullorgName任意string | nulleventApplication任意object | nullexpectedCallId必須string(uuid)expectedQuestionSetId必須string(uuid)application必須objectexpectedOrganizationUpdatedAt任意string(date-time) | nullexpectedUpdatedAt任意string(date-time) | nullapplicantOrgId任意string(uuid) | nullchatConsent任意boolean既定 falseheadline任意string | null長さ ≤200message任意string長さ ≤4000 · 既定 ""links任意array<object>件数 ≤3url必須string長さ ≤2048label任意string | null長さ ≤30portfolioItemIds任意array<string>件数 ≤3 · 既定 []answers任意record<any>既定 {}participation任意objectenrollmentStatus任意enum(5)- "active"
- "on_leave"
- "graduated"
- "withdrawn"
- "unknown"
gradYear任意integer | null1950–2100gradMonth任意integer | null1–12schoolName任意string | null長さ ≤80participantCategory任意"professional"title任意string | nullorgName任意string | nullconsents必須objectplatform必須trueevent必須trueserviceTerms任意objectaccepted必須trueversion必須string長さ ≤80recipientSharing必須objectaccepted必須trueversion必須"2026-10-01"audience任意objectaudience必須"public" | "matched"under18任意booleanregistrant任意objectdisplayName必須string長さ ≤200orgName任意string長さ ≤200
返るもの(応答)200 · application/json
成功したときに返る形。入れ子の欄は、その行を押すと開く・閉じる。「任意」の印がある欄は返らないことがある。
idstring(uuid)intentIdstring(uuid)replayedbooleanorganizationobjectkind"guild" | "venture" | "company"idstring(uuid)slugstringplatformApprovalstringplatformApplicationIdstring(uuid) | null
eventobjectidstring(uuid)callIdstring(uuid)applicationIdstring(uuid)statusenum(6)"pending" "hold" "accepted" "waitlisted" "rejected" "withdrawn"createdboolean
programmeobject | nullcallIdstring(uuid)applicationIdstring(uuid)statusenum(6)"pending" "hold" "accepted" "waitlisted" "rejected" "withdrawn"
失敗したとき(エラー)
失敗したときの状態コードと、その意味。本文の error の値で、プログラムが失敗の種類を見分けられる。
- 400HTTP 400(x-bounty-error-codes を参照)
- 401HTTP 401(x-bounty-error-codes を参照)
- 403HTTP 403(x-bounty-error-codes を参照)
- 404HTTP 404(x-bounty-error-codes を参照)
- 409HTTP 409(x-bounty-error-codes を参照)
- 413HTTP 413(x-bounty-error-codes を参照)
- 415HTTP 415(x-bounty-error-codes を参照)
- 428HTTP 428(x-bounty-error-codes を参照)
- 429HTTP 429(x-bounty-error-codes を参照)
- 503HTTP 503(x-bounty-error-codes を参照)
- invalid_input
- unauthorized
- invalid_origin
- actor_changed
- intent_reused
- question_set_changed
- partner_event_changed
- partner_application_required
- partner_organization_forbidden
- partner_already_applied
- partner_organization_locked
- partner_organization_already_applied
- partner_application_conflict
- event_partner_call_ambiguous
- partner_already_registered
- partner_answers_required
- programme_already_applied
- invalid_applicant
- applicant_org_forbidden
- organization_field_changed
- organization_changed
- organization_registration_field_required
- call_changed
- call_not_found
- call_not_open
- call_closed
- invalid_answers
- consent_required
- policy_version_changed
- rate_limited
- student_required
- venture_exists
- houjin_unavailable
呼び出しの見本
そのまま試せる呼び出しの例。curl と fetch をタブで切り替える。ID やトークンは自分の値に置き換える。
curl -X POST "https://bounty.spikes.4s.link/api/v1/boshu/{id}/partner" \
-H "Authorization: Bearer $BEARER_AUTH" \
-H "Content-Type: application/json" \
-d '{
"expectedActorId": "00000000-0000-4000-8000-000000000000",
"expectedEventId": "00000000-0000-4000-8000-000000000000",
"intentId": "00000000-0000-4000-8000-000000000000",
"expectedQuestionSetId": "00000000-0000-4000-8000-000000000000",
"organization": {
"mode": "existing",
"kind": "guild",
"id": "00000000-0000-4000-8000-000000000000"
},
"application": {},
"consents": {
"platform": true,
"event": true,
"recipientSharing": {
"accepted": true,
"version": "2026-10-01"
}
}
}'