Userlot Api
Number of APIs: 34
API Overview
The Userlot JSON API provides functionality to read and write to the core objects in Userlot.
The API is authenticated via API Keys you can create in the Administration section.
This document covers the key concepts of Userlot 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.
Domain Model
Userlot provides a comprehensive domain model over the top of a company’s recurring revenue stream and the teams that manage that.
The core domain objects are below.
Please note, at this time the naming is slightly different in the user interface
- Product
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).
Products in Userlot maintain their ownAPI Keys
and custom fields (data can be global) in order to provide a configurable setup for your product portfolio. - 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
- User - Referred to End Users in the API - These refer to the users of your application that belong to accounts/companies.
- 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. - 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.
Each of these core domain objects is separated below into folders, showing their individual endpoints and requests that are available.
Custom Field Attributes in API Calls
For domain objects that support custom fields you will see the attribute name in the Custom Field screen. (underscored format e.g. total_revenue
)
These can be added into the body of POST
, PUT
, PATCH
methods to set these values.
They will also be returned in appropriate requests as well as GET
requests.
Identifying External Ids
There 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
companies
end_users
tasks
(coming soon)tickets
(coming soon)
Field | Description |
---|---|
id (Unique to Userlot) | This is the internal ID in Userlot for that entity |
external_id (Unique to a product) | This is the ID you use for this entity in your product. This most commonly is used for companies and end_users . |
source_external_id (Multiple per product) | This is the ID in an external system such as a CRM, ticket system etc.. |
With these three types of IDs you can match objects in Userlot, to your product and to external systems. Including updating and merging these values.
This enables Userlot to adapt to the unique requirements of your business.
Authenticating
Userlot uses an API key to authenticate requests into userlot via the API.
You can find this under Product Settings => Api Keys
This API Key should be provided in all requests the Userlot API via a Header ApiKey
-
Companies - companies GET {{api_url}}/api/v1/companies
-
Teams - teams GET {{api_url}}/api/v1/teams
-
Companies - companies PUT {{api_url}}/api/v1/companies
-
Companies - companies/:id PATCH {{api_url}}/api/v1/companies/:id
-
Companies - company_fields GET {{api_url}}/api/v1/company_fields
-
Companies - company_statuses GET {{api_url}}/api/v1/company_statuses
-
Companies-Revenue - revenue GET {{api_url}}/api/v1/companies/:id/revenue
-
End Users - end_user_fields GET {{api_url}}/api/v1/end_user_fields
-
Companies - companies/:id GET {{api_url}}/api/v1/companies/:id
-
Companies - companies POST {{api_url}}/api/v1/companies