Contacts
Manage your contacts: list them, get a contact by ID, or update its pipeline state.
POST
/api/contacts
Create a contact
Example request
curl -X POST "https://www.letsligo.com/api/contacts" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Marie Dubois", "emails": [ "[email protected]", "[email protected]" ], "company": "Acme Corp" }'
Request body
{
"name": "Marie Dubois",
"emails": [
"[email protected]",
"[email protected]"
],
"company": "Acme Corp"
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Contact name (required) | Yes |
| emails | array | Email addresses only (one entry if there is a single address). | No |
| company | string | No | |
| position | string | No | |
| phones | array | Phone numbers only (one entry if there is a single number). | No |
| address | string | No | |
| website | string | No | |
| linkedinUrl | string | No | |
| additionalInfo | string | No | |
| meetingContext | string | No |
POST
/api/contacts/confirm
Confirm contact creation (wizard)
Example request
curl -X POST "https://www.letsligo.com/api/contacts/confirm" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| confirmationToken | string | Yes | |
| overrides | object | Last-minute field overrides | No |
POST
/api/contacts/prepare
Prepare contact creation (wizard)
Example request
curl -X POST "https://www.letsligo.com/api/contacts/prepare" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| text | string | Raw text (signature, vCard) to extract contact from | Yes |
| overrides | object | Field overrides to correct/extend extracted data | No |
PATCH
/api/contacts/{id}
Update a contact
Example request
curl -X PATCH "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "company": "Acme Corp", "position": "Directrice", "phones": [ "+33 6 00 00 00 00", "+33 1 00 00 00 00" ] }'
Request body
{
"company": "Acme Corp",
"position": "Directrice",
"phones": [
"+33 6 00 00 00 00",
"+33 1 00 00 00 00"
]
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. | Yes |
| name | string | No | |
| emails | array | Email addresses only (one entry if there is a single address). | No |
| company | string | No | |
| position | string | No | |
| phones | array | Phone numbers only (one entry if there is a single number). | No |
| address | string | No | |
| website | string | No | |
| linkedinUrl | string | No | |
| additionalInfo | string | No | |
| meetingContext | string | No |
POST
/api/contacts/{id}/emails/prepare
Prepare / generate email
Example request
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/prepare" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "message": "Rédige un email de relance après notre rencontre au salon" }'
Request body
{
"message": "Rédige un email de relance après notre rencontre au salon"
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. | Yes |
| message | string | Instruction for email generation | Yes |
| sessionId | string (uuid) | Existing session ID for iterations | No |
| currentEmail | object | No |
POST
/api/contacts/{id}/emails/refine
Refine email
Example request
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/refine" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "instruction": "Raccourcis le paragraphe 2", "sessionId": "uuid-from-prepare" }'
Request body
{
"instruction": "Raccourcis le paragraphe 2",
"sessionId": "uuid-from-prepare"
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. | Yes |
| instruction | string | e.g. "Shorten paragraph 2" | Yes |
| sessionId | string (uuid) | Required - from prepare | No |
| currentEmail | object | No |
POST
/api/contacts/{id}/emails/send
Send email
Example request
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/send" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "uuid-from-prepare" }'
Request body
{
"sessionId": "uuid-from-prepare"
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. | Yes |
| emailData | object | No | |
| sessionId | string (uuid) | No |
POST
/api/contacts/{id}/extend
Extend contact with text
Example request
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/extend" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. | Yes |
| text | string | Text to append | Yes |
| field | string: additionalInfo | meetingContext | No |
PATCH
/api/contacts/{id}/pipeline-state
Update contact pipeline state
Example request
curl -X PATCH "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/pipeline-state" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "stateId": "123e4567-e89b-12d3-a456-426614174000" }'
Request body
{
"stateId": "123e4567-e89b-12d3-a456-426614174000"
}
Request parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string (uuid) | Contact UUID | Yes |
| stateId | string (uuid), nullable | Pipeline state UUID. Pass null or omit to remove contact from pipeline. | No |
Response example
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Marie Dubois",
"company": "Acme Corp",
"status": "pending",
"pipelineState": {
"id": "223e4567-e89b-12d3-a456-426614174000",
"name": "Nouveau contact"
}
}
Response attributes
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Unique identifier (UUID) of the resource. |
| name | string | Full name of the contact (required). |
| company | string, nullable | Company or organization name. |
| status | string: pending | enriched | contacted | qualified | converted | lost | Contact status in the pipeline: pending, enriched, contacted, qualified, converted, or lost. |
| pipelineState | object, nullable | Current pipeline state of the contact. |