本文へ移動
Bounty Developer

GET/api/v1/public/events/{slug}/plan

「公開の読み取り」の分類の、情報を読み出す API。ログインなしで呼べる。

要約

公開中の企画の全体(版 2): 日・ステージ・ライン・登壇者・コンテンツ(サムネイル・結んだ募集・出展者とロゴ)・会場図(ベース図の URL・ブース枠・日ごとの確定した割当)。CORS *・ETag / If-None-Match・共有キャッシュ 15 秒

呼び方と印

認証なし

URL に付ける値(パラメータ)

経路の中の波かっこの部分と、URL の ? の後ろに付ける値。「必須」の印があるものは省けない。

  • slugpath必須string
    /^[A-Za-z0-9_-]{1,100}$/

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

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

  • schemaVersion2
  • eventobject
    • idstring(uuid)
    • slugstring
    • titlestring
    • timezonestring
    • startsAtstring(date-time) | null
    • endsAtstring(date-time) | null
    • venuestring | null
  • daysarray<string(date)>
  • stagesarray<object>
    • idstring(uuid)
    • namestring
    • codestring
    • sortinteger
    • areaIdstring(uuid) | null
  • linesarray<object>
    • idstring(uuid)
    • namestring
    • colorenum(7)"sand" "sky" "mint" "lilac" "rose" "lemon" "slate"
    • sortinteger
    • stageIdsarray<string(uuid)>
  • speakersarray<object>
    • idstring(uuid)
    • namestring
    • titlestring | null
    • companystring | null
    • nameEnstring | null
    • titleEnstring | null
    • companyEnstring | null
    • biostring | null
    • photoobject | null
      • urlstring(uri)
      • widthinteger
      • heightinteger
  • contentsarray<object>
    • idstring(uuid)
    • kind"stage" | "booth" | "experience"
    • formatstring
    • formatLabelstring
    • contentLabelstring | null
    • titlestring
    • descriptionstring | null
    • sortinteger
    • schedule"timed" | "allday" | "unscheduled"
    • daystring(date) | null
    • startsAtstring(date-time) | null
    • endsAtstring(date-time) | null
    • stageIdstring(uuid) | null
    • lineIdstring(uuid) | null
    • speakersarray<object>
      • speakerIdstring(uuid)
      • roleenum(5)"speaker" "moderator" "host" "judge" "lt"
      • featuredboolean
    • thumbnailsarray<object>
      • formatenum(6)"story" "portrait" "square" "landscape" "classic" "ogp"
      • urlstring(uri)
      • widthinteger
      • heightinteger
    • openCallsarray<object>
      • idstring(uuid)
      • kindstring
      • titlestring
      • urlstring(uri)
      • opensAtstring(date-time)
      • closesAtstring(date-time)
    • parentContentIdstring(uuid) | null
    • exhibitorobject | null
      • kind"company" | "guild" | "venture"
      • namestring
      • urlstring(uri) | null
      • logoobject | null
        • urlstring(uri)
        • widthinteger
        • heightinteger
      • locationstring | null
  • mapobject | null
    • baseobject
      • revisioninteger
      • viewBox[number, number, number, number]件数 4
      • imageobject
        • urlstring(uri)
        • widthinteger
        • heightinteger
      • imageDarkobject | null
        • urlstring(uri)
        • widthinteger
        • heightinteger
    • layerRevisioninteger
    • slotsarray<object>
      • slotKeystring
      • numberstring
      • shape"rect" | "polygon"
      • pointsarray<[number, number]>
      • zonestring | null
      • tierstring | null
    • assignmentsarray<object>
      • daystring(date) | null
      • slotKeystring
      • contentIdstring(uuid)
  • areasarray<object>
    • idstring(uuid)
    • parentIdstring(uuid) | null
    • kind"venue" | "floor"
    • namestring
    • sortinteger
    • addressstring | null
  • mapsarray<object>
    • areaIdstring(uuid) | null
    • baseobject
      • revisioninteger
      • viewBox[number, number, number, number]件数 4
      • imageobject
        • urlstring(uri)
        • widthinteger
        • heightinteger
      • imageDarkobject | null
        • urlstring(uri)
        • widthinteger
        • heightinteger
    • layerRevisioninteger
    • slotsarray<object>
      • slotKeystring
      • numberstring
      • shape"rect" | "polygon"
      • pointsarray<[number, number]>
      • zonestring | null
      • tierstring | null
      • areaIdstring(uuid) | null
    • assignmentsarray<object>
      • daystring(date) | null
      • slotKeystring
      • contentIdstring(uuid)

失敗したとき(エラー)

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

  • 400入力の誤り(error = invalid_input など)
  • 404HTTP 404(x-bounty-error-codes を参照)
  • 500HTTP 500(x-bounty-error-codes を参照)
  • event_not_found
  • invalid_query
  • internal_error

呼び出しの見本

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

curl "https://bounty.spikes.4s.link/api/v1/public/events/{slug}/plan"

応答の見本

返ってくる値の例。実際の値は呼び出しごとに違う。

JSON
{
  "schemaVersion": 2,
  "event": {
    "id": "00000000-0000-4000-8000-000000000001",
    "slug": "spikes-2026-tokyo",
    "title": "SPIKES 2026 TOKYO",
    "timezone": "Asia/Tokyo",
    "startsAt": "2026-11-14T01:00:00.000Z",
    "endsAt": "2026-11-15T09:00:00.000Z",
    "venue": "東京"
  },
  "days": [
    "2026-11-14",
    "2026-11-15"
  ],
  "stages": [
    {
      "id": "00000000-0000-4000-8000-000000000010",
      "name": "MAIN STAGE",
      "code": "main",
      "sort": 0,
      "areaId": "00000000-0000-4000-8000-000000000071"
    }
  ],
  "lines": [
    {
      "id": "00000000-0000-4000-8000-000000000020",
      "name": "メイン",
      "color": "sky",
      "sort": 0,
      "stageIds": [
        "00000000-0000-4000-8000-000000000010"
      ]
    }
  ],
  "speakers": [
    {
      "id": "00000000-0000-4000-8000-000000000030",
      "name": "見本 花子",
      "title": "代表取締役",
      "company": "見本株式会社",
      "nameEn": "Hanako Mihon",
      "titleEn": "CEO",
      "companyEn": "Mihon Inc.",
      "bio": "紹介文(確定した人だけ)",
      "photo": {
        "url": "https://bounty.example/api/v1/public/images/speaker.00000000-0000-4000-8000-000000000031.webp",
        "width": 800,
        "height": 800
      }
    }
  ],
  "contents": [
    {
      "id": "00000000-0000-4000-8000-000000000040",
      "kind": "stage",
      "format": "session",
      "formatLabel": "セッション(対話・LT)",
      "contentLabel": null,
      "title": "見本のセッション",
      "description": null,
      "sort": 0,
      "schedule": "timed",
      "day": "2026-11-14",
      "startsAt": "2026-11-14T04:00:00.000Z",
      "endsAt": "2026-11-14T04:40:00.000Z",
      "stageId": "00000000-0000-4000-8000-000000000010",
      "lineId": "00000000-0000-4000-8000-000000000020",
      "speakers": [
        {
          "speakerId": "00000000-0000-4000-8000-000000000030",
          "role": "speaker",
          "featured": true
        }
      ],
      "thumbnails": [
        {
          "format": "ogp",
          "url": "https://bounty.example/api/v1/public/images/thumbnail.00000000-0000-4000-8000-000000000040.ogp.3.png",
          "width": 1200,
          "height": 630
        }
      ],
      "openCalls": [
        {
          "id": "00000000-0000-4000-8000-000000000050",
          "kind": "talk",
          "title": "登壇者の募集",
          "url": "https://bounty.example/boshu/00000000-0000-4000-8000-000000000050",
          "opensAt": "2026-10-01T00:00:00.000Z",
          "closesAt": "2026-11-01T00:00:00.000Z"
        }
      ],
      "parentContentId": null,
      "exhibitor": null
    },
    {
      "id": "00000000-0000-4000-8000-000000000041",
      "kind": "booth",
      "format": "partner_market",
      "formatLabel": "PARTNER MARKET",
      "contentLabel": null,
      "title": "見本商事のブース",
      "description": "出展の説明",
      "sort": 1,
      "schedule": "allday",
      "day": null,
      "startsAt": null,
      "endsAt": null,
      "stageId": null,
      "lineId": null,
      "speakers": [],
      "thumbnails": [],
      "openCalls": [],
      "parentContentId": null,
      "exhibitor": {
        "kind": "company",
        "name": "見本商事",
        "url": "https://bounty.example/companies/mihon-shoji",
        "logo": {
          "url": "https://bounty.example/api/v1/public/images/logo.00000000-0000-4000-8000-000000000042.webp",
          "width": 512,
          "height": 512
        },
        "location": null
      }
    }
  ],
  "map": {
    "base": {
      "revision": 1,
      "viewBox": [
        0,
        0,
        1000,
        600
      ],
      "image": {
        "url": "https://bounty.example/api/v1/public/images/map.00000000-0000-4000-8000-000000000060.svg",
        "width": 1000,
        "height": 600
      },
      "imageDark": {
        "url": "https://bounty.example/api/v1/public/images/mapdark.00000000-0000-4000-8000-000000000060.svg",
        "width": 1000,
        "height": 600
      }
    },
    "layerRevision": 2,
    "slots": [
      {
        "slotKey": "a-1",
        "number": "A-1",
        "shape": "rect",
        "points": [
          [
            40,
            40
          ],
          [
            120,
            40
          ],
          [
            120,
            100
          ],
          [
            40,
            100
          ]
        ],
        "zone": "MARKET",
        "tier": null
      }
    ],
    "assignments": [
      {
        "day": "2026-11-14",
        "slotKey": "a-1",
        "contentId": "00000000-0000-4000-8000-000000000041"
      }
    ]
  },
  "areas": [
    {
      "id": "00000000-0000-4000-8000-000000000070",
      "parentId": null,
      "kind": "venue",
      "name": "本館",
      "sort": 0,
      "address": "東京都"
    },
    {
      "id": "00000000-0000-4000-8000-000000000071",
      "parentId": "00000000-0000-4000-8000-000000000070",
      "kind": "floor",
      "name": "1F",
      "sort": 0,
      "address": null
    }
  ],
  "maps": [
    {
      "areaId": "00000000-0000-4000-8000-000000000071",
      "base": {
        "revision": 1,
        "viewBox": [
          0,
          0,
          1000,
          600
        ],
        "image": {
          "url": "https://bounty.example/api/v1/public/images/map.00000000-0000-4000-8000-000000000060.svg",
          "width": 1000,
          "height": 600
        },
        "imageDark": {
          "url": "https://bounty.example/api/v1/public/images/mapdark.00000000-0000-4000-8000-000000000060.svg",
          "width": 1000,
          "height": 600
        }
      },
      "layerRevision": 2,
      "slots": [
        {
          "slotKey": "a-1",
          "number": "A-1",
          "shape": "rect",
          "points": [
            [
              40,
              40
            ],
            [
              120,
              40
            ],
            [
              120,
              100
            ],
            [
              40,
              100
            ]
          ],
          "zone": "MARKET",
          "tier": null,
          "areaId": "00000000-0000-4000-8000-000000000071"
        }
      ],
      "assignments": [
        {
          "day": "2026-11-14",
          "slotKey": "a-1",
          "contentId": "00000000-0000-4000-8000-000000000041"
        }
      ]
    }
  ]
}
GET /api/v1/public/events/{slug}/plan | Bounty Developer