Create a partner contact
Adds a contact to a partner, or returns the matching contact if one already exists. Requires partners_edit permission.
Upsert and retries
This endpoint is safe to retry and safe to call from a sync that re-sends the same people. Lasso looks for an active contact at this partner carrying one of the CRM contact IDs you sent, then for one with the same email:
- Match: 200 OK with the existing contact. Any CRM IDs you sent that the contact does not have yet are linked to it. Nothing else in the request is applied: name, title, phone_number, linkedin_url and send_invitation are ignored. Use PUT /partners/{identifier}/contacts/{contact_identifier} to change a contact.
- No match: 201 Created with the new contact. A person who was previously removed from this partner is restored rather than added twice.
Two identical requests sent at the same time produce one contact: the second waits for the first and then returns it with 200.
CRM IDs
A CRM contact ID can belong to only one contact across all your partners, and a contact holds at most one ID per CRM. Sending an ID another contact already holds, or a different ID from the one this contact already holds for that CRM, is a 409 with ALREADY_LINKED. Links cannot be removed through the API, so an empty CRM ID is a 422 with CANNOT_BE_CLEARED.
Who can be added
A new contact gets the finance_legal_contact role: in the partner portal they can see payments, add payout details and tax forms, and read and sign agreements, but cannot manage the partner's team. If the email belongs to someone who already has a Lasso login but is not yet a contact or team member in your account, the request is refused with 422 and EMAIL_UNAVAILABLE; add them from the Lasso admin dashboard instead.
Response body
A key that also holds partners_read gets the full contact. A key with partners_edit alone gets only {"contact": {"slug": "..."}}, which is enough to address the contact afterwards.
Request
- Base URL: https://api.lassotech.com/api/v1/rest
- URL: https://api.lassotech.com/api/v1/rest/partners/{identifier}/contacts
- Auth: API key in header x-lasso-access-token
Path parameters
Partner identifier, interpreted according to by
Query parameters
How to read the partner identifier in the path. See Resource Lookup.
Required when by=external. e.g. HUBSPOT, SALESFORCE, PIPEDRIVE
Required when by=external (optional for a Salesforce partner). e.g. company, deal, opportunity, account
Request body
Example request
{
"email": "jane@acme.com",
"name": "Jane Smith",
"title": "Finance Manager",
"hubspot_contact_id": "67890",
"salesforce_contact_id": "003Ak00000XyZ12AAB",
"pipedrive_person_id": "200"
}Response
A matching contact already existed and was returned. Only missing CRM IDs were added.
Example response
{
"contact": {
"slug": "PC-A1B2C3",
"partner_slug": "acme-corp",
"name": "Jane Smith",
"email": "jane@acme.com",
"title": "Finance Manager",
"role": "finance_legal_contact",
"external_ids": [
{
"system_type": "HUBSPOT",
"object_type": "company",
"identifier": "123"
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.