BigContacts offers a REST API for securely accessing, adding, updating, and deleting data within your CRM. This guide explains each available endpoint, its purpose, and how to use it.
All API requests must include your access token either in the URL or as a bearer token in the Authorization header.
Option 1: In the URL
https://app.bigcontacts.com/api/contacts.json?access_token=YOUR_TOKEN
Option 2: In the header
Authorization: Bearer YOUR_TOKEN
All responses follow this structure:
{ "status": "success" or "error", "message": "Description of the result", "payload": data_object_or_array, "page": 1, // only for paginated results "totalcount": total_number_of_records }
Endpoint:
GET /api/users.{format}
Purpose:
Returns details of all users (team members) in your BigContacts account. Use this when you need to view the user directory or assign records.
Endpoint:
GET /api/contacts.{format}
Purpose:
Retrieves all contact records visible to the user making the request. Supports pagination.
Query Parameters:
page: Page number (optional)
results: Results per page (default is 100)
Endpoint:
GET /api/contacts.{format}&{operator}={datetime}
Operators:
updated, updated_gt, updated_lt, updated_gte, updated_lte
created, created_gt, created_lt, created_gte, created_lte
Example:
/api/contacts.json?updated_gt=20240101
Endpoint:
GET /api/contacts.{format}&q={search_term}
Purpose:
Returns contacts matching the given search string in fields like name, company, or associated emails.
Endpoint:
GET /api/contact/{id}.{format}
Purpose:
Returns full contact details for the contact with the given ID.
Endpoint:
POST /api/contacts.{format}
Purpose:
Adds a new contact. Send data in JSON format. Required fields:
first_name
last_name
emails.email
Example:
{ "first_name": "John", "last_name": "Doe", "emails": [{"email": "john@example.com"}] }
Endpoint:
PUT /api/contact/{id}.{format}
Purpose:
Updates an existing contact. Fields not included in the request remain unchanged. For array fields (like emails), include all desired values—existing entries will be overwritten.
Endpoint:
DELETE /api/contact/{id}.{format}
Purpose:
Deletes a specific contact, if the user has appropriate permissions.
Endpoint:
GET /api/contact/{id}/activity.{format}
Purpose:
Returns a list of all activities (calls, meetings, notes, etc.) associated with the contact.
Endpoint:
GET /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Fetches a single activity record for the contact.
Endpoint:
POST /api/contact/{id}/activity.{format}
Fields:
title
activity_type (e.g., "Call", "Meeting")
description
Example:
{ "title": "Follow-up call", "activity_type": "Phone call", "description": "Discussed renewal timeline" }
Endpoint:
PUT /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Updates an activity record tied to a specific contact.
Endpoint:
DELETE /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Deletes an activity record by ID.
Endpoint:
GET /api/tasks.{format}?event=meeting_new
Purpose:
Returns all scheduled meetings.
Endpoint:
GET /api/tasks.{format}?event=note_new
Purpose:
Returns all notes logged into the system.
The Tasks API allows you to retrieve, create, update, and delete tasks assigned to users in your BigContacts account. Tasks can be associated with contacts and assigned to one or more users.
Endpoint:
GET /api/tasks.{format}?event=task_new
Purpose:
Returns all assigned tasks.
Endpoint:
Purpose:
Returns complete details of a specific task identified by its ID.
Path Parameter:
id: Task ID (required)
Endpoint:
Purpose:
Creates a new task and assigns it to one or more users. At least one associated contact and one date (start or due) are required.
Required Fields:
title: Task title
start_date or due_date: Task date (YYYY-MM-DD)
contacts: Contact email, ID, or object
Optional Fields:
description: Task description
priority: Task priority (u = urgent, h = hot, n = normal; default: n)
completed: Completion status (default: false)
is_todo: Whether the task is a to-do item
assigned_to: User email(s), ID(s), or object(s)
Example:
{ "title": "Follow up with client", "description": "Discuss next steps", "priority": "h", "due_date": "2024-01-25", "assigned_to": ["user@example.com"], "contacts": "client@example.com" }
Endpoint:
Purpose:
Updates an existing task. Only the fields included in the request are modified; all others remain unchanged.
Path Parameter:
id: Task ID (required)
Updatable Fields:
title
description
priority
start_date
due_date
completed
is_todo
assigned_to
contacts
Endpoint:
Purpose:
Deletes a task permanently if the authenticated user has permission to do so.
Path Parameter:
id: Task ID (required)
Tasks are scoped to the authenticated user’s customer account.
The contacts field accepts only one contact (email, ID, or object).
When multiple users are provided in assigned_to, the system assigns the task to the first valid user found.
All dates must be in YYYY-MM-DD format.