====== REST APIs ======
Lime CRM supports integration through a number of modern REST APIs that can be accessed over HTTPS. The following APIs are currently supported:
* **Limetype API**. Used to discover and retrieve metadata about Lime CRM applications.
* **Limeobject API**. Provides basic operations for creating, updating and deleting objects in an application.
* **File API**. Provides access to binary file data stored in Lime CRM.
* **Query API**. API to make complex queries and reading large amounts of data from Lime CRM
===== Rate limits =====
The Lime CRM APIs has a per IP rate limits. For a on premise server this can be configured. For Lime CRM Cloud it is limited to 3000 request per 5 minutes per IP
===== Interactive documentation =====
Since the Lime CRM data model varies between applications, available API endpoints and operations also vary. Each Lime CRM application therefore comes with interactive API documentation that reflects the specific application data model. The interactive documentation can be accessed at the following URL: ''https:////api/v1/docs/'', e.g. ''https://lime.example.com/Lime%20CRM/api/v1/docs/''. A link to the documentation can also be found in the Lime CRM Web Client (visible to users with administrative privileges only).
=== Tip! ===
If you don't have access to a live Lime CRM installation to view the documentation but is still interested in getting to know how to use the API, have a look at [[http://static.lime-crm.com/crm-api-docs/|this example]].
===== Authentication =====
A valid API key is required to access any of the APIs. All API keys are associated with a user. This user will not be able to sign in using any client but the permissions set for the user (i.e. policies) will be enforced for all requests made using the associated API key.
API keys are managed through the Lime CRM Server Administration interface (LISA). Follow these steps to create an API key:
- Navigate to **Databases** | **Security** | **Users**.
- Create a new user and fill in the following information:
* //User type//: must be set to //API//.
* //Display name//: a human readable name for the user, e.g. //Webform integration//. This name is used for example in audit logs.
* //Username//: a unique name to identify the user.
* //Groups//: select any group memberships to control permissions.
- Select the user and press the **Create API key** button. Press **Continue** to confirm. Note that any previously generated API key for the selected user will become invalid.
* If you get an error message creating the API key, please refer to this information: [[https://docs.lime-crm.com/kb/10017]].
- The generated API key will be shown.
=== Warning! ===
The API key cannot be retrieved again so make sure to store it in a secure location. Also remember to treat the key as a secret since an API key in the wrong hands can cause your business great harm.