Retrieve the Contact List Based on ContactId
Contents
Retrieve Contact by Contact ID
Base URL
https://apimobile.callproof.com
Endpoint
/api/contacts/{id}
Purpose
Returns the full profile for a single contact identified by contact ID. The response brings together core account details (address, phone, email, sales representatives, distance, and last contacted information), custom fields, notes (including parent-company notes), and structured phone details for company and personnel numbers.
HTTP Method
GET
Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer access token |
Security
- Yes – Requires Bearer Token authentication.
Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | Yes | Unique identifier of the contact to retrieve |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| latitude | string | No | User’s current latitude used to calculate distance to the contact. If omitted, the user’s saved location or last login location may be used |
| longitude | string | No | User’s current longitude used to calculate distance to the contact. If omitted, the user’s saved location or last login location may be used |
Request Body
None.
cURL Example for Android
curl --location 'https://apimobile.callproof.com/api/contacts/{id}' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
cURL Example for iOS
curl --location 'https://apimobile.callproof.com/api/contacts/{id}' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Successful Response (200)
Indicates that the contact profile was retrieved successfully for the specified contact ID.
| Field | Type | Description |
|---|---|---|
| clientStatusCode | integer | Status indicator for the client (for example, 200) |
| user_id | integer | Identifier of the authenticated user |
| company_id | integer | Identifier of the authenticated user’s company |
| data | object | Contact profile payload |
| data.contact | object | Core contact / account details |
| data.contact.contact_id | integer | Unique contact identifier |
| data.contact.account_type | string | Contact / account type name |
| data.contact.account_type_id | integer | Contact / account type identifier |
| data.contact.account_number | string | Account number |
| data.contact.company_name | string | Company / account name |
| data.contact.parent_company | string | Parent company / title |
| data.contact.address1 | string | Primary street address |
| data.contact.address2 | string | Secondary street address |
| data.contact.city | string | City |
| data.contact.state | string | State abbreviation |
| data.contact.state_id | integer | State identifier |
| data.contact.zipcode | string | Postal / ZIP code |
| data.contact.country | string | Country name |
| data.contact.country_id | integer | Country identifier |
| data.contact.company_email | string | Company email address |
| data.contact.phones | string | Comma-separated formatted phone numbers |
| data.contact.phone | string | Primary formatted phone number |
| data.contact.extension | string | Phone extension |
| data.contact.phone_type | string | Primary phone type name |
| data.contact.phone_type_id | integer | Primary phone type identifier |
| data.contact.country_code | string | Country calling code for the primary phone |
| data.contact.country_code_id | integer | Country code identifier |
| data.contact.website | string | Website URL |
| data.contact.last_contacted | string | Date/time the contact was last contacted, or "Never" |
| data.contact.latitude | string | Contact latitude |
| data.contact.longitude | string | Contact longitude |
| data.contact.distance | string | Distance from the user’s location, when available |
| data.contact.people | string | Associated contact persons |
| data.contact.users | string | Associated user names |
| data.contact.users_id | string | Comma-separated associated user identifiers |
| data.contact.email | string | Contact email |
| data.contact.emails | string | Comma-separated company email addresses |
| data.contact.salesReps | string | Assigned sales representative name(s) |
| data.contact.contact_image | string | Image URL for the contact or contact type |
| data.custom_fields | array | Custom field definitions and values for the contact |
| data.custom_fields[].id | integer | Custom field identifier |
| data.custom_fields[].name | string | Custom field label |
| data.custom_fields[].position | integer | Display order position |
| data.custom_fields[].required | boolean | Whether the field is required |
| data.custom_fields[].custom_field_id | integer | Custom field identifier |
| data.custom_fields[].custom_field_inner_id | integer | Inner custom field identifier |
| data.custom_fields[].value | string | Stored value for the custom field |
| data.custom_fields[].custom_field_option_default_id | string | Selected option identifier(s) for option-based fields |
| data.custom_fields[].custom_field_type_id | integer | Custom field type identifier |
| data.notes | object | Contact notes grouped by category |
| data.notes.default_notes | array | Default notes for the contact |
| data.notes.all_notes | array | All notes for the contact |
| data.notes.parent_company_notes | array | Notes from related parent-company contacts |
| data.notes.*[].note_id | integer | Note identifier |
| data.notes.*[].notes | string | Note text |
| data.notes.*[].origin | string | Source or origin of the note |
| data.notes.*[].created | string | Date/time the note was created |
| data.notes.*[].user_id | integer | Identifier of the user who created the note |
| data.notes.*[].user_name | string | Name of the user who created the note |
| data.notes.parent_company_notes[].contact_name | string | Name of the related parent-company contact |
| data.phone_details | object | Structured phone details (included when available) |
| data.phone_details.company_phones | array | Company-level phone numbers |
| data.phone_details.company_phones[].phone_id | integer | Phone record identifier |
| data.phone_details.company_phones[].phone_type_id | integer | Phone type identifier |
| data.phone_details.company_phones[].phone_type_name | string | Phone type name |
| data.phone_details.company_phones[].phone_number | string | Formatted phone number |
| data.phone_details.company_phones[].phone_extension | string | Phone extension |
| data.phone_details.company_phones[].phone_country_code | string | Country calling code |
| data.phone_details.personel_phones | array | Personnel-level phone numbers |
| data.phone_details.personel_phones[].personel_id | integer | Personnel identifier |
| data.phone_details.personel_phones[].personel_name | string | Personnel name |
| data.phone_details.personel_phones[].personel_phone_numer | array | Phone numbers linked to the personnel |
| uri | string | Requested resource URI |
Error Responses
| Status Code | Meaning |
|---|---|
| 400 | Bad Request – the contact could not be retrieved (for example, contact not found) |
| 401 | Unauthorized – missing, invalid, or expired Bearer token |
- 400 – The specified contact does not exist, does not belong to the authenticated user’s company, or another error occurred while retrieving the contact profile.
- 401 – Authentication failed or the access token is missing/expired.