{"info":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","description":"<html><head></head><body><p>Starwatch .NET Core Edition API for the iLoveBacons server. Every response is returned as a fixed JSON structure with the response field being all that varies. </p>\n<h2 id=\"content-type-and-encoding\">Content Type and Encoding</h2>\n<p>All content is encoded as UTF-8.\nIt accepts both <code>application/json</code> and <code>application/x-www-form-urlencoded</code> data for POST and PATCH fields, but its recommended to use <code>json</code> as it is faster to process and more efficent.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Authorize yourself / your bot with <code>Basic</code> HTTP authorization:\n<code>Authorization: Basic {base64(username + \":\" + password)}</code></p>\n<h2 id=\"patchput\">PATCH/PUT</h2>\n<p>There is a current bug within the websocket library that means it is unable to support <code>PATCH</code> properly. Use <code>PUT</code> as an alias instead. </p>\n<h2 id=\"body\">Body</h2>\n<p>The body can be <code>x-www-form-urlencoded</code> or <code>json</code>. It is recommeneded to use json for easy and performance on the server since the form data will be converted to json anyway for deserialization into appropriate payload types. They are shown in Postman as <code>x-www-form-urlencoded</code> for simplity in documentation and ease of use while testing.</p>\n<p><code>PATCH</code> and <code>PUT</code> values are always optional unless otherwise stated. <code>DELETE</code> and <code>GET</code> do <strong>not</strong> support body and will return errors otherwise. <code>POST</code> is often used to add items but can also be used to <em>execute</em> actions.</p>\n<h2 id=\"permissions\">Permissions</h2>\n<p>There are serveral levels of \"Account Types\" that out rank eachother. When a endpoint lists that you need a certain permission, it means that anyone with said permission or above may use this endpoint, otherwise a <code>Forbidden</code> result will be returned while trying to access it.</p>\n<h4 id=\"account-types\">Account Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Anonymous</td>\n<td>0</td>\n<td>Anyone without an account. Normally impossible</td>\n</tr>\n<tr>\n<td>User</td>\n<td>1</td>\n<td>A Starbound Account.</td>\n</tr>\n<tr>\n<td>Admin</td>\n<td>2</td>\n<td>A Starbound account with Admin.</td>\n</tr>\n<tr>\n<td>Bot</td>\n<td>3</td>\n<td>A special account just made for bots</td>\n</tr>\n<tr>\n<td>Super Bot</td>\n<td>5</td>\n<td>A special bot made by a root admin</td>\n</tr>\n<tr>\n<td>Super User</td>\n<td>10</td>\n<td>A special root admin.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"base-response\">Base Response</h2>\n<p>All the responses follow this base. </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Status</td>\n<td>StatusType</td>\n<td>The status of the request.</td>\n</tr>\n<tr>\n<td>Message</td>\n<td>string</td>\n<td>Debug or error message.</td>\n</tr>\n<tr>\n<td>Route</td>\n<td>string</td>\n<td>Route that was requested and processed.</td>\n</tr>\n<tr>\n<td>Time</td>\n<td>int</td>\n<td>Time in milliseconds it took to process the route.</td>\n</tr>\n<tr>\n<td>Response</td>\n<td>object</td>\n<td>The response of the route.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"status-types\">Status Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>OK</td>\n<td>0</td>\n<td>Everything is okay and the route was processed.</td>\n</tr>\n<tr>\n<td>ASYNC</td>\n<td>1</td>\n<td>The request was made asyncronously so no status is available.</td>\n</tr>\n<tr>\n<td>Bad Request</td>\n<td>4000</td>\n<td>There was an issue with the request, such as a bad payload parameter or missing queries.</td>\n</tr>\n<tr>\n<td>Forbidden</td>\n<td>4030</td>\n<td>Authentication does not have permission to the route.</td>\n</tr>\n<tr>\n<td>Route Not Found</td>\n<td>4040</td>\n<td>The route was not found.</td>\n</tr>\n<tr>\n<td>Resource Not Found</td>\n<td>4041</td>\n<td>The resource was not found.</td>\n</tr>\n<tr>\n<td>Bad Method</td>\n<td>4050</td>\n<td>The HTTP Method provided does not exist for the route.</td>\n</tr>\n<tr>\n<td>Too Many Requests</td>\n<td>4290</td>\n<td>The account has made to many requests.</td>\n</tr>\n<tr>\n<td>Internal Error</td>\n<td>5000</td>\n<td>Internal server error. A stacktrace maybe provided in the response. Give this to lachee.</td>\n</tr>\n<tr>\n<td>Not Implemented</td>\n<td>5010</td>\n<td>The route exists, but the endpoint you are trying to access isn't implemented yet.</td>\n</tr>\n<tr>\n<td>Terminated</td>\n<td>5030</td>\n<td>The connection was terminated during the request. Could be because of internal errors or security concerns.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"rate-limiting\">Rate Limiting</h2>\n<p>The API provides a global ratelimit to prevent abuse. The rate limit is per account, but is shared across all HTTP requests.</p>\n<p>Every request made will return the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>X-RateLimit-Reset</td>\n<td>The time until the limits reset</td>\n</tr>\n<tr>\n<td>X-RateLimit-Limit</td>\n<td>The actual limit</td>\n</tr>\n<tr>\n<td>X-RateLimit-Remaining</td>\n<td>How many requests are available before limiting.</td>\n</tr>\n</tbody>\n</table>\n</div><p>When the ratelimit has been hit, you will additionally get the following header:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Retry-After</td>\n<td>The time to retry the request again</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>IMPORTANT NOTE</strong></p>\n<p>If a significant amount of continued attempts while being ratelimited occurs, then the account and IP will be automatically banned from the API and will not be able to use it again. In this case, you will receieve a REST Response of Forbidden, with a response object that has <code>RetryAfter</code> set to <code>null</code>. </p>\n<p>If you get blocked, you will require the system administrator to unblock it manually.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"5336131","collectionId":"0246d3bc-683d-4840-86f1-3461dd44367d","publishedId":"SWT8hzsk","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-01-27T01:15:29.000Z"},"item":[{"name":"Player","item":[{"name":"/player","event":[{"listen":"prerequest","script":{"id":"cea0ba4a-05ed-4a55-9c33-23e93d45dec1","exec":["pm.globals.set(\"cid\", \"1\");"],"type":"text/javascript"}}],"id":"bde775bd-c3e3-453e-a4c2-1d27501933f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/player?uuid=string&username=string&nickname=string&account=string&location=string&admin=bool","description":"<p>Gets a list of all connection ID's and their player names.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires User permission.</li>\n</ul>\n<h4 id=\"filters\">Filters</h4>\n<p>All query parameters are filters to the final result. You can filter by uuid, username, nickname, accountname or admin status. They are all optional.</p>\n<h4 id=\"response\">Response</h4>\n<p>A array indexed with the players <code>cid</code> with values representing their <code>username</code>.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["player"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional: Filters players based of the UUID. If the player has not recieved their UUID yet then they will be excluded from the list.</p>\n","type":"text/plain"},"key":"uuid","value":"string"},{"description":{"content":"<p>Optional: Filters players based of their characters name.</p>\n","type":"text/plain"},"key":"username","value":"string"},{"description":{"content":"<p>Optional: Filters players based of their /nick name</p>\n","type":"text/plain"},"key":"nickname","value":"string"},{"description":{"content":"<p>Optional: Filters players based of their account name. If <code>anonymous</code> is supplied then all players without accounts will be returned.</p>\n","type":"text/plain"},"key":"account","value":"string"},{"description":{"content":"<p>Optional: Filters players based of a whereami.</p>\n","type":"text/plain"},"key":"location","value":"string"},{"description":{"content":"<p>Optional: Filters players based if they are admin or not.</p>\n","type":"text/plain"},"key":"admin","value":"bool"}],"variable":[]}},"response":[{"id":"f558c386-bc55-4276-996c-ae67626c8249","name":"Get Players","originalRequest":{"method":"GET","header":[],"url":"{{base}}/player"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 10:07:23 GMT"},{"key":"Content-Length","value":"94"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/player\",\n    \"Time\": 0,\n    \"Response\": {\n        \"1\": \"^orange;Mr Postman\",\n        \"2\": \"^white;Mr Mailman^reset;\",\n        \"48\": \"Franky\",\n        \"4891\": \"Geoff\"\n    }\n}"},{"id":"fc283c6e-220c-465e-abbd-91afaba0d1aa","name":"Get Players Filtered","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base}}/player?nickname=^white;Mr Mailman&admin=true","host":["{{base}}"],"path":["player"],"query":[{"key":"uuid","value":"124929d03dk3209f932","description":"Optional: Filters players based of the UUID. If the player has not recieved their UUID yet then they will be excluded from the list.","disabled":true},{"key":"username","value":"^orange;Mr Postman","description":"Optional: Filters players based of their characters name.","disabled":true},{"key":"nickname","value":"^white;Mr Mailman","description":"Optional: Filters players based of their /nick name"},{"key":"account","value":"anonymous","description":"Optional: Filters players based of their account name. If `anonymous` is supplied then all players without accounts will be returned.","disabled":true},{"key":"admin","value":"true","description":"Optional: Filters players based if they are admin or not."}]}},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/player\",\n    \"Time\": 0,\n    \"Response\": {\n        \"1\": \"^orange;Mr Postman\"\n    }\n}"}],"_postman_id":"bde775bd-c3e3-453e-a4c2-1d27501933f0"},{"name":"/player/:cid","event":[{"listen":"prerequest","script":{"id":"4ab67bdb-9603-482a-a3d7-aecc7f2260ac","exec":["pm.globals.set(\"cid\", \"1\");"],"type":"text/javascript"}}],"id":"0915971f-6979-4621-be76-c869c23dd36b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/player/{{cid}}?enforce=bool","description":"<p>Gets the details of a specified connection. If the user does not have their UUID assigned yet, a listing refresh is enforced and the UUID for the player is updated.</p>\n<p>The location tracking is generally very accurate, however there maybe times you want a garuanteed location. Enable the enforce mode (using query params) to force Starwatch to fetch the absolute latest position using RCON of the player.</p>\n<p><code>:cid</code> is the connection ID</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A single <code>Player</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["player","{{cid}}"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Executes the RCON to enforece that the user location is correct and has valid UUID. \n<strong>Default</strong> <code>false</code></p>\n","type":"text/plain"},"key":"enforce","value":"bool"}],"variable":[]}},"response":[{"id":"7fa568be-bc25-4b55-8cd2-9be6bbd2f254","name":"Get CID 1","originalRequest":{"method":"GET","header":[],"url":"{{base}}/player/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 08:42:25 GMT"},{"key":"Content-Length","value":"296"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/player/:cid\",\n    \"Time\": 0,\n    \"Response\": {\n        \"Connection\": 1,\n        \"Username\": \"^orange;Mr Postman\",\n        \"Nickname\": \"^white;Mr Mailman\",\n        \"AccountName\": \"lachee\",\n        \"UUID\": \"b37ac1ec7e4e7c1874c78a7433737943\",\n        \"IP\": \"127.0.0.1\",\n        \"Location\": \"ClientShipWorld:b37ac1ec7e4e7c1874c78a7433737943\"\n    }\n}"}],"_postman_id":"0915971f-6979-4621-be76-c869c23dd36b"},{"name":"/player/:cid","event":[{"listen":"prerequest","script":{"id":"cea0ba4a-05ed-4a55-9c33-23e93d45dec1","exec":["pm.globals.set(\"cid\", \"1\");"],"type":"text/javascript"}}],"id":"9b010035-9e34-45fb-b637-45caf300df2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/player/{{cid}}?reason=string&duration=int","description":"<p>Kicks a player from the server.</p>\n<p><code>:cid</code> is the connection ID</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a RCON Response</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Message</td>\n<td>string</td>\n<td>The message returned from the RCON.</td>\n</tr>\n<tr>\n<td>Success</td>\n<td>bool</td>\n<td>Did the rcon execute succesfully and was the player successfully kicked?</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["player","{{cid}}"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Required. The reason the user was kicked from the server. This will appear as the kick message.</p>\n","type":"text/plain"},"key":"reason","value":"string"},{"description":{"content":"<p>Optional. The duration of the kick in seconds. The user will not be able to reconnect during this time. Must be a non-zero positive integer.</p>\n","type":"text/plain"},"key":"duration","value":"int"}],"variable":[]}},"response":[],"_postman_id":"9b010035-9e34-45fb-b637-45caf300df2c"},{"name":"/player/all","event":[{"listen":"prerequest","script":{"id":"cea0ba4a-05ed-4a55-9c33-23e93d45dec1","exec":["pm.globals.set(\"cid\", \"1\");"],"type":"text/javascript"}}],"id":"2bb3022b-1b1d-4747-b0a3-e207555183c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/player/all","description":"<p>Gets a detailed list of all users.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires SuperBot permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Array of <code>Player</code>s</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["player","all"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2bb3022b-1b1d-4747-b0a3-e207555183c3"},{"name":"/session","id":"44b262d2-147c-4de5-bc94-060e43b5efe3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/session?username=lachee&uuid=string&ip=string&account=int&seconds=int","description":"<p>Scans through the player's aliases</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"filters\">Filters</h4>\n<p>All query parameters are filters to the final result. You can filter by connection, ip, uuid, username, account. They are all optional. Additionally, you can state how long ago you want to check. </p>\n<h4 id=\"response\">Response</h4>\n<p>An array of <code>session</code>, with upto <code>20</code> elements.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["session"],"host":["{{base}}"],"query":[{"key":"username","value":"lachee"},{"key":"uuid","value":"string"},{"key":"ip","value":"string"},{"key":"account","value":"int"},{"description":{"content":"<p>How long ago to scan back</p>\n","type":"text/plain"},"key":"seconds","value":"int"}],"variable":[]}},"response":[{"id":"c64e87c2-966a-462b-8254-db8ab69e628e","name":"Get lachee's account","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base}}/session?account=lachee","host":["{{base}}"],"path":["session"],"query":[{"key":"username","value":"lachee","disabled":true},{"key":"uuid","value":"string","disabled":true},{"key":"ip","value":"string","disabled":true},{"key":"account","value":"lachee"},{"key":"seconds","value":"int","description":"How long ago to scan back","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-RateLimit-Reset","value":"Sun, 30 Jun 2019 02:34:05 GMT"},{"key":"X-RateLimit-Limit","value":"10000"},{"key":"X-RateLimit-Remaining","value":"9997"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Jun 2019 02:33:22 GMT"},{"key":"Content-Length","value":"1198"},{"key":"Keep-Alive","value":"timeout=15,max=98"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/session\",\n    \"Time\": 3,\n    \"Response\": [\n        {\n            \"Id\": 6,\n            \"Connection\": 1,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": \"b37ac1ec7e4e7c1874c78a7433737943\",\n            \"Username\": \"^orange;Mr Postman\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"2019-06-30T12:19:34\",\n            \"DisconnectedAt\": \"2019-06-30T02:26:21\"\n        },\n        {\n            \"Id\": 5,\n            \"Connection\": 1,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": null,\n            \"Username\": \"^orange;Mr Postman\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"2019-06-30T12:03:34\",\n            \"DisconnectedAt\": \"2019-06-30T12:04:12\"\n        },\n        {\n            \"Id\": 4,\n            \"Connection\": 1,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": \"b37ac1ec7e4e7c1874c78a7433737943\",\n            \"Username\": \"^orange;Mr Postman\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"2019-06-30T11:47:25\",\n            \"DisconnectedAt\": \"2019-06-30T11:50:15\"\n        },\n        {\n            \"Id\": 3,\n            \"Connection\": 2,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": null,\n            \"Username\": \"Lachee\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"2019-06-29T21:53:08\",\n            \"DisconnectedAt\": \"2019-06-29T21:53:05\"\n        },\n        {\n            \"Id\": 2,\n            \"Connection\": 1,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": \"83acc56e2b448ab892d799f7331ac39d\",\n            \"Username\": \"Lachee\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"2019-06-29T21:49:40\",\n            \"DisconnectedAt\": \"2019-06-29T11:53:01\"\n        },\n        {\n            \"Id\": 1,\n            \"Connection\": 2,\n            \"IP\": \"127.0.0.1\",\n            \"UUID\": null,\n            \"Username\": \"Lachee\",\n            \"Account\": \"lachee\",\n            \"ConnectedAt\": \"0001-01-01T00:00:00\",\n            \"DisconnectedAt\": \"2019-06-29T11:44:58\"\n        }\n    ]\n}"}],"_postman_id":"44b262d2-147c-4de5-bc94-060e43b5efe3"}],"id":"eb02bd4a-e4ac-45c7-8465-82365e98d4e6","description":"<p>Use these endpoints to list all players and kick said players. Players are identified with their unique Connection ID referred as <code>CID</code>.</p>\n<h4 id=\"player-object\">Player Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Connection</td>\n<td>int</td>\n<td>The unique connection ID</td>\n</tr>\n<tr>\n<td>Username</td>\n<td>string</td>\n<td>The name of the player.</td>\n</tr>\n<tr>\n<td>Nickname</td>\n<td>string</td>\n<td>The nickname assigned in chat. Null if there is no nickname.</td>\n</tr>\n<tr>\n<td>AccountName</td>\n<td>string</td>\n<td>The name of the account the connection is signed in with. Null if the player is anonymous.</td>\n</tr>\n<tr>\n<td>UUID</td>\n<td>string</td>\n<td>The UUID of the character. This gets refreshed every minute and maybe null if the connection recently.</td>\n</tr>\n<tr>\n<td>IP</td>\n<td>string</td>\n<td>The IP address of the player.</td>\n</tr>\n<tr>\n<td>Location</td>\n<td>string</td>\n<td>The location of the player. This maybe null when the player first joined.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"session-object\">Session Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>long</td>\n<td>The unique ID of the session</td>\n</tr>\n<tr>\n<td>Connection</td>\n<td>int</td>\n<td>The unique connection ID</td>\n</tr>\n<tr>\n<td>Username</td>\n<td>string</td>\n<td>The name of the player.</td>\n</tr>\n<tr>\n<td>AccountName</td>\n<td>string</td>\n<td>The name of the account the connection is signed in with. Null if the player is anonymous.</td>\n</tr>\n<tr>\n<td>UUID</td>\n<td>string</td>\n<td>The UUID of the character. This gets refreshed every minute and maybe null if the connection recently.</td>\n</tr>\n<tr>\n<td>IP</td>\n<td>string</td>\n<td>The IP address of the player.</td>\n</tr>\n<tr>\n<td>ConnectedAt</td>\n<td>DateTime</td>\n<td>The time the player joined the server.</td>\n</tr>\n<tr>\n<td>DisconnectedAt</td>\n<td>DateTime</td>\n<td>The time the player left the server.</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"id":"977218f5-e244-41f0-9407-143d184e067f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"9c52bda9-bb53-4657-b042-b36711c65240","type":"text/javascript","exec":[""]}}],"_postman_id":"eb02bd4a-e4ac-45c7-8465-82365e98d4e6","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"Account","item":[{"name":"/account","id":"da6cfa6e-f058-4f58-b4d3-d8ce0a8de847","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"url":"{{base}}/account?async=bool","description":"<p>Creates a new account.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Bot permission or higher</li>\n<li>SSL enabled server</li>\n<li>SuperBot permission for admin creation</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A new <code>Account</code> object if successful.</p>\n<h4 id=\"body\">Body</h4>\n<p>A fully completed <code>Account</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"da6cfa6e-f058-4f58-b4d3-d8ce0a8de847"},{"name":"/account/:account","id":"5d2ddd00-7618-4606-90ab-282e43fd0a1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/account/{{account}}","description":"<p>Gets the account. If the account exists it will return the <code>Account</code> object (without a password) otherwise it will return a Missing Resource status code.\n<code>:account</code> is the account name.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>Account</code> object without the password field.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account","{{account}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d2ddd00-7618-4606-90ab-282e43fd0a1f"},{"name":"/account/:account","id":"85c1863e-d51d-45e0-97ae-1b91c0e6548e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"{{base}}/account/{{account}}?async=bool","description":"<p>Updates an existing account.\n<code>:account</code> is the account name.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>Account</code> object without the password field.</p>\n<h4 id=\"body\">Body</h4>\n<p>Send a partial or complete copy of an <code>Account</code> object. Fields that are filled will replace the existing account fields. If the name has changed then the account will be renamed. This can result in a BadRequest if there is already an account with the same name.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account","{{account}}"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"85c1863e-d51d-45e0-97ae-1b91c0e6548e"},{"name":"/account/:account","id":"5e35ac13-0784-4183-a83c-f16aff931c86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/account/{{account}}?async=bool","description":"<p>Deletes an Account.\n<code>:account</code> is the account name.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot permission.</li>\n<li>Requires SuperBot permission to delete Admin accounts.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>bool</code> that represents if the action was successful.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account","{{account}}"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"5e35ac13-0784-4183-a83c-f16aff931c86"},{"name":"/account/:account/authorize","id":"2a0606ed-e744-4b1b-af79-d056d97de71f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>BCrypt Hash of the password. PHP for example uses password_hash. If your language does not support this feature natively, look at <a href=\"https://en.wikipedia.org/wiki/Bcrypt\">BCrypt Wiki</a> for implementation details.</p>\n","key":"Hash","type":"text","value":"$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy"}]},"url":"{{base}}/account/{{account}}/authorize","description":"<p>Authorizes the account.\n<code>:account</code> is the account name.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot permission.</li>\n<li>HttpServer must be operating with SSL</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns <code>true</code> if authenticated otherwise <code>false</code>.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account","{{account}}","authorize"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2a0606ed-e744-4b1b-af79-d056d97de71f"},{"name":"/account/:account/protection","id":"c2eeac32-fe27-40ac-bbb0-60548642bf3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/account/{{account}}/protection","description":"<p>Gets a list of worlds the user has been protected in.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns an array of partial <code>World Protection</code> objects.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["account","{{account}}","protection"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2eeac32-fe27-40ac-bbb0-60548642bf3a"}],"id":"da30287b-637a-4b56-acfe-b8706d03c787","description":"<p>Endpoints that relate to account management, such as adding, editing, deleting and authorizing. All calls to this endpoint require at least <code>Bot</code> or above in permissions.</p>\n<h4 id=\"account-object\">Account Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Name</td>\n<td>string</td>\n<td>The name of the account</td>\n</tr>\n<tr>\n<td>IsAdmin</td>\n<td>bool</td>\n<td>Is the account an admin in Starbound?</td>\n</tr>\n<tr>\n<td>Password</td>\n<td>string</td>\n<td>The plaintext password. This may not always be present and often wont be. The server requires SSL enabled for this field to be used.</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"id":"1a1c4193-7c7d-4e75-84bb-8cf939e40ab6","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e937dbe1-425d-4eab-9f84-64f158d2529c","type":"text/javascript","exec":[""]}}],"_postman_id":"da30287b-637a-4b56-acfe-b8706d03c787","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"Ban","item":[{"name":"/ban","id":"279485e4-0c93-4d16-aab4-b62aa2e73065","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/ban","description":"<p>Gets the latest ban ticket.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Admin permissions.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A long (64bit) ban ticket.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["ban"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"1772ea3a-ef18-4b22-8746-eb1ba06647b3","name":"Get latest ban ticket","originalRequest":{"method":"GET","header":[],"url":"{{base}}/ban"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Wed, 02 Jan 2019 03:40:44 GMT"},{"key":"Content-Length","value":"66"},{"key":"Keep-Alive","value":"timeout=15,max=99"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/ban\",\n    \"Time\": 0,\n    \"Response\": 165\n}"}],"_postman_id":"279485e4-0c93-4d16-aab4-b62aa2e73065"},{"name":"/ban","id":"fac41813-4580-47bb-9d58-1a37dc71a3be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{base}}/ban?cid=int&copy_details=bool","description":"<p>Creates a new ban and reloads the server. If the <code>cid</code> query parameter is supplied then the player with the same <code>cid</code> will be banned and kicked.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Admin Permission</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The newly created <code>Ban</code> object.</p>\n<h4 id=\"body\">Body</h4>\n<p>A partially completed <code>Ban</code> object:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ip</td>\n<td>string?</td>\n<td>IP address of the ban. Only applicable for IP bans.</td>\n</tr>\n<tr>\n<td>uuid</td>\n<td>string?</td>\n<td>UUID of the ban. Only applicable for UUID bans.</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>string</td>\n<td>The reason for the ban. Note the formatting of the ban reason below.</td>\n</tr>\n<tr>\n<td>bannedBy</td>\n<td>string?</td>\n<td>The moderator who banned the user.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Either <code>ip</code> or <code>uuid</code> must be set unless the <code>cid</code> query is defined. If the <code>cid</code> query is defined and either of these values are empty or missing, then they will be filled in automatically with the player's details. If the player does not have a valid <code>uuid</code> yet, then a refresh will be forced and their <code>uuid</code> will be fetched. This behaviour can be forced using the <code>copy_details</code> query parameter.</p>\n<p>If the <code>bannedBy</code> field is not supplied then it will be replaced by the current authentication name.</p>\n<p><code>ticket</code> cannot be set as it will be set automatically based on the current ticket ID.\n<code>bannedAt</code> will automatically be set to the current date time.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["ban"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. The connection ID to ban. If supplied and the player exists, then the <code>ip</code> and <code>uuid</code> fields will be automatically filled with the players ip and uuid if they are empty. The player will also be kicked from the server with the ban reasoning automatically after the ban is added and the server is reloaded.</p>\n","type":"text/plain"},"key":"cid","value":"int"},{"description":{"content":"<p>Optional. If the <code>cid</code> is set, then this parameter will force the player details to override the ban <code>ip</code> and <code>uuid</code> fields, regardless if they are empty or not.</p>\n","type":"text/plain"},"key":"copy_details","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"fac41813-4580-47bb-9d58-1a37dc71a3be"},{"name":"/ban/:ticket","id":"88222a8b-b13f-499e-b420-6ca0c1ec3082","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/ban/{{ticket}}","description":"<p>Gets a ban. Returns a Resource Not Found if the ban does not exist.</p>\n<p><code>:ticket</code> is the ban ticket id.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Admin permissions.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A full <code>Ban</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["ban","{{ticket}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"88222a8b-b13f-499e-b420-6ca0c1ec3082"},{"name":"/ban/:ticket","event":[{"listen":"prerequest","script":{"id":"0904b347-a352-4a02-a328-a468cbd67b07","exec":["pm.globals.set(\"ticket\", \"12\");"],"type":"text/javascript"}}],"id":"5fc12563-fa6e-4dd2-98ca-91aff146789d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/ban/{{ticket}}?async=bool","description":"<p>Deletes a given ban and reloads the server.</p>\n<p><code>:ticket</code> is the ban ticket id.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Admin permissions.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>True on success.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>ASYNC will not return any response and will always return a StatusCode of 1.\n</code></pre>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["ban","{{ticket}}"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"5fc12563-fa6e-4dd2-98ca-91aff146789d"}],"id":"71019089-cff0-499e-acad-0d4a1dd325ff","description":"<p>All endpoints relating to bans. By default, all bans added are both UUID and IP bans with unique ticket index. This API does <strong>not</strong> support legacy bans without ticket ids.</p>\n<p>Bans are a configuration setting, so as a result they have non-standard JSON formatting. They don't even use Starbound style, instead they opt for a <code>lowerCamelCase</code> styling. This is a result of not only lazy programming but also the evolution of the ban files over the 5 years of iLoveBacons.</p>\n<h4 id=\"ban-object\">Ban Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ip</td>\n<td>string?</td>\n<td>IP address of the ban. Only applicable for IP bans.</td>\n</tr>\n<tr>\n<td>uuid</td>\n<td>string?</td>\n<td>UUID of the ban. Only applicable for UUID bans.</td>\n</tr>\n<tr>\n<td>ticket</td>\n<td>long</td>\n<td>The unique ID of the ban</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>string</td>\n<td>The reason for the ban. Note the formatting of the ban reason below.</td>\n</tr>\n<tr>\n<td>bannedBy</td>\n<td>string?</td>\n<td>The moderator who banned the user.</td>\n</tr>\n<tr>\n<td>bannedAt</td>\n<td>long?</td>\n<td>The Unix Epoch timestamp the user was banned at.</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>long are 64bit integers.\nint are 32bit integers.\n</code></pre><h4 id=\"ban-reason-formatting\">Ban Reason Formatting</h4>\n<p>The ban reason is a starbound formatted text, allowing for colour tags and new lines with <code>\\n</code>. When creating a new ban, the following keywords will be replaced:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Word</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>{ticket}</td>\n<td>The unique ticket number of the ban</td>\n</tr>\n<tr>\n<td>{moderator}</td>\n<td>The moderator that performed the ban</td>\n</tr>\n</tbody>\n</table>\n</div><p>If the <code>{ticket}</code> keyword is not found at least once in the reason, the ticket number will automatically be prepended to the reasoning as a new line that is white text. For maxium customisation, <strong>always include a {ticket}</strong></p>\n","event":[{"listen":"prerequest","script":{"id":"61e79bae-6ddb-4755-8420-d70872072b12","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"359f604c-4369-4f87-8a62-21fa4d63e955","type":"text/javascript","exec":[""]}}],"_postman_id":"71019089-cff0-499e-acad-0d4a1dd325ff","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"Server","item":[{"name":"/server","event":[{"listen":"test","script":{"id":"4f743d31-487b-4577-9b6c-efadbe5ccd56","exec":[""],"type":"text/javascript"}}],"id":"6227f501-f753-4993-9ed2-77d885b71656","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/server","description":"<p>Gets the current settings and details of the server.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>SuperUser to view all information.</li>\n<li>SuperBot for script rules, logging rules and other advance settings</li>\n<li>Admin to view query information and anonymous/asset mistmach</li>\n<li>User to view bare minimum</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Returns the standard Starbound Settings (including naming convention).</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server"],"host":["{{base}}"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Super Bots and above only: Should the complete collection of settings be returned?</p>\n","type":"text/plain"},"key":"full","value":"true"}],"variable":[]}},"response":[{"id":"beb1603e-4cfd-4f23-8dea-86372e7b98d3","name":"Get Server Settings","originalRequest":{"method":"GET","header":[],"url":"{{base}}/server"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 04:35:02 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Route\": \"/server\",\n    \"Message\": null,\n    \"Type\": \"Newtonsoft.Json.Linq.JObject\",\n    \"Response\": {\n        \"ServerName\": \"iLoveBacons, one tasty universe\",\n        \"AllowAnonymousConnections\": true,\n        \"AllowAssetsMismatch\": true,\n        \"MaxPlayers\": 1,\n        \"GameServerBind\": \"*\",\n        \"GameServerPort\": 7788,\n        \"QueryServerBind\": \"*\",\n        \"QueryServerPort\": 21024\n    },\n    \"ExecuteTime\": 0\n}"}],"_postman_id":"6227f501-f753-4993-9ed2-77d885b71656"},{"name":"/server/uptime","event":[{"listen":"test","script":{"id":"4f743d31-487b-4577-9b6c-efadbe5ccd56","exec":[""],"type":"text/javascript"}}],"id":"4b221a92-cfc5-491c-8f8f-b02c01546b27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/server/uptime?count=10","description":"<p>Gets the uptime history of the server.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Returns a list of <code>Uptime</code> objects</p>\n<h3 id=\"uptime-object\">Uptime Object</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Id</td>\n<td>long</td>\n<td>The unique ID for the uptime record</td>\n</tr>\n<tr>\n<td>Started</td>\n<td>DateTime</td>\n<td>The time when the server started.</td>\n</tr>\n<tr>\n<td>Ended</td>\n<td>DateTime?</td>\n<td>The time when the server ended. Null if the server is still running.</td>\n</tr>\n<tr>\n<td>LastLog</td>\n<td>string</td>\n<td>The last few lines of log that were received before the shutdown. Maybe empty.</td>\n</tr>\n<tr>\n<td>Reason</td>\n<td>string</td>\n<td>The recorded reason for the shutdown. Maybe empty.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server","uptime"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. How far to search back.</p>\n","type":"text/plain"},"key":"count","value":"10"}],"variable":[]}},"response":[{"id":"6ed0ba29-c79e-4a3e-8df2-4e0b13cdca5e","name":"/server/uptime","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base}}/server/uptime?count=10","host":["{{base}}"],"path":["server","uptime"],"query":[{"key":"count","value":"10","description":"Optional. How far to search back."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-RateLimit-Reset","value":"Sat, 31 Aug 2019 03:32:38 GMT"},{"key":"X-RateLimit-Limit","value":"300"},{"key":"X-RateLimit-Remaining","value":"299"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 31 Aug 2019 03:31:38 GMT"},{"key":"Content-Length","value":"3288"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Route\": \"/server/uptime\",\n    \"Message\": null,\n    \"Type\": \"System.Collections.Generic.List`1[[Starwatch.Entities.Uptime, Starwatch.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]\",\n    \"Response\": [\n        {\n            \"Id\": 478,\n            \"Started\": \"2019-08-31T03:31:36\",\n            \"Ended\": null,\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 477,\n            \"Started\": \"2019-08-31T03:30:05\",\n            \"Ended\": \"2019-08-31T13:31:37\",\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 476,\n            \"Started\": \"2019-08-31T03:29:20\",\n            \"Ended\": \"2019-08-31T13:30:07\",\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 475,\n            \"Started\": \"2019-08-31T03:27:15\",\n            \"Ended\": \"2019-08-31T13:29:22\",\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 474,\n            \"Started\": \"2019-08-31T03:12:25\",\n            \"Ended\": \"2019-08-31T13:27:16\",\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 473,\n            \"Started\": \"2019-08-30T04:58:27\",\n            \"Ended\": \"2019-08-30T04:58:28\",\n            \"LastLog\": \"[Info]  Root: Loaded Configuration in 0.0006082 seconds\\n[Info]  Root: Scanning for asset sources in directory '..\\\\assets\\\\'\\n[Info]  Root: Done preparing Root.\\n[Info]  Root: Preparing Root...\",\n            \"Reason\": \"Critical Error: A task was canceled.\"\n        },\n        {\n            \"Id\": 472,\n            \"Started\": \"2019-08-30T04:57:49\",\n            \"Ended\": \"2019-08-30T04:57:53\",\n            \"LastLog\": \"[Info]  Root: Loaded RadioMessageDatabase in 0.0027382 seconds\\n[Info]  Root: Loaded SpawnTypeDatabase in 0.0037795 seconds\\n[Info]  Root: Loaded DanceDatabase in 0.001626 seconds\\n[Info]  Root: Loaded BehaviorDatabase in 0.178297 seconds\\n[Info]  Root: Loaded CodexDatabase in 0.0034403 seconds\\n[Info]  Root: Loaded TechDatabase in 0.0005542 seconds\\n[Info]  Root: Loaded AiDatabase in 0.0005554 seconds\\n[Info]  Root: Loaded QuestTemplateDatabase in 0.0103428 seconds\\n[Info]  Root: Loaded SpeciesDatabase in 0.0043626 seconds\\n[Info]  Root: Loaded EmoteProcessor in 5.57e-05 seconds\",\n            \"Reason\": \"Critical Error: A task was canceled.\"\n        },\n        {\n            \"Id\": 471,\n            \"Started\": \"2019-08-30T01:22:38\",\n            \"Ended\": \"2019-08-30T01:22:41\",\n            \"LastLog\": \"[Info]  Root: Loaded RadioMessageDatabase in 0.0027492 seconds\\n[Info]  Root: Loaded SpawnTypeDatabase in 0.0042462 seconds\\n[Info]  Root: Loaded DanceDatabase in 0.0018921 seconds\\n[Info]  Root: Loaded BehaviorDatabase in 0.171482 seconds\\n[Info]  Root: Loaded CodexDatabase in 0.003327 seconds\\n[Info]  Root: Loaded TechDatabase in 0.0005473 seconds\\n[Info]  Root: Loaded AiDatabase in 0.0005851 seconds\\n[Info]  Root: Loaded QuestTemplateDatabase in 0.0091647 seconds\\n[Info]  Root: Loaded SpeciesDatabase in 0.0033701 seconds\\n[Info]  Root: Loaded EmoteProcessor in 6.19e-05 seconds\",\n            \"Reason\": \"Server closed for unkown reason\"\n        },\n        {\n            \"Id\": 470,\n            \"Started\": \"2019-08-30T01:22:23\",\n            \"Ended\": \"2019-08-30T11:22:39\",\n            \"LastLog\": \"\",\n            \"Reason\": \"\"\n        },\n        {\n            \"Id\": 469,\n            \"Started\": \"2019-08-29T23:37:06\",\n            \"Ended\": \"2019-08-29T23:37:08\",\n            \"LastLog\": \"[Info]  Root: Loaded LiquidsDatabase in 0.0004301 seconds\\n[Info]  Root: Loaded BiomeDatabase in 0.0185255 seconds\\n[Info]  Root: Loaded TerrainDatabase in 0.0027253 seconds\\n[Info]  Root: Loaded MaterialDatabase in 0.117328 seconds\\n[Info]  Root: Loaded ImageMetadataDatabase in 1.10001e-06 seconds\\n[Info]  Root: Loaded ParticleDatabase in 0.0202951 seconds\\n[Info]  Root: Loaded EntityFactory in 0.020272 seconds\\n[Info]  Root: Loaded VersioningDatabase in 0.0006405 seconds\\n[Info]  Root: Loaded MonsterDatabase in 0.0866535 seconds\\n[Info]  Root: Loaded PlayerFactory in 0.0020181 seconds\",\n            \"Reason\": \"Critical Error: A task was canceled.\"\n        }\n    ],\n    \"ExecuteTime\": 37\n}"}],"_postman_id":"4b221a92-cfc5-491c-8f8f-b02c01546b27"},{"name":"/server","id":"2693b5a5-06fb-4632-b367-34fe08424218","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"text/plain","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>Allow anonymous connections to join the server.</p>\n","key":"AllowAnonymousConnections","type":"text","value":"false"},{"description":"<p>Allow connections with assets that do not match the servers.</p>\n","key":"AllowAssetsMismatch","type":"text","value":"true"},{"description":"<p>Name of the server.</p>\n","key":"ServerName","type":"text","value":"Starwatch Postman"},{"description":"<p>The number of players allowed to join at a given time.</p>\n","key":"MaxPlayers","type":"text","value":"60"}]},"url":"{{base}}/server?reload=bool&async=bool","description":"<p>Patches the server settings.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns the updated settings.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>ASYNC will not return any response and will always return a StatusCode of 1.\n</code></pre>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Reloads the server once the setting has been updated. Reloading can only occur if the server has RCON enabled.\n<strong>Default:</strong> <code>true</code></p>\n","type":"text/plain"},"key":"reload","value":"bool"},{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[{"id":"4c55074c-56f1-40d3-bc5a-e3f20945524b","name":"Change Server Name","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"ServerName","value":"Geoff","type":"text"}]},"url":{"raw":"{{base}}/server?reload=true","host":["{{base}}"],"path":["server"],"query":[{"key":"reload","value":"true","description":"Optional. Reloads the server once the setting has been updated. Reloading can only occur if the server has RCON enabled."},{"key":"async","value":"true","description":"Optional. Tells the server to return immediately after sending the request and ignore the result.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 04:25:27 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/server\",\n    \"Time\": 4108,\n    \"Response\": true\n}"},{"id":"8410d595-23ec-41f3-b1fc-3302fbc62047","name":"Change Server Name Async","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"ServerName","value":"Geoff","type":"text"}]},"url":{"raw":"{{base}}/server?reload=true&async=true","host":["{{base}}"],"path":["server"],"query":[{"key":"reload","value":"true","description":"Optional. Reloads the server once the setting has been updated. Reloading can only occur if the server has RCON enabled."},{"key":"async","value":"true","description":"Optional. Tells the server to return immediately after sending the request and ignore the result."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 04:25:58 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 1,\n    \"Message\": null,\n    \"Route\": \"/server\",\n    \"Time\": 0,\n    \"Response\": null\n}"}],"_postman_id":"2693b5a5-06fb-4632-b367-34fe08424218"},{"name":"/server","id":"1ff43c10-f855-4767-ac24-a15287ac74e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/server?async=bool&reason=string","description":"<p>Shutsdown the server. Starwatch will automatically restart the server once terminated.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns null. The server will always restart.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>ASYNC will not return any response and will always return a StatusCode of 1.\n</code></pre>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"},{"description":{"content":"<p>Optional. The reason why the server was terminated.</p>\n","type":"text/plain"},"key":"reason","value":"string"}],"variable":[]}},"response":[{"id":"2f3de8d5-9214-464f-a6ad-e17d7bb84a5b","name":"Restart / Kill Server","originalRequest":{"method":"DELETE","header":[],"url":"{{base}}/server"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 29 Dec 2018 11:22:52 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=99"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/server\",\n    \"Time\": 61,\n    \"Response\": null\n}"}],"_postman_id":"1ff43c10-f855-4767-ac24-a15287ac74e9"},{"name":"/server/statistics","id":"9bb3a0de-2374-4104-af63-75eb586aae0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/server/statistics","description":"<p>Gets the current statistics of the server.</p>\n<h4 id=\"response\">Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Connections</td>\n<td>int</td>\n<td>The total number of connections</td>\n</tr>\n<tr>\n<td>LastConnectionID</td>\n<td>int?</td>\n<td>The last ID to connect to the server</td>\n</tr>\n<tr>\n<td>StartTime</td>\n<td>DateTime</td>\n<td>The time the server was last started</td>\n</tr>\n<tr>\n<td>EndTime</td>\n<td>DateTime</td>\n<td>The time the server last terminated</td>\n</tr>\n<tr>\n<td>Uptime</td>\n<td>double</td>\n<td>The total time (in seconds) the server has been up for. Negative time represents downtime.</td>\n</tr>\n<tr>\n<td>CurrentBanTicket</td>\n<td>long</td>\n<td>The current ticket ID for the last ban</td>\n</tr>\n<tr>\n<td>TotalAccounts</td>\n<td>int</td>\n<td>The total accounts the server has</td>\n</tr>\n<tr>\n<td>MemoryUsage</td>\n<td>MemoryUsage</td>\n<td>The current usage of memory that the starbound process has allocated</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"memoryusage\">MemoryUsage</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WorkingSet</td>\n<td>long</td>\n<td>The usage (in bytes) the starbound process is currently using</td>\n</tr>\n<tr>\n<td>PeakWorkingSet</td>\n<td>long</td>\n<td>The usage (in bytes) the starbound process has peaked at</td>\n</tr>\n<tr>\n<td>MaxWorkingSet</td>\n<td>long</td>\n<td>The total memory (in bytes) the starbound process can use</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server","statistics"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"05acb638-b757-43d4-87b5-a0680d372670","name":"Get Server Statistics","originalRequest":{"method":"GET","header":[],"url":"{{base}}/server/statistics"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 05:10:56 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/server/statistics\",\n    \"Time\": 6,\n    \"Response\": {\n        \"Connections\": 0,\n        \"LastConnectionID\": null,\n        \"MemoryUsage\": 358141952,\n        \"StartTime\": \"2018-12-30T05:10:48.5305165Z\",\n        \"EndTime\": \"0001-01-01T00:00:00\",\n        \"Uptime\": 8.0714617,\n        \"CurrentBanTicket\": 169,\n        \"TotalAccounts\": 1\n    }\n}"}],"_postman_id":"9bb3a0de-2374-4104-af63-75eb586aae0b"},{"name":"/server/statistics/listing","id":"33e30cc6-e6cd-426b-af13-a49b4ed43006","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/server/statistics/listing","description":"<p>Provides a compound listing of both statistics and configuration.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Bot or above.</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["server","statistics","listing"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"33e30cc6-e6cd-426b-af13-a49b4ed43006"}],"id":"08194f83-7086-4165-81a6-4cc367c27903","description":"<p>Requests relating to the Starbound server. The settings returned from the server are all Starbound Style JSON. This style is <code>lower_snake_case</code> for the variables.</p>\n","event":[{"listen":"prerequest","script":{"id":"08e3be7c-f932-4041-bf82-59559028152d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"73e020cd-22ed-4327-850d-4b2ccaa3651b","type":"text/javascript","exec":[""]}}],"_postman_id":"08194f83-7086-4165-81a6-4cc367c27903","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"World","item":[{"name":"/world","id":"186b28d1-be40-4b72-b529-01fcc2936841","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world","description":"<p>Gets a list of worlds currently being visited by players.</p>\n<h4 id=\"response\">Response</h4>\n<p>An array of <code>string</code> representing all the <code>whereami</code> of the worlds.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"186b28d1-be40-4b72-b529-01fcc2936841"},{"name":"/world/:whereami","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":["pm.environment.set(\"identifier\", \"556068233_111360776_-144814755_4\");"],"type":"text/javascript"}}],"id":"b4537505-3103-4262-be08-56f9fbc00145","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world/:whereami","description":"<p>Gets the current world.</p>\n<p><code>:whereami</code> is either the whereami or the filename of the world. If incorrect a BadRequest will be returned.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>World</code> object. The type will vary depending on the formatting of the <code>:identifier</code> (CelestialWorld:.... versus InstanceWorld:... for example).</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami"],"host":["{{base}}"],"query":[],"variable":[{"id":"c5d0d0b4-71d7-4086-853b-1af2b92d8771","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"","key":"whereami"}]}},"response":[],"_postman_id":"b4537505-3103-4262-be08-56f9fbc00145"},{"name":"/world/:whereami","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":["pm.environment.set(\"identifier\", \"556068233_111360776_-144814755_4\");"],"type":"text/javascript"}}],"id":"84fe467e-5ef6-44e4-a94f-8601259e2925","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/world/:whereami","description":"<p>Deletes the metadata of the <code>Celestial World</code>, forcing it to regenerate when it is used next.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns if it was succesfull. If the world is not <code>Celestial</code>, then it will always return <code>false</code>.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami"],"host":["{{base}}"],"query":[],"variable":[{"id":"2d5c785f-350b-4590-b871-7a4f6cd84613","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"","key":"whereami"}]}},"response":[],"_postman_id":"84fe467e-5ef6-44e4-a94f-8601259e2925"},{"name":"/world/:whereami/restore","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":["pm.environment.set(\"identifier\", \"556068233_111360776_-144814755_4\");"],"type":"text/javascript"}}],"id":"1b68073b-b472-453c-ba0a-ac5616eebf97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world/:whereami/restore","description":"<p>Gets the restore settings of a world.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>WorldRestore</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami","restore"],"host":["{{base}}"],"query":[],"variable":[{"id":"390f88a2-d712-4fb7-874a-6f99edc94011","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"","key":"whereami"}]}},"response":[],"_postman_id":"1b68073b-b472-453c-ba0a-ac5616eebf97"},{"name":"/world/:whereami/restore","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"f3e233cf-84f4-4c19-bb95-f7e5e1f66fad","exec":[""],"type":"text/javascript"}}],"id":"daf11a10-7002-400b-9f64-3c3bd8139f0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":"{{base}}/world/:whereami/restore","description":"<p>Creates a snapshot of the world and makes it automatically restore.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>WorldRestore</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami","restore"],"host":["{{base}}"],"query":[],"variable":[{"id":"985d6cf4-4a47-4c23-8c82-3367a3387e6b","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"CelestialWorld:-156244145:-479093627:-35312047:10","key":"whereami"}]}},"response":[{"id":"471bb5db-6812-4395-a09c-1e22c2e1d3ce","name":"/world/:whereami/restore","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":{"raw":"{{base}}/world/:whereami/restore","host":["{{base}}"],"path":["world",":whereami","restore"],"variable":[{"description":"The `/whereami` of the world. Most commonly `CelestialWorld:....`","key":"whereami","value":"CelestialWorld:-156244145:-479093627:-35312047:10"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-RateLimit-Reset","value":"Sat, 07 Sep 2019 02:24:37 GMT"},{"key":"X-RateLimit-Limit","value":"300"},{"key":"X-RateLimit-Remaining","value":"299"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 07 Sep 2019 02:23:43 GMT"},{"key":"Content-Length","value":"232"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Route\": \"/world/:whereami/restore\",\n    \"Message\": null,\n    \"Type\": \"Starwatch.Modules.Restore.WorldRestore\",\n    \"Response\": {\n        \"Priority\": 10,\n        \"World\": \"CelestialWorld:-156244145:-479093627:-35312047:10\",\n        \"Mirror\": null\n    },\n    \"ExecuteTime\": 5504\n}"}],"_postman_id":"daf11a10-7002-400b-9f64-3c3bd8139f0b"},{"name":"/world/:whereami/restore","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":["pm.environment.set(\"identifier\", \"556068233_111360776_-144814755_4\");"],"type":"text/javascript"}}],"id":"0ea87423-9c24-41aa-8f84-bb52746162d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"{{base}}/world/:whereami/restore","description":"<p>Updates the restore, setting which mirror to clone from.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>WorldRestore</code> object.</p>\n<h4 id=\"body\">Body</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Mirror</td>\n<td>string?</td>\n<td>The whereami of the world to clone. If the mirror is null, then the world will use its own snapshots.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami","restore"],"host":["{{base}}"],"query":[],"variable":[{"id":"b3d8836a-469c-4a7b-9625-b3e539aa6470","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"","key":"whereami"}]}},"response":[],"_postman_id":"0ea87423-9c24-41aa-8f84-bb52746162d7"},{"name":"/world/:whereami/restore","event":[{"listen":"prerequest","script":{"id":"c6131039-373d-4db3-9d19-c6d7f067f238","exec":["pm.environment.set(\"identifier\", \"556068233_111360776_-144814755_4\");"],"type":"text/javascript"}}],"id":"aa27d7c0-887c-4998-a555-a0b1088b1635","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/world/:whereami/restore?async","description":"<p>Deletes the restore settings of a world.</p>\n<h4 id=\"response\">Response</h4>\n<p>Returns if it was succesfull.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":whereami","restore"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Is the request async? </p>\n","type":"text/plain"},"key":"async","value":null}],"variable":[{"id":"8fe89397-a198-4902-a45c-da58419b7797","description":{"content":"<p>The <code>/whereami</code> of the world. Most commonly <code>CelestialWorld:....</code></p>\n","type":"text/plain"},"type":"string","value":"","key":"whereami"}]}},"response":[],"_postman_id":"aa27d7c0-887c-4998-a555-a0b1088b1635"},{"name":"/world/:identifier/players","event":[{"listen":"prerequest","script":{"id":"cea0ba4a-05ed-4a55-9c33-23e93d45dec1","exec":["pm.globals.set(\"cid\", \"1\");"],"type":"text/javascript"}}],"id":"8fc82f87-3189-4e35-b5f7-f97d08af9e7f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world/{{identifier}}/players","description":"<p>Gets a list of all connection ID's and their player names on this world.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires User permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A array indexed with the players <code>cid</code> with values representing their <code>username</code>.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","players"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8fc82f87-3189-4e35-b5f7-f97d08af9e7f"},{"name":"/world/:identifer/protection","event":[{"listen":"test","script":{"id":"90ed16f5-722e-4384-b924-3753b30542a8","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"589f05d2-c1f5-41f8-9e14-e55d38faaaaa","exec":["pm.environment.set(\"identifier\", \"CelestialWorld:17:17:-198600707:10\");"],"type":"text/javascript"}}],"id":"ac17a23f-a668-4653-854e-25dabbcf5ade","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world/{{identifier}}/protection","description":"<p>Gets the protection for this world.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a <code>World Protection</code> object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ac17a23f-a668-4653-854e-25dabbcf5ade"},{"name":"/world/:identifer/protection","id":"d578f202-6b9a-4ef0-8e7b-d3003c04e9ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"Name\": \"Black Island\",\n\t\"AllowAnonymous\": false,\n\t\"Mode\": \"Blacklist\"\n}"},"url":"{{base}}/world/{{identifier}}/protection","description":"<p>Adds protection to this world.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns the newly added <code>World Protection</code> if successful.</p>\n<h4 id=\"body\">Body</h4>\n<p>A partial <code>World Protection</code> object. The <code>AccountList</code> is optional and maybe removed. The <code>Whereami</code> will be ignored and is not required.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"fbfc188b-8994-4a5a-877a-35332396a668","name":"Add a blacklist","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"AllowAnonymous\": false,\n\t\"Mode\": \"Blacklist\"\n}"},"url":"{{base}}/world/CelestialWorld:17:17:-198600707:10/protection"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-RateLimit-Reset","value":"Sun, 24 Mar 2019 05:00:22 GMT"},{"key":"X-RateLimit-Limit","value":"10000"},{"key":"X-RateLimit-Remaining","value":"9999"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 24 Mar 2019 04:59:22 GMT"},{"key":"Content-Length","value":"199"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/world/:identifier/protection\",\n    \"Time\": 16,\n    \"Response\": {\n        \"Whereami\": \"CelestialWorld:17:17:-198600707:10\",\n        \"AccountList\": [],\n        \"AllowAnonymous\": false,\n        \"Mode\": \"Blacklist\"\n    }\n}"}],"_postman_id":"d578f202-6b9a-4ef0-8e7b-d3003c04e9ec"},{"name":"/world/:identifer/protection","id":"886022aa-f5f9-4a08-b99e-166069f21219","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"Name\": \"Test Whitelist\"\n}"},"url":"{{base}}/world/:world/protection","description":"<p>Edits the protection on the world.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns the newly added <code>World Protection</code> if successful.</p>\n<h4 id=\"body\">Body</h4>\n<p>A partial <code>World Protection</code> object. Everything is optional and only the values present will effect the protection. If <code>AccountList</code> is set, instead of replacing the entire list it will add the new accounts to it.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world",":world","protection"],"host":["{{base}}"],"query":[],"variable":[{"id":"1461724a-459b-4517-bb23-d61014a296dc","type":"string","value":"","key":"world"}]}},"response":[],"_postman_id":"886022aa-f5f9-4a08-b99e-166069f21219"},{"name":"/world/:identifer/protection","id":"73d3bc3c-4a4b-4e51-b351-9c5a345845ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/world/{{identifier}}/protection","description":"<p>Deletes the protection of the world.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns true if successful.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"73d3bc3c-4a4b-4e51-b351-9c5a345845ad"},{"name":"/world/:identifer/protection/:account","id":"55a25150-75cc-4a23-a1ac-efaee5437ea7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/world/{{identifier}}/protection/{{account}}","description":"<p>Gets if the account is on the protection list.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A <code>bool</code> representing if the account is on the list.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection","{{account}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"55a25150-75cc-4a23-a1ac-efaee5437ea7"},{"name":"/world/:identifer/protection/:account","id":"c097c48c-af80-46c3-a0cb-e1efa984737d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":"{{base}}/world/{{identifier}}/protection/{{account}}","description":"<p>Adds the account to the protection list.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A <code>bool</code> representing the success state.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection","{{account}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"49cffabd-fb83-4185-be67-8a47a074c3fe","name":"Add Account to List","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":"{{base}}/world/CelestialWorld:17:17:-198600707:10/protection/Lachee"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-RateLimit-Reset","value":"Sun, 24 Mar 2019 05:02:55 GMT"},{"key":"X-RateLimit-Limit","value":"10000"},{"key":"X-RateLimit-Remaining","value":"10000"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 24 Mar 2019 05:01:55 GMT"},{"key":"Content-Length","value":"103"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/world/:identifier/protection/:account\",\n    \"Time\": 3,\n    \"Response\": true\n}"}],"_postman_id":"c097c48c-af80-46c3-a0cb-e1efa984737d"},{"name":"/world/:identifer/protection/:account","id":"ce2771a2-0baa-4387-bdb4-dfe13cb9fb73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/world/{{identifier}}/protection/{{account}}","description":"<p>Removes the account from the protection list.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Admin permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>A <code>bool</code> representing the success state.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["world","{{identifier}}","protection","{{account}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce2771a2-0baa-4387-bdb4-dfe13cb9fb73"}],"id":"13a0f48c-3a28-445e-978d-fe13f511025c","description":"<p>Endpoints relating to the world and universe</p>\n<h4 id=\"world-object\">World Object</h4>\n<p>The world has 3 subtypes, Client, Instance and Celestial. They all inherit the base World object:</p>\n<h5 id=\"client-ship-world\">Client Ship World</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Whereami</td>\n<td>string</td>\n<td>The whereami is what the command /whereami would return for this world.</td>\n</tr>\n<tr>\n<td>UUID</td>\n<td>string</td>\n<td>The UUID of the player that owns the ship world</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"instance-world\">Instance World</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Whereami</td>\n<td>string</td>\n<td>The whereami is what the command /whereami would return for this world.</td>\n</tr>\n<tr>\n<td>Filename</td>\n<td>string?</td>\n<td>The name of the file this world would be saved as. Some world types do not support this.</td>\n</tr>\n<tr>\n<td>Type</td>\n<td>string</td>\n<td>The type of the instance world.</td>\n</tr>\n<tr>\n<td>UID</td>\n<td>string</td>\n<td>The unique ID of the instance world.</td>\n</tr>\n<tr>\n<td>Val</td>\n<td>string</td>\n<td>Some magick value I dont quiet understand yet.</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"celestial-world\">Celestial World</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Whereami</td>\n<td>string</td>\n<td>The whereami is what the command /whereami would return for this world.</td>\n</tr>\n<tr>\n<td>Filename</td>\n<td>string?</td>\n<td>The name of the file this world would be saved as. Some world types do not support this.</td>\n</tr>\n<tr>\n<td>X</td>\n<td>long</td>\n<td>The X coordinate of the planet.</td>\n</tr>\n<tr>\n<td>Y</td>\n<td>long</td>\n<td>The Y coordinate of the planet.</td>\n</tr>\n<tr>\n<td>System</td>\n<td>long</td>\n<td>The system ID the planet is in.</td>\n</tr>\n<tr>\n<td>Planet</td>\n<td>int</td>\n<td>The ID of the planet.</td>\n</tr>\n<tr>\n<td>Moon</td>\n<td>int?</td>\n<td>If set, then this planet is actually a moon and this is the ID of said moon.</td>\n</tr>\n<tr>\n<td>IsMoon</td>\n<td>bool</td>\n<td>Is the planet a moon?</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"world-restore--object\">World Restore  Object</h3>\n<p>This object is returned for the restore system.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>World</td>\n<td>string</td>\n<td>The whereami of the world</td>\n</tr>\n<tr>\n<td>Priority</td>\n<td>int</td>\n<td>The internal priority of the world restore. The lower priorities will be restored first.</td>\n</tr>\n<tr>\n<td>Mirror</td>\n<td>string?</td>\n<td>The whereami of the world to clone. If the mirror is null, then the world will use its own snapshots.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"world-protection-object\">World Protection Object</h3>\n<p>This object is returned for the protection system. All the variables are optional when PATCHing.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Name</td>\n<td>string</td>\n<td>A cosmetic name of the protected world.</td>\n</tr>\n<tr>\n<td>Whereami</td>\n<td>string</td>\n<td>The whereami is what the command /whereami would return for this world.</td>\n</tr>\n<tr>\n<td>AccountList</td>\n<td>HashSet</td>\n<td>A hashset containing all the names that this protection applies too.</td>\n</tr>\n<tr>\n<td>AllowAnonymous</td>\n<td>bool</td>\n<td>Indiciates if anonymous connections are allowed onto this world.</td>\n</tr>\n<tr>\n<td>Mode</td>\n<td>enum</td>\n<td>The type of protection this world has.  <code>Whitelist</code>, only accounts in the <code>AccountList</code> are allowed. <code>Blacklist</code> all accounts are allowed except those in the <code>AccountList</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"id":"34c74d68-50fb-42be-aa31-9dfb10807f2c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d48dc76e-d3da-43a5-b959-d8945ec2681f","type":"text/javascript","exec":[""]}}],"_postman_id":"13a0f48c-3a28-445e-978d-fe13f511025c","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"Misc","item":[{"name":"/chat","id":"837dc067-a379-4065-b14d-ea78424ba249","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>The message to broadcast to the server.</p>\n","key":"Content","type":"text","value":"string"}]},"url":"{{base}}/chat?async=bool&include_tag=bool","description":"<p>Posts a chat message.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires <code>Admin</code> level</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a RCON Response</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Message</td>\n<td>string</td>\n<td>The message returned from the RCON.</td>\n</tr>\n<tr>\n<td>Success</td>\n<td>bool</td>\n<td>Did the rcon execute succesfully?</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["chat"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"},{"description":{"content":"<p>Optional. Tells the server to prepend the authorization tag as the owner of the message. (eg <code>&lt;bot_postman&gt; message</code>).\n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"include_tag","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"837dc067-a379-4065-b14d-ea78424ba249"},{"name":"/rcon","id":"ae19e433-a8fa-4a83-b05f-919ec46a2080","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>The command to send to the server via rcon.</p>\n","key":"Command","type":"text","value":"string"}]},"url":"{{base}}/rcon?async=bool","description":"<p>Sends a command via RCON. This should be avoided where possible and the supplied functionality should be used instead.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li><code>SuperBot</code> permission or above.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a RCON Response</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Message</td>\n<td>string</td>\n<td>The message returned from the RCON.</td>\n</tr>\n<tr>\n<td>Success</td>\n<td>bool</td>\n<td>Did the rcon execute succesfully?</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["rcon"],"host":["{{base}}"],"query":[{"description":{"content":"<p>Optional. Tells the server to return immediately after sending the request and ignore the result. \n<strong>Default:</strong> <code>false</code></p>\n","type":"text/plain"},"key":"async","value":"bool"}],"variable":[]}},"response":[],"_postman_id":"ae19e433-a8fa-4a83-b05f-919ec46a2080"},{"name":"/log","id":"5928c644-961f-48dc-9b69-7d1b0f0d04cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/log","description":"<p>Gets a list of logs that are available which can be used in the log endpoint.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["log"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5928c644-961f-48dc-9b69-7d1b0f0d04cb"}],"id":"217a090e-95ce-4e59-ac0c-f17eb4394b05","description":"<p>A collection of endpoints that dont match any other category.</p>\n","_postman_id":"217a090e-95ce-4e59-ac0c-f17eb4394b05","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}},{"name":"Meta","item":[{"name":"/meta/endpoints","id":"6744353d-a70e-4957-b1e2-2362432046b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"url":"{{base}}/meta/endpoints","description":"<p>Gets the endpoints available. The current authentication may not have enough privillage to use all the endpoints listed.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns an array of strings. All the possible endpoints are contained within the array.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["meta","endpoints"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"16f5741b-e59b-4f67-9a1a-9e7a7f75c96c","name":"Get Endpoints","originalRequest":{"method":"GET","header":[],"url":"{{base}}/meta/endpoints"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 29 Dec 2018 09:01:38 GMT"},{"key":"Content-Length","value":"163"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/endpoints\",\n    \"Response\": [\n        \"/world/:id/backup\",\n        \"/world/:id/whitelist\",\n        \"/world/:id\",\n        \"/meta/authentication\",\n        \"/meta/endpoints\"\n    ]\n}"}],"_postman_id":"6744353d-a70e-4957-b1e2-2362432046b9"},{"name":"/meta/gateway","id":"2df4191a-c979-4643-84b5-2408181a5b76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{base}}/meta/gateway","description":"<p>Gets the status of the gateway</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires SuperUser permission.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns a object.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["meta","gateway"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"deb8890d-5eef-4ce8-999b-10b2a257f795","name":"Get Gateway Status","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{base}}/meta/gateway"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Thu, 03 Jan 2019 09:13:07 GMT"},{"key":"Content-Length","value":"132"},{"key":"Keep-Alive","value":"timeout=15,max=99"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/gateway\",\n    \"Time\": 0,\n    \"Response\": {\n        \"ActiveSessions\": 0,\n        \"InactiveSessions\": 0,\n        \"Identifiers\": []\n    }\n}"}],"_postman_id":"2df4191a-c979-4643-84b5-2408181a5b76"},{"name":"/meta/authentication","id":"7d670342-b9aa-47a6-afaf-fec34e5cc0d6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base}}/meta/authentication","description":"<p>Clears all authentications. </p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires SuperUser.</li>\n</ul>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["meta","authentication"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"fcfae6dd-bbfd-41eb-9a31-86cac2bfab79","name":"Clear Authentications","originalRequest":{"method":"DELETE","header":[],"url":"{{base}}/meta/authentication"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 29 Dec 2018 09:02:26 GMT"},{"key":"Content-Length","value":"74"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/authentication\",\n    \"Response\": null\n}"}],"_postman_id":"7d670342-b9aa-47a6-afaf-fec34e5cc0d6"},{"name":"/meta/authentication","id":"e74b4083-d269-4590-b6fa-278f0f2555e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/meta/authentication","description":"<p>Gets a list of names of every cached authentication.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires SuperUser.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Returns an array of strings.</p>\n","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["meta","authentication"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"4bd831b4-7831-41cb-beac-3c7f3c1f3136","name":"Clear Authentications","originalRequest":{"method":"DELETE","header":[],"url":"{{base}}/meta/authentication"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sat, 29 Dec 2018 09:02:26 GMT"},{"key":"Content-Length","value":"74"},{"key":"Keep-Alive","value":"timeout=15,max=100"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/authentication\",\n    \"Response\": null\n}"}],"_postman_id":"e74b4083-d269-4590-b6fa-278f0f2555e7"},{"name":"/meta/authentication/:account","event":[{"listen":"test","script":{"id":"7620f32d-810b-47b9-a6f1-d40c03504c31","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"f71b4538-69f8-4565-8308-12b60148744c","exec":["pm.globals.set(\"account\", \"lachee\");"],"type":"text/javascript"}}],"id":"11e5b528-66ad-4595-97a0-a1de6e772fb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base}}/meta/authentication/{{account}}","description":"<p>Gets the authentication for the given account. Use @me to get the authentication details for the current account.</p>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>Requires Bot to get <code>@me</code> authentication.</li>\n<li>Requires SuperBot to get other authentications.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Name</td>\n<td>string</td>\n<td>Name of the authentication</td>\n</tr>\n<tr>\n<td>IsBot</td>\n<td>bool</td>\n<td>Is the auth a bot?</td>\n</tr>\n<tr>\n<td>IsUser</td>\n<td>bool</td>\n<td>Is the auth a user?</td>\n</tr>\n<tr>\n<td>IsAdmin</td>\n<td>bool</td>\n<td>Is the auth a admin user?</td>\n</tr>\n<tr>\n<td>AuthType</td>\n<td>enum</td>\n<td>The type of authentication</td>\n</tr>\n<tr>\n<td>LastActionTime</td>\n<td>DateTime</td>\n<td>The last time a action occured on this authentication</td>\n</tr>\n<tr>\n<td>TotalActionsPerformed</td>\n<td>long</td>\n<td>The total number of actions performed on this account.</td>\n</tr>\n<tr>\n<td>LastAction</td>\n<td>string</td>\n<td>The name of the last action performed</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"authtype\">AuthType</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Anonymous</td>\n<td>0</td>\n</tr>\n<tr>\n<td>User</td>\n<td>1</td>\n</tr>\n<tr>\n<td>Admin</td>\n<td>2</td>\n</tr>\n<tr>\n<td>Bot</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Super Bot</td>\n<td>5</td>\n</tr>\n<tr>\n<td>Super User</td>\n<td>10</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}},"urlObject":{"path":["meta","authentication","{{account}}"],"host":["{{base}}"],"query":[],"variable":[]}},"response":[{"id":"0f324ce9-6446-4ba8-bf03-d4202b945896","name":"Get Account `lachee`","originalRequest":{"method":"GET","header":[],"url":"{{base}}/meta/authentication/lachee"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 02:36:50 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=96"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/authentication/:account\",\n    \"Time\": 0,\n    \"Response\": {\n        \"Name\": \"lachee\",\n        \"IsBot\": false,\n        \"IsUser\": true,\n        \"IsAdmin\": true,\n        \"AuthType\": 10,\n        \"LastActionTime\": \"2018-12-30T02:36:50.5971369Z\",\n        \"TotalActionsPerformed\": 100,\n        \"LastAction\": \"rest:/meta/authentication/:account\"\n    }\n}"},{"id":"5f07d271-19c2-4359-99d5-f46d0eff7570","name":"Get Account `@me`","originalRequest":{"method":"GET","header":[],"url":"{{base}}/meta/authentication/@me"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"websocket-sharp/1.0"},{"key":"Date","value":"Sun, 30 Dec 2018 02:36:50 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Keep-Alive","value":"timeout=15,max=96"}],"cookie":[],"responseTime":null,"body":"{\n    \"Status\": 0,\n    \"Message\": null,\n    \"Route\": \"/meta/authentication/:account\",\n    \"Time\": 0,\n    \"Response\": {\n        \"Name\": \"bot_postman\",\n        \"IsBot\": true,\n        \"IsUser\": false,\n        \"IsAdmin\": false,\n        \"AuthType\": 3,\n        \"LastActionTime\": \"2018-12-30T02:36:50.5971369Z\",\n        \"TotalActionsPerformed\": 100,\n        \"LastAction\": \"rest:/meta/authentication/:account\"\n    }\n}"}],"_postman_id":"11e5b528-66ad-4595-97a0-a1de6e772fb0"}],"id":"d8e6da34-a9a1-4aa3-8330-9bdf3dc406b7","description":"<p>Meta endpoints relate to Starwatch and the API itself. They are for control of the application and the API with high permissions required in general.</p>\n","event":[{"listen":"prerequest","script":{"id":"fe024409-2c0a-4407-a9d1-cac9023412cd","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"02f79821-9302-4527-bc0f-e5ff63581e74","type":"text/javascript","exec":[""]}}],"_postman_id":"d8e6da34-a9a1-4aa3-8330-9bdf3dc406b7","auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":true,"source":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","type":"collection"}}}],"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]}},"event":[{"listen":"prerequest","script":{"id":"fa98f8c7-e817-4e34-8979-268b573a358f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"85f9c622-4fde-48ac-994b-cdb6d4396623","type":"text/javascript","exec":[""]}}],"variable":[{"key":"root","value":"http://127.0.0.1:7000/api"}]}