How do I use the V4 Contacts API to access tenant, landlord, and applicant data?
The V4 Contacts API provides GDPR-compliant access to tenant, landlord, applicant, and vendor contact data for CRM integrations, marketing platforms, and business intelligence tools. All endpoints are at https://live-api.letmc.com/v4/contacts/.
The V4 Contacts API is designed for authorised third-party integrations such as CRM systems, marketing platforms, and business intelligence tools that need access to contact data from agentOS.
GDPR compliance
This API enforces automatic GDPR consent checking for "Third Party Marketing" purposes. Personal data is only returned when the individual has explicitly consented. Always include the integration or integrator parameter to identify your system — authorised integrations may have enhanced access. Respect consent status in every record returned, and be prepared to handle cases where consent is withdrawn.
CRM integration workflow
- Get branches —
GET /v4/contacts/{shortName}/company/branches/{offset}/{count} - Get contacts by type (all GDPR protected, filter by
branchIDandintegrator/integration):- Tenants:
/tenants/{offset}/{count} - Landlords:
/landlords/{offset}/{count} - Lettings applicants:
/applicants/lettings/{offset}/{count} - Sales applicants:
/applicants/sales/{offset}/{count} - Vendors:
/vendors/{offset}/{count}
- Tenants:
Contact relationship mapping
Map all contact types for a single person across the system: GET /person/{personID}/personcontacts (parameter: integrator)
This is particularly useful for understanding a customer's full journey — e.g. someone who has been both a tenant and a landlord.
Individual contact retrieval
- Specific tenant:
/tenants/{tenantID}(parameter:integrator) - Specific landlord:
/landlords/{landlordID}(parameter:integrator) - Specific lettings applicant:
/applicants/lettings/{lettingsApplicantID}(parameter:integration) - Specific sales applicant:
/applicants/sales/{salesApplicantID}(parameter:integration) - Specific vendor:
/vendors/{vendorID}(parameter:integrator)
Custom field management
- Get definition:
/company/object/{objectID}/customfield - Get value:
/company/objects/{objectID}/{fieldID}/value - Set value:
POST /company/objects/{objectID}/{fieldID}/customfield
Integration best practices
- Use branch-based filtering to organise contacts by territory
- Implement regular syncs to maintain up-to-date consent status
- For marketing: always verify consent before adding contacts to lists and respect withdrawals immediately
- For BI: use the person relationship endpoint to understand cross-sell opportunities
Test with Swagger: Select "V4.Contacts" from the tier dropdown. Personal data will only be returned where GDPR marketing consent exists.