Gets a contact by external reference (namespace + external ID).
Usage Example
Lookup by HubSpot ID:
GET /api/v1/network/contacts/external/hubspot/12345
Lookup by Salesforce ID:
GET /api/v1/network/contacts/external/salesforce/003ABC123
Use Cases
- Quickly fetch Propstreet contact data when you only have the CRM ID
- Verify synchronization state between systems
- Resolve webhook payloads that reference external IDs
Namespace Matching
Namespace matching is case-insensitive. "HubSpot", "hubspot", and "HUBSPOT" are treated as equivalent.
Path Parameters
- Type: stringnamespacerequired
External system namespace (e.g., "hubspot", "salesforce", "pipedrive")
- Type: stringidrequired
External ID within the namespace
Responses
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
Request Example for get/api/v1/network/contacts/external/{namespace}/{id}
curl 'https://app.propstreet.com/api/v1/network/contacts/external/{namespace}/{id}' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"id": "string",
"uri": null,
"externalRefs": [
{
"namespace": "string",
"id": "string"
}
],
"firstName": null,
"lastName": null,
"email": null,
"phone": null,
"linkedInUrl": null,
"emails": [
{
"address": "string",
"type": null,
"isPrimary": true
}
],
"phones": [
{
"number": "string",
"type": null,
"isPrimary": true
}
],
"primaryLanguage": null,
"tags": [
"string"
],
"strategy": null,
"primaryCompanyId": null,
"companies": [
{
"id": "string",
"uri": null,
"name": "string",
"jobTitle": null,
"isPrimary": true
}
],
"profilePictureUrl": null,
"createdUtc": "2026-05-18T20:22:36.959Z",
"updatedUtc": "2026-05-18T20:22:36.959Z",
"deletedUtc": null,
"etag": "string",
"changeType": null,
"changeOrigin": null
}