Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Rate Limits:
- Not more than 20 requests in 10 seconds, else restricted for 1 minute
- API Key:
- xx
- Generic error return codes:
- 503 (API not ready)
- 403 (invalid API key)
- 429 (rate limit exceeded)
- Endpoints (https://ootrandomizer.com):
- *Create Seed*
- Request:
- URL: "/api/sglive/seed/create"
- Method: POST
- Required query parameters: key (API key)
- Optional query parameters: version (SemVer format, e.g. 5.2.0), encrypt (has to be explicitly set to true for it to apply ; creates an encrypted race seed if present ; spoiler log is automatically force hidden), locked (if present spoiler log will always be hidden by default, otherwise shown, unless encrypted)
- Body: JSON settings map (a seed field can be included to force a specific seed string, otherwise random)
- Response:
- Possible error codes: 400 (invalid settings), 409 (version requested is ambiguous or not available), 423 (queue is currently full), 500 (internal database error)
- Return data type if success (seed queried): application/json
- Return data fields:
- -id (unique seed ID, can be attached to "https://ootrandomizer.com/seed/get?id=" to direct users to the seed page)
- -version (randomizer version selected, defaults to latest master version unless overridden with query parameter)
- -spoilers (true if a spoiler log will be generated and shown to the user by default, false otherwise)
- *Get Seed Status*
- Request:
- URL: "/api/sglive/seed/status"
- Method: GET
- Required query parameters: key (API key), id (seed ID)
- Response:
- Possible error codes: 404 (seed not found/expired)
- Return data type if success: application/json
- Return data fields:
- -status (0 = still generating, 1 = generated success, 2 = generated with link (not possible from API), 3 = failed to generate)
- -progress (generation progress, 100 if finished with success or error)
- Optional return data fields:
- -version (randomizer version in-use ; only present if status = 0)
- -positionQueue (position in queue, 0 if currently processing ; only present if status = 0)
- -maxWaitTime (ETA in seconds, 0 if currently processing ; only present if status = 0)
- -isMultiWorld (only present if status = 0)
- *Get Seed Details*
- Request:
- URL: "/api/sglive/seed/details"
- Method: GET
- Required query parameters: key (API key), id (seed ID)
- Response:
- Possible error codes: 404 (seed not found/expired/errored), 204 (still generating)
- Return data type if success: application/json
- Return data fields:
- -version (randomizer version used)
- -seed (seed string)
- -settingsString
- -creationTimestamp (timestamp when the seed was created)
- *Get Seed Patch File*
- Request:
- URL: "/api/sglive/seed/patch"
- Method: GET
- Required query parameters: key (API key), id (seed ID)
- Response:
- Possible error codes: 404 (seed not found/expired/errored), 204 (still generating)
- Return data type if success: application/octet-stream
- Return data: raw patch file
Add Comment
Please, Sign In to add comment