{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"0246d3bc-683d-4840-86f1-3461dd44367d","name":"Starwatch","description":"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. \n\n## Content Type and Encoding\nAll content is encoded as UTF-8.\nIt accepts both `application/json` and `application/x-www-form-urlencoded` data for POST and PATCH fields, but its recommended to use `json` as it is faster to process and more efficent.\n\n## Authorization\nAuthorize yourself / your bot with `Basic` HTTP authorization:\n`Authorization: Basic {base64(username + \":\" + password)}`\n\n## PATCH/PUT\nThere is a current bug within the websocket library that means it is unable to support `PATCH` properly. Use `PUT` as an alias instead. \n\n## Body\nThe body can be `x-www-form-urlencoded` or `json`. 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 `x-www-form-urlencoded` for simplity in documentation and ease of use while testing.\n\n`PATCH` and `PUT` values are always optional unless otherwise stated. `DELETE` and `GET` do **not** support body and will return errors otherwise. `POST` is often used to add items but can also be used to _execute_ actions.\n\n## Permissions\nThere 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 `Forbidden` result will be returned while trying to access it.\n\n#### Account Types\n| Name\t\t| Value | Description\t\t\t\t\t\t\t|\n|-----------|-------|---------------------------------------|\n| Anonymous | 0\t\t| Anyone without an account. Normally impossible |\n| User\t\t| 1\t\t| A Starbound Account.\t\t\t\t\t|\n| Admin\t\t| 2\t\t| A Starbound account with Admin.\t\t|\n| Bot\t\t| 3\t\t| A special account just made for bots\t|\n| Super Bot | 5\t\t| A special bot made by a root admin\t|\n| Super User| 10\t| A special root admin.\t\t\t\t\t|\n\n\n## Base Response\nAll the responses follow this base. \n\n\n| Name\t\t| Type  \t\t| Description\t\t\t\t\t\t\t|\n|-----------|---------------|---------------------------------------|\n| Status\t| StatusType\t| The status of the request.\t\t\t|\n| Message\t| string\t\t| Debug or error message.\t\t\t\t|\n| Route\t\t| string\t\t| Route that was requested and processed. |\n| Time\t\t| int\t\t\t| Time in milliseconds it took to process the route. |\n| Response\t| object\t\t| The response of the route.\t\t\t|\n\n\n#### Status Types\n\n| Name\t\t| Value | Description\t\t\t\t\t\t\t|\n|-----------|-------|---------------------------------------|\n| OK\t\t| 0\t\t| Everything is okay and the route was processed. |\n| ASYNC\t\t| 1\t\t| The request was made asyncronously so no status is available. |\n| Bad Request | 4000 | There was an issue with the request, such as a bad payload parameter or missing queries. |\n| Forbidden | 4030 | Authentication does not have permission to the route. |\n| Route Not Found | 4040 | The route was not found. |\n| Resource Not Found | 4041 | The resource was not found. |\n| Bad Method | 4050 | The HTTP Method provided does not exist for the route. |\n| Too Many Requests | 4290 | The account has made to many requests. |\n| Internal Error | 5000 | Internal server error. A stacktrace maybe provided in the response. Give this to lachee. |\n| Not Implemented | 5010 | The route exists, but the endpoint you are trying to access isn't implemented yet. |\n| Terminated | 5030 | The connection was terminated during the request. Could be because of internal errors or security concerns. |\n\n## Rate Limiting\nThe API provides a global ratelimit to prevent abuse. The rate limit is per account, but is shared across all HTTP requests.\n\nEvery request made will return the following headers:\n\n| Name\t\t| Description\t\t\t\t\t\t\t|\n|-----------|---------------------------------------|\n| X-RateLimit-Reset | The time until the limits reset |\n| X-RateLimit-Limit | The actual limit |\n| X-RateLimit-Remaining | How many requests are available before limiting. |\n\nWhen the ratelimit has been hit, you will additionally get the following header:\n\n| Name\t\t| Description\t\t\t\t\t\t\t|\n|-----------|---------------------------------------|\n| Retry-After | The time to retry the request again |\n\n**IMPORTANT NOTE**\n\nIf 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 `RetryAfter` set to `null`. \n\nIf you get blocked, you will require the system administrator to unblock it manually.\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"5336131","team":233329,"collectionId":"0246d3bc-683d-4840-86f1-3461dd44367d","publishedId":"SWT8hzsk","public":true,"publicUrl":"https://documenter-api.postman.tech/view/5336131/SWT8hzsk","privateUrl":"https://go.postman.co/documentation/5336131-0246d3bc-683d-4840-86f1-3461dd44367d","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.11.4","publishDate":"2020-01-27T01:15:29.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/2e457c6b5180d9327669263111bbdff3326fb090d46618c62c895bc000dba576","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/SWT8hzsk"}