{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"e8562cd6-16f8-3ada-b806-12eb3291e617","name":"Keepgo IoT REST API","description":"Keepgo IoT REST API is a primary way to get data in and out of Keepgo IoT platform. It is a HTTP-based API that you can use to control your account, view balance reports, change line states, receive usage data, send SMS messages and more. \n\n# Overview\nWe have designed Keepgo IoT API in a RESTful way, so that consumption of it is simple and straightforward. \n\nTo find out more about REST API see [REST API tutorial](https://www.restapitutorial.com/)\n\n\n## Connection\nKeepgo IoT REST API is server over HTTPS. To ensure data privacy, unencrypted HTTP is not supported.\n\n## Timestamps\nAll response timestamps are in **YYYY-MM-DD hh:mm:ss** format.\n\n## Countries\nAll country entries are in **ISO 3166-1 alpha-2** format.\n\nTo find out more about ISO 3166-1 alpha-2 see [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n\n## Currency\nDefault currency used is USD.\n\n## Media types\nAll data is sent and received as JSON.\n\n# Authentication\nAll requests to Keepgo IoT REST API require you to authenticate using a hash authentification. Hash is generated using a specific algorithm provided separately.\n\n## User UUID\nUser UUID is used to generate the hash for authentication purposes. You can receive your user UUID by registering in Keepgo IoT console.\n\n# Making requests\n## Query structure\nAPI queries are expected to follow the following concept:\n\nHTTP verb (GET, POST, etc) request sent to specified link with the following mandatory headers:\n\n* **timestamp** - current timestamp in Unix TIMESTAMP format\n* **hash** - hash generated using supplied algorithm provided separately\n* **uuid** - user UUID \n\n## HTTP verbs\nPermitted HTTP verbs are\n\n* **GET** - used to retrieve resources.\n* **POST** - used for creating or updating resources.\n\n## Rate limit\nDefault request rate limit is set to 100 API requests per day per line registered in the account. \n\nFor example account with 1000 lines can make up to 100k API requests per day.\n\n# Status and error codes\nFor GET requests user can expect the following response codes:\n\n* **200 OK**: The request was successful.\n* **401 UNAUTHORIZED**: The supplied credentials are not sufficient to access the resource.\n* **404 NOT FOUND**: Resource was not found.\n* **405 METHOD NOT ALLOWED**: Resource can not be accessed with this method (GET, POST, etc)\n* **500 SERVER ERROR**: Representation could not be returned due to internal server error\n* **503 SERVICE UNAVAILABLE**: Representation can not be returned due to temporary service outage.\n\n# Query parameters and filtering\nMany API methods take optional parameters. These parameters are described in API resources for each method.\n\n## Hypermedia\nAll resources may have one or more properties linking to other resources. These are meant to provide explicit URLs so that proper API clients don't need to construct URLs on their own. It is highly recommended that API clients use these. Doing so will make future upgrades of the API easier for developers.\n\n## Pagination\nRequests that return multiple items will be paginated to 25 items by default. You can specify further pages with the **?offset** parameter.\n\n# API resources\n\n## Accounts\nAccount is created during registration in Keepgo IoT console. Every account will have user UUID to access Keepgo IoT API. All active accounts will be able to make a full range of available API calls.\n\nYou can find your user UUID in the API Credentials menu.\n\n\n## SIM cards\nEvery account may have SIM cards uniquely assigned to it either by the client or Keepgo staff. SIM card can belong only to one account at a given time. SIM card assigned to sub-account can be queried using both account and sub-account user UUID and will be charged using account balance.\n\nEach SIM card has unique SIM_ICCID, 19 to 20 characters value physically printed on the SIM card itself.\n\n\n## Balance\nEvery account has active balance that is used pay for the SIM cards traffic consumption. All SIM cards that belong to the account make use of account's balance and client may choose to refill this balance to ensure services continuity.\n\nDefault currency used in balance entries is USD.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"2464244","collectionId":"e8562cd6-16f8-3ada-b806-12eb3291e617","publishedId":"RWTspaMF","public":true,"publicUrl":"https://apidoc.keepgo.com","privateUrl":"https://go.postman.co/documentation/2464244-e8562cd6-16f8-3ada-b806-12eb3291e617","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.10.1","publishDate":"2019-07-07T10:51:51.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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://keepgo.com/favicon.ico"},"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://apidoc.keepgo.com/view/metadata/RWTspaMF"}