{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ab3d3651-ac50-4aad-a5a9-271579bb4f30","name":"Userlot Api","description":"# API Overview\n\nThe [Userlot](http://www.userlot.com/) JSON API provides functionality to read and write to the core objects in Userlot.\n\nThe API is authenticated via API Keys you can create in the Administration section.\n\nThis document covers the key concepts of [Userlot](http://www.userlot.com/) relating to the API, our domain model, authentication, how we ID external data and the end points you can call via REST to interact with the API.\n\n# Domain Model\n\n[Userlot](http://www.userlot.com/) provides a comprehensive domain model over the top of a company’s recurring revenue stream and the teams that manage that.\n\nThe core domain objects are below.\n\n_Please note, at this time the naming is slightly different in the user interface_\n\n- **Product**  \n    A product is generally a SAAS product that you sell subscriptions for. Userlot is designed to integrate with multiple products if you sell them, and share certain details about accounts and users between them (for cross-selling and expansion).  \n    Products in Userlot maintain their own `API Keys` and custom fields (data can be global) in order to provide a configurable setup for your product portfolio.\n- **Account** - _Referred to Companies in the API_ - These refer to your client account that purchases a subscription. They may purchase 1 or more products from you\n- **User** - _Referred to End Users in the API_ - These refer to the users of your application that belong to accounts/companies.\n- **Event** - These are real-time data you can send into Userlot from your own product. They can optionally have a `value` with them containing numbers, strings, or time.\n- **Ticket** - This type is used via our integrations to synchronize ticket/help desk information into Userlot. This can be used for building up health scores and other information.\n    \n\nEach of these core domain objects is separated below into folders, showing their individual endpoints and requests that are available.\n\n<img src=\"https://content.pstmn.io/f1547b65-d2cb-4820-9376-e64d67d0a0ff/MjAyMy0wMi0wN18xNy0xMC00OC5wbmc=\" alt=\"Custom%20Fields%20in%20Userlot\">\n\n# Custom Field Attributes in API Calls\n\nFor domain objects that support custom fields you will see the attribute name in the Custom Field screen. (underscored format e.g. `total_revenue`)\n\nThese can be added into the body of `POST`, `PUT`, `PATCH` methods to set these values.\n\nThey will also be returned in appropriate requests as well as `GET` requests.\n\n# Identifying External Ids\n\nThere are 3 _kinds_ of IDs that Userlot can track. These are applicable to objects you can read and write into via the API that include the following endpoints\n\n- `companies`\n- `end_users`\n- `tasks` (coming soon)\n- `tickets` (coming soon)\n    \n\n|   <br>  <br>**Field**  <br>  <br> |   <br>  <br>**Description**  <br>  <br> |\n| --- | --- |\n|   <br>  <br>`id`  <br>  <br>_(Unique to Userlot)_  <br>  <br> |   <br>  <br>This is the internal ID in Userlot for that entity  <br>  <br> |\n|   <br>  <br>`external_id`  <br>  <br>_(Unique to a product)_  <br>  <br> |   <br>  <br>This is the ID you use for this entity **in your product.** This most commonly is used for `companies` and `end_users`.  <br>  <br>  <br>  <br> |\n|   <br>  <br>`source_external_id`  <br>  <br>_(Multiple per product)_  <br>  <br> |   <br>  <br>This is the ID in an external system such as a CRM, ticket system etc..  <br>  <br> |\n\nWith these three types of IDs you can match objects in Userlot, to your product and to external systems. Including updating and merging these values.\n\n<u><b>This enables Userlot to adapt to the unique requirements of your business.</b></u>\n\n# Authenticating\n\nUserlot uses an API key to authenticate requests into userlot via the API.\n\nYou can find this under Product Settings => Api Keys\n\nThis API Key should be provided in all requests the Userlot API via a Header `ApiKey`\n\n<img src=\"https://content.pstmn.io/59d89801-bc81-46f9-a0cf-eb394ec03813/MjAyMy0wMi0wN18xNi0xOS0yNS5wbmc=\" alt=\"Api%20Keys\">","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"17694474","team":2563686,"collectionId":"ab3d3651-ac50-4aad-a5a9-271579bb4f30","publishedId":"2s935ppiEy","public":true,"publicUrl":"https://documenter-api.postman.tech/view/17694474/2s935ppiEy","privateUrl":"https://go.postman.co/documentation/17694474-ab3d3651-ac50-4aad-a5a9-271579bb4f30","customColor":{"top-bar":"EEF2F5","right-sidebar":"03394D","highlight":"53AEDF"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2023-02-07T07:52:58.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"userlot.app","id":"7fb4bc7b-8930-4ee5-8239-6ac03c243076","owner":"17694474","values":[{"key":"subdomain","value":"{{yourtenant}}","enabled":true},{"key":"domain","value":"userlot.app","enabled":true},{"key":"api_url","value":"{{scheme}}://{{subdomain}}.{{domain}}","enabled":true},{"key":"scheme","value":"https","enabled":true},{"key":"api_key","value":"InsertYourApiKey","enabled":true,"type":"secret"}],"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/4d9fcbecc656e735dcca04ad156bdf166f690c4aa72a7f55f021e678c6cd7682","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"},{"label":"userlot.app","value":"17694474-7fb4bc7b-8930-4ee5-8239-6ac03c243076"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s935ppiEy"}