本文へ移動
Bounty Developer

POST/api/guilds/register

「学生団体・ベンチャー」の分類の、新しく作る、または操作を実行するために内容を送る API。ログインした本人として呼ぶ。

要約

学生団体(ギルド)を登録する(mode = new / claim)。運営の承認で公開・申請者が owner

呼び方と印

ログイン

送るもの(本文)application/json

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

  • 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
  • mode必須"new" | "claim"
  • claimGuildId任意string(uuid) | null
  • name必須string
    長さ 1–80
  • referrer任意string | null
    長さ ≤60
  • links任意array<object>
    件数 ≤18
  • kind必須enum(8)
    • "website"
    • "x"
    • "instagram"
    • "youtube"
    • "tiktok"
    • "facebook"
    • "note"
    • "discord"
  • url必須string
    長さ ≤2048
  • title任意string
    長さ ≥1
  • memberCount任意integer | null
    1–100000
  • genres任意array<enum(38)>
    件数 ≤38 · 既定 []
  • areas任意array<enum(47)>
    件数 ≤8 · 既定 []
  • description任意string | null
    長さ ≤400
  • logoImageId任意string(uuid) | null
  • contentPlan任意string | null
    長さ ≤400
  • orgKind任意"university" | "highschool" | null
  • universityCode任意string | null
    /^[A-Z0-9]{4,16}$/
  • universityName任意string | null
    長さ ≤80
  • myRole任意enum(6)
    • "founder"
    • "president"
    • "vice_president"
    • "exec"
    • "member"
    • "advisor"
    既定 "president"
  • 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
  • nextLeader任意object | null
  • 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(6)
    • "founder"
    • "president"
    • "vice_president"
    • "exec"
    • "member"
    • "advisor"
  • term任意"current" | "next"
    既定 "current"
  • invites任意array<object>
    件数 ≤8
  • 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(6)
    • "founder"
    • "president"
    • "vice_president"
    • "exec"
    • "member"
    • "advisor"
  • term任意"current" | "next"
    既定 "current"
  • consent必須true

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

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

  • applicationIdstring
  • kind"guild" | "venture"
  • idstring
  • slugstring

失敗したとき(エラー)

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

  • 400入力の誤り(error = invalid_input など)
  • 401未ログイン(unauthorized)/ Bearer が無効(invalid_token。WWW-Authenticate 付き)
  • 403権限が無い
  • invalid_input
  • guild_exists
  • guild_not_found
  • application_pending
  • already_manager
  • unknown_school
  • image_not_found

呼び出しの見本

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

curl -X POST "https://bounty.spikes.4s.link/api/guilds/register" \
  -H "Authorization: Bearer $BEARER_AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "new",
    "name": "string",
    "academic": {
      "gradYear": 1950,
      "enrollmentStatus": "active"
    },
    "consent": true
  }'
POST /api/guilds/register | Bounty Developer