Management API
The Management API lets system administrators create and manage providers (partners) and issue secure API keys to them.
:::caution Admins only This API is not for external providers. It is used by the Navigo CRM internal panel and requires admin permissions. :::
Authentication and permissions
Every endpoint requires:
IsAuthenticated— a valid JWT Bearer token.IsAdminOnlyPosition— the user must be in an admin position.
If either requirement is not met, 403 Forbidden is returned.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/lead_providers/ | List providers (paginated) |
POST | /api/v1/lead_providers/create/ | Create a new provider |
GET | /api/v1/lead_providers/{id}/ | Get a single provider |
PATCH | /api/v1/lead_providers/{id}/ | Update a provider |
POST | /api/v1/lead_providers/{id}/generate_api_key/ | Generate an API key |
Typical flow
- Create Provider — create a new provider, get its
id. - Generate API Key — generate a key for that
id. - Deliver the key to the provider over a secure channel.
- When needed, use Update Provider to update details,
or disable temporarily with
status: "inactive".
Provider object
A provider record (on read) has the following fields:
| Field | Type | Description |
|---|---|---|
id | Integer | Provider ID |
name | String | Provider name |
email | String | Contact email |
status | String enum | active / inactive |
is_exclusive | Boolean | Whether it is an exclusive provider |
assigned_user | Object | Responsible staff member: { id, username, full_name } |
price_per_lead | String (decimal) | null | Price per lead |
created_at | Datetime | Creation date |
updated_at | Datetime | Last update |
:::info assigned_user — read and write differ
On read, assigned_user is an object: { id, username, full_name }.
On write (create/update), you send only the integer id.
Details on the Create Provider page.
:::