CRM listings
CRM listing endpoints return records from the API token's workspace. They use the same pagination contract as contacts: data, navigation URLs in links, and meta containing current_page, last_page, per_page, total, and count for the current page.
All listings accept these query parameters:
| Query | Type | Description |
|---|---|---|
page | integer | Page number, minimum 1, default 1. |
per_page | integer | Records per page, from 1 to 100, default 15. |
search | string | Partial multi-term domain search. Every term must match; at most six terms are used. |
sort | enum | Endpoint-specific public sort key. |
direction | enum | asc or desc. Default desc. |
Invalid values and relationship IDs outside the token workspace return 422. Results default to created_at desc, then id desc. Every requested sort also uses id in the same direction as a deterministic tie-breaker.
The CRM plan feature is required. Company routes keep the companies:read permission, while deals and tasks keep contacts:read.
Companies
GET /crm/companiesSearch matches company name, website, domain, email, industry, city, country, and LinkedIn URL.
| Query | Values |
|---|---|
industry | Exact industry, max 255 characters |
size | 1-10, 11-50, 51-200, 201-1000, or 1000+ |
country, city | Exact value |
has_contacts, has_deals | Boolean |
sort | created_at, updated_at, name, industry, size, country, city, or employee_count |
curl --get https://app.beeving.com/api/v1/crm/companies \
-H "Authorization: Bearer TOKEN" \
-H "Accept: application/json" \
--data-urlencode "search=acme france" \
--data-urlencode "industry=Software" \
--data-urlencode "has_contacts=1" \
--data-urlencode "sort=name" \
--data-urlencode "direction=asc"Company contacts
GET /crm/companies/{company}/contactsReturns only contacts belonging to the selected company. Search matches email, LinkedIn URL, first name, last name, and job title.
Filters are status, lifecycle_stage, has_email, and has_linkedin. Sort keys are created_at, updated_at, first_name, last_name, email, linkedin_url, job_title, status, and lifecycle_stage.
curl --get https://app.beeving.com/api/v1/crm/companies/42/contacts \
-H "Authorization: Bearer TOKEN" \
--data-urlencode "search=engineering" \
--data-urlencode "lifecycle_stage=lead" \
--data-urlencode "sort=first_name" \
--data-urlencode "direction=asc"Company deals
GET /crm/companies/{company}/dealsReturns only deals directly linked to the selected company. It accepts the deal search, filters, and sorts below, except company_id.
Deals
GET /crm/dealsSearch matches deal name, linked contact email or name, and linked company name or domain.
| Query | Type | Description |
|---|---|---|
stage_id | integer | Pipeline stage in the token workspace. |
assigned_to | integer | User who belongs to the token workspace. |
company_id | integer | Company in the token workspace. |
contact_id | integer | Contact in the token workspace. |
is_won, is_lost | boolean | 1 keeps records in that state; 0 keeps records outside it. |
sort | enum | created_at, updated_at, name, amount, expected_close_date, won_at, or lost_at. |
curl --get https://app.beeving.com/api/v1/crm/deals \
-H "Authorization: Bearer TOKEN" \
-H "Accept: application/json" \
--data-urlencode "search=renewal acme" \
--data-urlencode "stage_id=7" \
--data-urlencode "is_won=0" \
--data-urlencode "sort=expected_close_date" \
--data-urlencode "direction=asc"Tasks
GET /crm/tasksSearch matches task title or description, linked contact email or name, linked deal name, and linked company name or domain.
| Query | Type | Description |
|---|---|---|
status | enum | todo, in_progress, or done. |
priority | enum | low, medium, or high. |
assigned_to | integer | User who belongs to the token workspace. |
contact_id | integer | Contact in the token workspace. |
deal_id | integer | Deal in the token workspace. |
company_id | integer | Company in the token workspace. |
overdue | boolean | 1 keeps overdue tasks that are not done. |
sort | enum | created_at, updated_at, title, due_date, priority, status, or completed_at. |
curl --get https://app.beeving.com/api/v1/crm/tasks \
-H "Authorization: Bearer TOKEN" \
-H "Accept: application/json" \
--data-urlencode "search=follow up acme" \
--data-urlencode "status=todo" \
--data-urlencode "overdue=1" \
--data-urlencode "sort=due_date" \
--data-urlencode "direction=asc"Pipeline stages
GET /crm/pipelinePipeline stages intentionally remain unpaginated. The complete pipeline is returned in stage position order so clients can render it without combining pages.