BIGContacts API Guide
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.
Base URL
Authentication
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
Response Format
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 }
1. Users
List all users (team members)
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.
2. Contacts
List all contacts
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)
Filter contacts by creation or update date
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
Search contacts by criteria
Endpoint:
GET /api/contacts.{format}&q={search_term}
Purpose:
Returns contacts matching the given search string in fields like name, company, or associated emails.
Get one contact by ID
Endpoint:
GET /api/contact/{id}.{format}
Purpose:
Returns full contact details for the contact with the given ID.
Create a new contact
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"}] }
Update a contact
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.
Delete a contact
Endpoint:
DELETE /api/contact/{id}.{format}
Purpose:
Deletes a specific contact, if the user has appropriate permissions.
3. Contact Activity
List all activity for a contact
Endpoint:
GET /api/contact/{id}/activity.{format}
Purpose:
Returns a list of all activities (calls, meetings, notes, etc.) associated with the contact.
Get specific activity
Endpoint:
GET /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Fetches a single activity record for the contact.
Add activity to a 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" }
Update a contact's activity
Endpoint:
PUT /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Updates an activity record tied to a specific contact.
Delete a contact activity
Endpoint:
DELETE /api/contact/{id}/activity/{activityid}.{format}
Purpose:
Deletes an activity record by ID.
4. Other Data Access
Get Task List
Endpoint:
GET /api/tasks.{format}?event=task_new
Purpose:
Returns all assigned tasks.
Get Meeting List
Endpoint:
GET /api/tasks.{format}?event=meeting_new
Purpose:
Returns all scheduled meetings.
Get Notes List
Endpoint:
GET /api/tasks.{format}?event=note_new
Purpose:
Returns all notes logged in the system.