创建房间
创建可选预装甲板和个人邀请的房间.
POST
/api/v1/rooms页眉
Authorization所需经费- Bearer API 密钥,请参看认证.
Content-Type所需经费application/jsonIdempotency-Key所需经费- 每个创建都独一无二; 1–128 可见的 ASCII 字符.
体质
发送{}作为默认房间。 最大为 160 KiB; 没有未知的字段 。
displaySpectatorLinkboolean · 选项- 默认为真。 设置错误以隐藏玩家的旁观者链接。 API 仍然返回链接 。
playersobject[] · 选项- 最多四次个人邀请。
externalIdstring · 所需经费- 您的玩家标识符 。 1–128 字符; 在此请求中独一无二 。
deckobject · 选项- 指定给此玩家的个人链接的标记 。
deckliststring · 所需经费- 底板文本要预装,最多32 KiB.
bracketinteger · 选项- 1–5. 无显示存储.
curl https://drawspell.space/api/v1/rooms \
-H "Authorization: Bearer $DRAWSPELL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: match-123" \
--data '{
"displaySpectatorLink": false,
"players": [
{
"externalId": "player-1",
"deck": {
"decklist": "1 Sol Ring\n1 Command Tower",
"bracket": 3
}
}
]
}'回应
playerInviteUrl共享- 任何有链接的人都可以加入一个可用的座位.
players[].joinUrl个人- 发送到匹配中
externalId。装入指定的甲板;没有座位预定或身份检查。 spectatorLinkstring- 总是返回 API 调用器, 任何有此链接的人都可以观看。 当displaySpectatorLink为虚假时, 玩家无法从应用程序中获取链接 。
activationExpiresAtISO 日期- 第一玩家必须在24小时内加入,活跃的游戏继续超过这个期限.
{
"roomId": "abc123",
"displaySpectatorLink": false,
"spectatorLink": "https://drawspell.space/rooms/abc123?st=…",
"activationExpiresAt": "2026-10-10T18:00:00.000Z",
"playerInviteUrl": "https://drawspell.space/rooms/abc123?gt=…",
"players": [
{
"externalId": "player-1",
"joinUrl": "https://drawspell.space/rooms/abc123?invite=…"
}
]
}引用错误 状态、代码和JSON实例
| 状态 | 代码/ 动作 |
|---|---|
| 400 | invalid_request检查JSON,字段,和所需的信头. |
| 401 | unauthorized使用活动的 API 密钥 。 |
| 403 | forbidden账户已禁用或房间: 创建权限缺失 。 |
| 409 | idempotency_conflict对不同内容使用新密钥 。 |
| 410 | room_gone房间过期或被删除。 创建一个新的房间 。 |
| 413 | body_too_large将请求减少到160个基B或更少. |
| 415 | unsupported_media_type发送 Content-Type: application/json. |
| 429 | rate_limited等着 Retry-After 秒数。 |
| 503 | service_unavailable重试相同 Idempotency-Key. |
{
"error": {
"code": "idempotency_conflict",
"message": "This Idempotency-Key was already used with different content."
}
}