{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"6c308146-d459-4753-a1d0-1a4382ad4bbd","name":"rzilient API v1","description":"# Getting Started\n\nHello and welcome to this space. Here, you can expect to find:\n\n- A general guide about the nature and behaviors of the v1.0.0 API generation from **rzilient**.\n    \n\n### Environment\n\nAs a **rzilient** partner, you have access to 2 different environments:\n\n- A sandbox environment which domain name is `https://api-staging.rzilient.tech`\n    \n- A production environment which domain name is `https://api.rzilient.tech`\n    \n\nIf you are not (yet) a rzilient partner, you should contact our sales team and arrange a meeting and do a demo of our platform [contact here](https://meetings.hubspot.com/antoine-deniau/rzilient).\n\n> **Note:** It is highly advised to first test out our sandbox environment before using production. Once tests are over, you can then switch to the production environment. \n  \n\n## Authentication\n\n### What's an API Tokens?\n\nYou must first authenticate to make API requests. This API provides a set of endpoints that will allow you as a client to create and manage all your API Tokens although the generated token will be only available at creation time so make sure to keep this API token secure later on as no other endpoint will return this value.\n\n#### Security\n\n- All the API Tokens are strongly encrypted in our database so make sure to keep API keys secure. Delete it at once if you suspect it's been compromised and create a new one. You can also periodically change the API Token if you will.\n    \n\n#### Root token\n\n- In order to manage multiple API Tokens you will require first a Root API Token. To aquire this token you should contact our technical team [tech@rzilient.club](https://) first or if you are client already just contact our Customer Support team requesting access to this API, they will provide you with a user name and password to create the root token required to have fully access to our API.\n    \n\n> **Note:** Remember only the root token is able to manage other tokens generated to make sure to keep this token safe. \n  \n\n### How to Authenticate\n\nOnce you have your API Token, it has to be sent in each request as the value of the Authorization header.\n\nYou must follow the following syntax:\n\n`Authorization: Bearer {token}`\n\nFor example:\n\n``` http\nGET /external/api/v1/users/1 HTTP/1.1\nDomain: api.rzilient.tech\nAccept: application/json\nAuthorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n ```\n\n## CORS Policy\n\nOur Cross-origin Resource Sharing policy doesn't allow API calls from a web browser using a different domain than `rzilient.club` or `rzilient.tech`.\n\nIf you need to automate processes using a Rzilient API Token, you can do it:\n\n- through a script\n    \n- from an API Platform (e.g., Postman)\n    \n- from the backend of your own application\n    \n\n## Rate Limit\n\nRate limiting is enforced on all API endpoints to control the rate of requests received by our servers. It enables us to offer satisfactory response times for everyone and prevents DoS attacks.\n\n- No more than 60 requests over a rolling 60 seconds period per domain.\n    \n\n> Should this limit be exceeded, then any further request will be met with a `429 Too Many Requests` HTTP error. If you get that error all your request will be block for **24 hours**, so make sure your calls are not falling into an infinite loop that may be percived as a DoS attack. \n  \n\n# Usage\n\n### Create a root token\n\nTo start using the Rzilient API, first you'll need to generate a root token, to get it first contact our tech support sending an email to [tech@rzilient.club](https://) clearly indentifying your self as one of our clients or partners.\n\nOur tech team will reply as soon as we validate your contract information and will share through a secure way the password to be used along with the email that contact us on the first place.\n\nWith both credentials call this endpoint to generate a root token\n\n```\nPOST /api/external/v1/token HTTP/1.1\nDomain: api-staging.rzilient.tech or api.rzilient.club (Production)\nAccept: application/json\nBasic Auth: \n   username: <contact_email@example.com>\n   password: <password_provided_by_rzilient>\n\n ```\n\nIf there is no errors calling this endpoint the response will look like this:\n\n``` json\n{\n    \"id\": \"6c401803-3c97-4f89-818d-6a587a7f12a8\",\n    \"created_at\": \"2021-12-30T09:16:30.244Z\",\n    \"updated_at\": \"2021-12-30T09:16:30.244Z\",\n    \"bearer_type\": \"Provider\",\n    \"bearer_id\": \"1dc296a0-8afd-44eb-bac3-a85363928817\",\n    \"referable_type\": \"Provider\",\n    \"referable_id\": \"1dc296a0-8afd-44eb-bac3-a85363928817\",\n    \"token\": \"uYAEFJzIhnxyVRps8i/Gqg==\"\n}\n\n ```\n\nCopy the `token` value and keep it safe, as this token will allow you to create and manage other tokens as well as access the rest of this API.\n\n### Call the API using the root token\n\nWith the root token aquired, now you call call the rest of the API using the token as `Authorization Bearer` header, and it must follow the following syntax:\n\n```\nAuthorization: Bearer {token}\n\n ```\n\nFor instance, if you want to call the list of clients next here is the syntax:\n\n```\nGET /external/api/v1/clients HTTP/1.1\nDomain: ws.rzilient.tech or ws.rzilient.club (Production)\nAccept: application/json\nAuthorization: Bearer uYAEFJzIhnxyVRps8i/Gqg==\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"15540692","team":1811591,"collectionId":"6c308146-d459-4753-a1d0-1a4382ad4bbd","publishedId":"TzRSg7ig","public":true,"publicUrl":"https://developers.rzilient.tech","privateUrl":"https://go.postman.co/documentation/15540692-6c308146-d459-4753-a1d0-1a4382ad4bbd","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2024-03-22T07:08:25.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"Sandbox","id":"bb684837-a906-4999-aa89-6b006ee70a1c","owner":"15540692","values":[{"key":"url","value":"https://api-staging.rzilient.tech","enabled":true},{"key":"user","value":"eduard@rzilient.club","enabled":true,"type":"default"},{"key":"password","value":"FUxzVxvmxTgYD6bQ8fur","enabled":true,"type":"secret"},{"key":"referalHeader","value":"whsec_lDWURChKd25LLpBEvpeqgzykVeBC1z5M","enabled":true,"type":"secret"},{"key":"externalToken","value":"XFb4c3xuI4R8elTofQJcP7vg2WouWwHMhFVn4IeOzM0=","enabled":true,"type":"secret"},{"key":"providerToken","value":"s3CqCEBiUjUDE9t+aMKCoSaesC32Aa3Avm3DyRTMXOw=","enabled":true,"type":"secret"},{"key":"id","value":"57eefa15-cc58-4acc-bb8b-c32500ff17b2","enabled":true},{"key":"order_id","value":"7d572875-dd05-4c62-8d7a-d8f0e93526e6","enabled":true},{"key":"metacallURL","value":"https://api.metacall.io/murgul/siot-catalyst/v1","enabled":true,"type":"default"},{"key":"Client Id","value":"{{client_id}}","enabled":true,"type":"default"},{"key":"Order Id","value":"{{order_id}}","enabled":true,"type":"default"},{"enabled":true,"key":"Device Id","value":"","type":"default"}],"published":true}],"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/fb1bdfb7c31bc2519bcfb6754b67321024abc3dedf33c49695fd8b47999470ba","favicon":"https://rzilient.tech/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"},{"label":"Sandbox","value":"15540692-bb684837-a906-4999-aa89-6b006ee70a1c"}],"canonicalUrl":"https://developers.rzilient.tech/view/metadata/TzRSg7ig"}