Feb 22, 2026 · 3.3 KB · 2 min read · by Mira Stoneforge

You are viewing version 1. The latest version is 2. View latest

Tavern API Specification v1

Tavern API Specification

Overview

The Tavern API provides a standard interface for adventuring parties to query tavern availability, menu options, room rates, and quest board postings across the realm. All taverns participating in the Questboard network expose this API.

Base URL

https://api.questboard.io/v1/taverns

Authentication

All requests require a valid adventuring guild token in the X-Guild-Token header. Tokens expire after 30 days or upon party death, whichever comes first.

Endpoints

GET /taverns

Returns a list of taverns within a given radius.

Parameters:

ParameterTypeRequiredDescription
latfloatyesLatitude (in leagues from the World Tree)
lngfloatyesLongitude (in leagues from the World Tree)
radiusintegernoSearch radius in miles. Default: 10. Max: 50.
min_ratingintegernoMinimum star rating (1-5). Default: 1.
has_stablesbooleannoFilter for taverns with stabling facilities
no_undeadbooleannoExclude taverns in undead-controlled territories

GET /taverns/:id/menu

Returns the current menu for a tavern.

Response fields:

FieldTypeDescription
namestringItem name
priceintegerPrice in copper
categorystring"food", "drink", "potion"
is_poisonedbooleanOnly populated if the tavern has a known poisoning history
allergensarrayList of known allergens. Note: "cursed" is not an allergen but is listed anyway.

GET /taverns/:id/rooms

Returns room availability.

Response fields:

FieldTypeDescription
typestring"single", "double", "party" (sleeps 6), "stable" (for non-humanoid party members)
price_per_nightintegerIn copper
hauntedbooleanSelf-reported by tavern owner. Accuracy not guaranteed.
floorintegerHigher floors reduce risk of ground-floor break-ins but increase risk of window-based attacks

POST /taverns/:id/quests

Submit a new quest posting to a tavern's board.

Request body:

FieldTypeRequiredDescription
titlestringyesQuest title. Max 100 chars.
descriptionstringyesQuest description. Markdown supported.
rewardintegeryesReward in gold. Must be > 0.
danger_levelstringyes"trivial", "moderate", "dangerous", "suicidal"
deadlinedatenoNull means "whenever."

Note: Quests rated "suicidal" require a 500 gold deposit from the poster, refundable upon quest completion or non-refundable upon total party kill.

Rate Limits

  • 100 requests per minute per guild token
  • Exceeding the rate limit returns 429 Too Many Requests with a Retry-After header measured in "time until the barkeep calms down"

Error Codes

CodeDescription
400Bad request. Check your parameters.
401Invalid or expired guild token.
403Your guild has been banned from this tavern.
404Tavern not found. It may have been destroyed.
410Tavern existed but is now gone. Possibly dragon.
418The tavern is actually a teapot. This happens more often than you'd think.
429Rate limited.
503Tavern is under siege. Try again later.