PlanDocket

Contacts

Business+

Manage contacts and company data.

Required scopes: contacts

Endpoints

GET /api/v1/contacts

List all contacts

GET /api/v1/contacts/{id}

Retrieve a single contact

POST /api/v1/contacts

Create a new contact

PUT/PATCH /api/v1/contacts/{id}

Update a contact

DELETE /api/v1/contacts/{id}

Delete a contact

Query Parameters

Parameter Description
search Search term to filter results
category_key Filter by category key
event_key Filter by event key
sort Sort field (company_name, last_name, first_name, email, customer_number, city, created_at)
order Sort direction (ASC or DESC, default: DESC)
include Include related data (categories, events)

Request Schema

Parameter Type Required Description
email string No Email address
company_name string No Company name
first_name string No First name
last_name string No Last name
phone string No Phone number
fax string No Fax number
mobile string No Mobile phone number
customer_number string No Customer number
address string No Street address
postal_code string No Postal code
city string No City
country string No Country code
state string No State or region
website string No Website URL
notes string No Internal notes
tax_id string No Tax identification number
rating integer No Contact rating (1-5, default: 3)
account_access_enabled boolean No Whether the contact can access the account portal
category_keys array No Array of category keys to assign
event_keys array No Array of event keys to link as participant

Response Schema

Field Type
id integer
customer_number string|null
company_name string|null
first_name string|null
last_name string|null
address string|null
postal_code string|null
city string|null
country string|null
state string|null
phone string|null
fax string|null
mobile string|null
email string|null
website string|null
notes string|null
tax_id string|null
rating integer
account_access_enabled boolean
has_account boolean
created_at string
updated_at string

Code Examples

curl -X GET "https://your-tenant.plandocket.com/api/v1/contacts" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://your-tenant.plandocket.com';

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => $baseUrl . '/api/v1/contacts',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
]);

$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);

print_r($data);
const apiKey = 'YOUR_API_KEY';
const baseUrl = 'https://your-tenant.plandocket.com';

const response = await fetch(`${baseUrl}/api/v1/contacts`, {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

api_key = 'YOUR_API_KEY'
base_url = 'https://your-tenant.plandocket.com'

headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json',
}

response = requests.get(f'{base_url}/api/v1/contacts', headers=headers)
data = response.json()
print(data)

Sample Response

200 OK
{
  "data": {
    "contact_id": 1,
    "created_at": 1704067200,
    "updated_at": 1704067200
  },
  "meta": {
    "request_id": "req_abc123"
  }
}
Esc to close