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 own API 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%20Fields%20in%20Userlot

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

Api%20Keys
  1. Companies - companies GET {{api_url}}/api/v1/companies

  2. Teams - teams GET {{api_url}}/api/v1/teams

  3. Companies - companies PUT {{api_url}}/api/v1/companies

  4. Companies - companies/:id PATCH {{api_url}}/api/v1/companies/:id

  5. Companies - company_fields GET {{api_url}}/api/v1/company_fields

  6. Companies - company_statuses GET {{api_url}}/api/v1/company_statuses

  7. Companies-Revenue - revenue GET {{api_url}}/api/v1/companies/:id/revenue

  8. End Users - end_user_fields GET {{api_url}}/api/v1/end_user_fields

  9. Companies - companies/:id GET {{api_url}}/api/v1/companies/:id

  10. Companies - companies POST {{api_url}}/api/v1/companies