# Ventia CRM API > # First steps Welcome to the documentation for the public API of Ventia CRM module. Ventia has differents module and the module who have available API are: - CRM - Sales Manager - People ## Authentication All request on Ventia require a valid API Key passed as query string on the request. Example: `https://api.getventia.com/api/v1.0/contact?api-key=AAAAAAA-BBBBBBB-CCCCCCC-DDDDDDD` ### Authentication error response If an API key is missing, malformed, or invalid, you will receive an HTTP 401 Unauthorized response code. ## Rate and usage limits To ensure the best possible performance and availability for all our users, we have implemented rate and usage limits on our API. These limits are designed to prevent any single user from consuming excessive resources and negatively impacting the experience for others. ### Maximum Requests Per Minute Our API enforces a maximum limit of **200 requests per minute (RPM)**. This means that you can make up to 200 requests within a one-minute time frame. If you exceed this limit, your requests will be throttled, and you will receive an HTTP 429 "Too Many Requests" response. Please note that the rate limit is applied on a per-account basis, so all API keys associated with a single account will share the same limit. ## Pagination When fetching a endpoint who has a list, pagination is used by default. To controll the pagination use on the url on the querystring : `?page=1` to controll the page you'r viewing (1-indexed; the first page is `1`) `?limit=100` to controll the page size (default `10`) Paginated responses include the following headers: - `X-Total-Count` — total number of records matching the query - `X-Total-Pages` — total number of pages - `X-Current-Page` — page returned - `X-Per-Page` — page size ### **Need some help?** If you need support you can use our support via email or support chat on Ventia - **Base URL:** `https://api.getventia.com/api/v1.0` - **Authentication:** API Key via query string (`?api-key=YOUR_API_KEY`) - **Rate limit:** 200 requests per minute - **Docs site:** https://developer.getventia.com This file lists every endpoint in the Ventia CRM public API. For the complete reference with parameters, request/response schemas and examples in one document, fetch: https://developer.getventia.com/llms-full.txt ## Guides - [Introduction](https://developer.getventia.com/docs/intro): Getting started with the Ventia public API - [API overview](https://developer.getventia.com/): Base URL, authentication and rate limits ## Contact - [GET /contacts](https://developer.getventia.com/contact/Listcontacts) — List contacts - [GET /contact/{idcontact}](https://developer.getventia.com/contact/Getonecontact) — Get one contact - [PATCH /contact/{idcontact}](https://developer.getventia.com/contact/Modifycontact) — Modify contact - [GET /contacts/findone](https://developer.getventia.com/contact/Searchonecontact) — Search one contact - [GET /contact/{idcontact}/interactions](https://developer.getventia.com/contact/Listinteractionsfromonecontact) — List interactions from one contact - [POST /contact](https://developer.getventia.com/contact/Createcontact) — Create contact - [POST /lead](https://developer.getventia.com/contact/Createlead) — Create lead ## Interactions - [GET /interactions](https://developer.getventia.com/interactions/Listinteractions) — List interactions - [POST /contact/{idcontact}/note](https://developer.getventia.com/interactions/Createnote) — Create note - [POST /contact/{idcontact}/archive](https://developer.getventia.com/interactions/Archivecontact) — Archive contact - [POST /contact/{idcontact}/transfer](https://developer.getventia.com/interactions/Transfercontact) — Transfer contact - [POST /contact/{idcontact}/message](https://developer.getventia.com/interactions/Createmessage) — Create message - [POST /contact/{idcontact}/reminder](https://developer.getventia.com/interactions/Createreminder) — Create reminder ## Users - [GET /users](https://developer.getventia.com/users/Getusers) — Get users - [POST /users](https://developer.getventia.com/users/users/post) — Create user - [GET /users/{id}](https://developer.getventia.com/users/users/id/get) — Get a user by ID - [PUT /users/{id}](https://developer.getventia.com/users/users/id/put) — Fully update or replace an existing user - [PATCH /users/{id}](https://developer.getventia.com/users/users/id/patch) — Partially update an existing user ## Groups - [GET /groups](https://developer.getventia.com/groups/Getgroups) — Get groups ## Sales - [GET /sales](https://developer.getventia.com/sales/sales/get) — Get sales data - [POST /sales](https://developer.getventia.com/sales/sales/post) — Create a new sale - [GET /sales/{id}](https://developer.getventia.com/sales/sales/id/get) — Get sale by ID - [PUT /sales/{id}](https://developer.getventia.com/sales/sales/id/put) — Upsert sale by ID - [PATCH /sales/{id}](https://developer.getventia.com/sales/sales/id/patch) — Modify sale by ID ## LeadEntry - [POST /leadentry/{code}/new](https://developer.getventia.com/leadentry/leadentry/code/new/post) — Create a new lead entry ## WhatsApp Official - [POST /whatsapp-business/{channelId}/{contactId}/messages](https://developer.getventia.com/whatsapp-official/officialWhatsapp) — Send message ## Webhooks - [GET /webhooks](https://developer.getventia.com/webhooks/get-webhooks) — Get webhooks - [POST /webhooks](https://developer.getventia.com/webhooks/create-webhook) — Create webhook - [GET /webhooks/{id}](https://developer.getventia.com/webhooks/get-webhook-by-id) — Get webhook by ID - [PATCH /webhooks/{id}](https://developer.getventia.com/webhooks/update-webhook) — Update webhook by ID - [DELETE /webhooks/{id}](https://developer.getventia.com/webhooks/delete-webhook-by-id) — Delete webhook by ID ## Campaigns - [GET /campaigns](https://developer.getventia.com/campaigns/Listcampaigns) — List campaigns