Skip to content

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:

QueryTypeDescription
pageintegerPage number, minimum 1, default 1.
per_pageintegerRecords per page, from 1 to 100, default 15.
searchstringPartial multi-term domain search. Every term must match; at most six terms are used.
sortenumEndpoint-specific public sort key.
directionenumasc 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/companies

Search matches company name, website, domain, email, industry, city, country, and LinkedIn URL.

QueryValues
industryExact industry, max 255 characters
size1-10, 11-50, 51-200, 201-1000, or 1000+
country, cityExact value
has_contacts, has_dealsBoolean
sortcreated_at, updated_at, name, industry, size, country, city, or employee_count
bash
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}/contacts

Returns 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.

bash
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}/deals

Returns only deals directly linked to the selected company. It accepts the deal search, filters, and sorts below, except company_id.

Deals ​

GET /crm/deals

Search matches deal name, linked contact email or name, and linked company name or domain.

QueryTypeDescription
stage_idintegerPipeline stage in the token workspace.
assigned_tointegerUser who belongs to the token workspace.
company_idintegerCompany in the token workspace.
contact_idintegerContact in the token workspace.
is_won, is_lostboolean1 keeps records in that state; 0 keeps records outside it.
sortenumcreated_at, updated_at, name, amount, expected_close_date, won_at, or lost_at.
bash
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/tasks

Search matches task title or description, linked contact email or name, linked deal name, and linked company name or domain.

QueryTypeDescription
statusenumtodo, in_progress, or done.
priorityenumlow, medium, or high.
assigned_tointegerUser who belongs to the token workspace.
contact_idintegerContact in the token workspace.
deal_idintegerDeal in the token workspace.
company_idintegerCompany in the token workspace.
overdueboolean1 keeps overdue tasks that are not done.
sortenumcreated_at, updated_at, title, due_date, priority, status, or completed_at.
bash
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/pipeline

Pipeline stages intentionally remain unpaginated. The complete pipeline is returned in stage position order so clients can render it without combining pages.

API v1.0