Contents
Get Contact - Plugixa CRM
GET /plugixa-crm/v1/contacts/{id}
Read one contact, with every e-mail address, phone number and linked account.
Any user with access to Plugixa CRM. With Plugixa CRM Pro roles, the user’s role must also allow reading this contact.
Request
GET https://your-site.example/wp-json/plugixa-crm/v1/contacts/31
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The contact’s id |
Responses
200 OK. data is the contact.
{
"success": true,
"data": {
"id": "31",
"salutation": "Ms",
"first_name": "Maria",
"last_name": "Anders",
"full_name": "Maria Anders",
"account_id": "12",
"title": "Purchasing manager",
"email": "maria@northwind.example",
"phone": "+1 202 555 0177",
"description": "",
"avatar_attachment_id": null,
"user_id": null,
"status": "active",
"assigned_user_id": "3",
"created_by": "1",
"modified_by": "1",
"created_at": "2026-11-12 09:30:00",
"modified_at": "2026-11-12 09:30:00",
"deleted_at": null,
"do_not_call": "0",
"birthday": null,
"address_street": "",
"address_city": "Seattle",
"address_state": "",
"address_postal_code": "",
"address_country": "United States",
"emails": [
{
"id": 58,
"parent_type": "contact",
"parent_id": 31,
"address": "maria@northwind.example",
"type": "office",
"is_primary": 1,
"opted_out": 0,
"is_invalid": 0,
"created_at": "2026-11-12 09:30:00"
}
],
"phones": [
{
"id": 44,
"parent_type": "contact",
"parent_id": 31,
"number": "+1 202 555 0177",
"type": "office",
"is_primary": 1,
"created_at": "2026-11-12 09:30:00",
"digits": "12025550177",
"opted_out": 0,
"is_invalid": 0
}
],
"affiliations": [
{
"id": 7,
"account_id": 12,
"contact_id": 31,
"role": "Buyer",
"is_primary": 1,
"is_inactive": 0,
"created_at": "2026-11-12 09:30:00",
"account_name": "Northwind Traders",
"account_type": "customer"
},
{
"id": 9,
"account_id": 15,
"contact_id": 31,
"role": "Advisor",
"is_primary": 0,
"is_inactive": 0,
"created_at": "2026-11-12 10:15:00",
"account_name": "Initech",
"account_type": "partner"
}
]
}
}
| Field | Type | Meaning |
|---|---|---|
data.id |
string |
The contact’s id. Contact fields come back as strings, numbers included |
data.full_name |
string |
First and last name, kept in step with them |
data.account_id |
string|null |
The primary account |
data.email |
string |
The primary e-mail address |
data.phone |
string |
The primary phone number |
data.do_not_call |
string |
"1" or "0" |
data.birthday |
string|null |
YYYY-MM-DD |
data.assigned_user_id |
string|null |
The WordPress user who owns the contact |
data.created_at |
string |
UTC datetime |
data.modified_at |
string |
UTC datetime of the last change |
data.emails |
array |
Every e-mail address on the contact: address, type, is_primary, opted_out, is_invalid |
data.phones |
array |
Every phone number: number, digits, type, is_primary, opted_out, is_invalid |
data.affiliations |
array |
The accounts the contact is linked to, as in List Contact Accounts |
Errors
| Status | Code | When |
|---|---|---|
404 |
plugixa_crm_not_found |
No contact with that id, or it is in the trash. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-crm/v1/contacts/31" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-crm/v1/contacts/31');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`);
const response = await fetch('https://your-site.example/wp-json/plugixa-crm/v1/contacts/31', {
headers: {
'Authorization': auth,
},
});
const { data } = await response.json();
Quick Links
Share