View difference between Paste ID: 3LiEYjWh and fp4E9mwV
SHOW: | | - or go back to the newest paste.
1
Rate Limits:
2
Not more than 20 requests in 10 seconds, else restricted for 1 minute
3
4
API Key: 
5
xx
6
7-
API Scopes:
7+
8-
locked_spoiler_access
8+
9-
locked_encrypt_spoiler_access
9+
403 (invalid API key)
10-
can_unlock_spoiler
10+
11-
can_unlock_encrypt_spoiler
11+
12-
can_create_encrypt
12+
13
Endpoints (https://ootrandomizer.com):
14
15
*Create Seed*
16-
403 (invalid API key or insufficient API scope)
16+
17
URL: "/api/sglive/seed/create"
18
Method: POST
19
Required query parameters: key (API key)
20
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)
21
Body: JSON settings map (a seed field can be included to force a specific seed string, otherwise random)
22
23
Response:
24-
URL: "/api/v2/seed/create"
24+
25
Return data type if success (seed queried): application/json
26
Return data fields:
27-
Optional query parameters: version (SemVer format, e.g. 5.2.0 for release or dev_x.x.x for dev), locked (if present spoiler log will be hidden by default, otherwise shown), encrypt (creates an encrypted seed, requires "can_create_encrypt" scope)
27+
28-
Optional API scope: can_create_encrypt
28+
29
-spoilers (true if a spoiler log will be generated and shown to the user by default, false otherwise)
30
31
32
*Get Seed Status*
33
Request:
34
URL: "/api/sglive/seed/status"
35
Method: GET
36
Required query parameters: key (API key), id (seed ID)
37
38
Response:
39
Possible error codes: 404 (seed not found/expired)
40
Return data type if success: application/json
41
Return data fields:
42-
URL: "/api/v2/seed/status"
42+
43
-progress (generation progress, 100 if finished with success or error)
44
Optional return data fields:
45
-version (randomizer version in-use ; only present if status = 0)
46
-positionQueue (position in queue, 0 if currently processing ; only present if status = 0)
47
-maxWaitTime (ETA in seconds, 0 if currently processing ; only present if status = 0)
48
-isMultiWorld (only present if status = 0)
49
50
51
*Get Seed Details*
52
Request:
53
URL: "/api/sglive/seed/details"
54
Method: GET
55
Required query parameters: key (API key), id (seed ID)
56
57
Response:
58
Possible error codes: 404 (seed not found/expired/errored), 204 (still generating)
59
Return data type if success: application/json
60
Return data fields:
61-
URL: "/api/v2/seed/details"
61+
62
-seed (seed string)
63
-settingsString
64-
Optional API scope: locked_spoiler_access, locked_encrypt_spoiler_access
64+
65
66
67
*Get Seed Patch File*
68
Request:
69
URL: "/api/sglive/seed/patch"
70
Method: GET
71
Required query parameters: key (API key), id (seed ID)
72
73-
-settingsLog (full JSON settings log, null if none was generated which is only possible on very old versions)
73+
74-
-spoilerLog (full JSON spoiler log, null if none was generated or when insufficient API privileges to read a hidden log ; with correct API scope this data is present even if the log was hidden from users)
74+
75
Return data type if success: application/octet-stream
76
Return data: raw patch file