本文へ移動
Bounty Developer

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必須object
  • mode必須"existing"
  • kind必須"guild" | "venture" | "company"
  • id必須string(uuid)
  • |2必須object
  • mode必須"new"
  • registration必須object | object | object
  • |1必須object
  • kind必須"guild"
  • data必須object
  • basicProfile任意object
  • nameKana任意string | null
    長さ ≤240
  • organizationType任意string | null
    長さ ≤80
  • baseUniversities任意array<string>
    件数 ≤20
  • foundedYearMonth任意string | null
    /^(19[5-9]\d|20\d\d|2100)-(0[1-9]|1[0-2])$/
  • studentMemberCount任意integer | null
    0–100000
  • activitySummary任意string | null
    長さ ≤2000
  • catchphrase任意string | null
    長さ ≤40
  • memberCount任意integer | null
    1–100000
  • intentId必須string(uuid)
  • name必須string
    長さ 1–200
  • website必須string
    長さ ≤500
  • instagram必須string
    長さ ≤500
  • x必須string
    長さ ≤500
  • otherLinks必須array<object>
    Array<{ title: 1-40文字, url: https 500文字以内 }>(最大10件)。旧形式(改行区切りのURL文字列 / URL文字列の配列)も受け、タイトルは hostname になる件数 ≤10
  • title必須string
    長さ ≥1
  • url必須string
    長さ ≥1
  • memberScale必須enum(8)
    • "1人"
    • "2-4人"
    • "5-9人"
    • "10-19人"
    • "20-49人"
    • "50人以上"
    • "1-4人"
    • "20-50人"
  • categories必須array<enum(29)>
    件数 1–29
  • otherCategory必須string
    長さ ≤120
  • description必須string
    長さ 1–30
  • logoImageId必須string(uuid)
  • applicant必須object
  • role必須string
    長さ ≤100
  • name必須string
    長さ ≤120
  • userId任意string(uuid) | null
  • institution任意string
    長さ ≤200 · 既定 ""
  • graduation任意string
    長さ ≤40 · 既定 ""
  • lineUrl任意string
    長さ ≤2048 · 既定 ""
  • instagram任意string
    長さ ≤2048 · 既定 ""
  • email必須string(email)
    長さ 1–254
  • representativeSameApplicant必須boolean
  • representative必須object
  • role必須string
    長さ ≤100
  • name必須string
    長さ ≤120
  • userId任意string(uuid) | null
  • institution任意string
    長さ ≤200 · 既定 ""
  • graduation任意string
    長さ ≤40 · 既定 ""
  • lineUrl任意string
    長さ ≤2048 · 既定 ""
  • instagram任意string
    長さ ≤2048 · 既定 ""
  • nextRepresentativeUndecided必須boolean
  • nextRepresentative必須object
  • role必須string
    長さ ≤100
  • name必須string
    長さ ≤120
  • userId任意string(uuid) | null
  • institution任意string
    長さ ≤200 · 既定 ""
  • graduation任意string
    長さ ≤40 · 既定 ""
  • lineUrl任意string
    長さ ≤2048 · 既定 ""
  • instagram任意string
    長さ ≤2048 · 既定 ""
  • officers必須array<object>
    件数 ≤7
  • role必須string
    長さ 1–100
  • name必須string
    長さ 1–120
  • userId任意string(uuid) | null
  • academic必須object
  • gradYear必須integer | null
    1950–2100
  • gradMonth任意integer | null
    1–12
  • enrollmentStatus必須enum(5)
    • "active"
    • "on_leave"
    • "graduated"
    • "withdrawn"
    • "unknown"
  • schoolCode任意string | null
    /^[A-Z0-9]{4,16}$/
  • schoolName任意string | null
    長さ ≤80
  • platformConsent必須true
  • |2必須object
  • kind必須"venture"
  • data必須object
  • foundingHistory任意object
  • personName必須string
    長さ 1–80
  • roleAtFounding必須"founder" | "representative" | "director" | "shareholder"
  • foundingYear必須integer
    1900–2100
  • schoolName必須string
    長さ 1–80
  • gradeAtFounding必須enum(31)
    • "高校1年"
    • "高校2年"
    • "高校3年"
    • "高専1年"
    • "高専2年"
    • "高専3年"
    • "高専4年"
    • "高専5年"
    • "専門1年"
    • "専門2年"
    • "専門3年"
    • "専門4年"
    • …+19
  • studentAtFounding必須true
  • basicProfile任意object
  • nameKana任意string | null
    長さ ≤240
  • organizationType任意string | null
    長さ ≤80
  • baseUniversities任意array<string>
    件数 ≤20
  • foundedYearMonth任意string | null
    /^(19[5-9]\d|20\d\d|2100)-(0[1-9]|1[0-2])$/
  • studentMemberCount任意integer | null
    0–100000
  • activitySummary任意string | null
    長さ ≤2000
  • catchphrase任意string | null
    長さ ≤40
  • corporateNumber必須string
    長さ ≤40
  • legalName必須string
    長さ 1–80
  • displayName任意string | null
    長さ ≤80
  • url必須string
    長さ ≤2048
  • works任意array<object>
    件数 ≤24
  • id必須string
    /^w_[a-z0-9]{4,24}$/
  • title必須string
    長さ 1–60
  • url任意string | null
    長さ ≤2048
  • imageId任意string(uuid) | null
  • text任意string | null
    長さ ≤200
  • year任意integer | null
    1950–2100
  • description必須string
    長さ 1–400
  • foundedYear任意integer | null
    1950–2100
  • industries任意array<enum(12)>
    件数 ≤5 · 既定 []
  • links任意array<object>
    件数 ≤18
  • kind必須enum(8)
    • "website"
    • "x"
    • "instagram"
    • "youtube"
    • "tiktok"
    • "facebook"
    • "note"
    • "discord"
  • url必須string
    長さ ≤2048
  • title任意string
    長さ ≥1
  • financials任意object
  • revenue必須integer | null
    ≥0
  • profit必須integer | null
  • employeeCount必須integer
    1–100000
  • logoImageId必須string(uuid)
  • guildId任意string(uuid) | null
  • myRole任意enum(7)
    • "representative"
    • "director"
    • "shareholder"
    • "founder"
    • "employee"
    • "advisor"
    • "intern"
    既定 "representative"
  • myTitle任意string | null
    長さ ≤40
  • myJoinedYear任意integer | null
    1950–2100
  • contact任意string | null
    長さ ≤60
  • academic必須object
  • gradYear必須integer | null
    1950–2100
  • gradMonth任意integer | null
    1–12
  • enrollmentStatus必須enum(5)
    • "active"
    • "on_leave"
    • "graduated"
    • "withdrawn"
    • "unknown"
  • schoolCode任意string | null
    /^[A-Z0-9]{4,16}$/
  • schoolName任意string | null
    長さ ≤80
  • invites任意array<object>
    件数 ≤16
  • userId任意string(uuid) | null
  • name必須string
    長さ 1–40
  • email任意string(email) | null
    長さ ≤254
  • school任意string | null
    長さ ≤80
  • title任意string | null
    長さ ≤40
  • instagram任意string | null
    長さ ≤2048
  • gradYear任意integer | null
    1950–2100
  • role必須enum(7)
    • "representative"
    • "director"
    • "shareholder"
    • "founder"
    • "employee"
    • "advisor"
    • "intern"
  • student任意boolean
    既定 false
  • consent必須true
  • |3必須object
  • kind必須"company"
  • data必須object
  • name必須string
    長さ 1–120
  • description必須string
    長さ 1–200
  • website任意string | null
    長さ ≤2048
  • logoImageId必須string(uuid)
  • application必須object
  • expectedOrganizationUpdatedAt任意string(date-time) | null
  • expectedUpdatedAt任意string(date-time) | null
  • applicantOrgId任意string(uuid) | null
  • chatConsent任意boolean
    既定 false
  • headline任意string | null
    長さ ≤200
  • message任意string
    長さ ≤4000 · 既定 ""
  • links任意array<object>
    件数 ≤3
  • url必須string
    長さ ≤2048
  • label任意string | null
    長さ ≤30
  • portfolioItemIds任意array<string>
    件数 ≤3 · 既定 []
  • answers任意record<any>
    既定 {}
  • participation任意object
  • enrollmentStatus任意enum(5)
    • "active"
    • "on_leave"
    • "graduated"
    • "withdrawn"
    • "unknown"
  • gradYear任意integer | null
    1950–2100
  • gradMonth任意integer | null
    1–12
  • schoolName任意string | null
    長さ ≤80
  • participantCategory任意"professional"
  • title任意string | null
  • orgName任意string | null
  • eventApplication任意object | null
  • expectedCallId必須string(uuid)
  • expectedQuestionSetId必須string(uuid)
  • application必須object
  • expectedOrganizationUpdatedAt任意string(date-time) | null
  • expectedUpdatedAt任意string(date-time) | null
  • applicantOrgId任意string(uuid) | null
  • chatConsent任意boolean
    既定 false
  • headline任意string | null
    長さ ≤200
  • message任意string
    長さ ≤4000 · 既定 ""
  • links任意array<object>
    件数 ≤3
  • url必須string
    長さ ≤2048
  • label任意string | null
    長さ ≤30
  • portfolioItemIds任意array<string>
    件数 ≤3 · 既定 []
  • answers任意record<any>
    既定 {}
  • participation任意object
  • enrollmentStatus任意enum(5)
    • "active"
    • "on_leave"
    • "graduated"
    • "withdrawn"
    • "unknown"
  • gradYear任意integer | null
    1950–2100
  • gradMonth任意integer | null
    1–12
  • schoolName任意string | null
    長さ ≤80
  • participantCategory任意"professional"
  • title任意string | null
  • orgName任意string | null
  • consents必須object
  • platform必須true
  • event必須true
  • serviceTerms任意object
  • accepted必須true
  • version必須string
    長さ ≤80
  • recipientSharing必須object
  • accepted必須true
  • version必須"2026-10-01"
  • audience任意object
  • audience必須"public" | "matched"
  • under18任意boolean
  • registrant任意object
  • displayName必須string
    長さ ≤200
  • orgName任意string
    長さ ≤200

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

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

  • idstring(uuid)
  • intentIdstring(uuid)
  • replayedboolean
  • organizationobject
    • kind"guild" | "venture" | "company"
    • idstring(uuid)
    • slugstring
    • platformApprovalstring
    • platformApplicationIdstring(uuid) | null
  • eventobject
    • idstring(uuid)
    • callIdstring(uuid)
    • applicationIdstring(uuid)
    • statusenum(6)"pending" "hold" "accepted" "waitlisted" "rejected" "withdrawn"
    • createdboolean
  • programmeobject | null
    • callIdstring(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"
      }
    }
  }'
POST /api/v1/boshu/{id}/partner | Bounty Developer