Contacts

Gérez vos contacts : listez-les, récupérez un contact par ID, ou mettez à jour son état dans le pipeline.

GET /api/contacts

Retrieves the collection of Contact resources.

Exemple de requête

curl -X GET "https://www.letsligo.com/api/contacts" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Paramètres de la requête

Nom Type Description Requis
page integer The collection page number Non
email string (email) Exact email match — used to find a contact Non

Exemple de réponse

{
    "@context": "/api/contexts/Contact",
    "@id": "/api/contacts",
    "@type": "hydra:Collection",
    "hydra:member": [
        {
            "@id": "/api/contacts/123e4567-e89b-12d3-a456-426614174000",
            "@type": "Contact",
            "name": "Marie Dubois",
            "company": "Acme Corp",
            "email": "[email protected]",
            "phone": "+33123456789",
            "status": "pending",
            "pipelineState": {
                "@id": "/api/pipeline_states/223e4567-e89b-12d3-a456-426614174000",
                "name": "Nouveau contact"
            }
        }
    ],
    "hydra:totalItems": 1
}

Attributs de la réponse

Nom Type Description
member[].name string Nom complet du contact (obligatoire).
member[].position string Poste ou fonction professionnelle.
member[].email string (email)
member[].phone string
member[].website string (uri) URL du site web.
member[].address string Adresse postale.
member[].linkedinUrl string (uri) URL du profil LinkedIn.
member[].status string: pending | enriched | contacted | qualified | converted | lost Statut du contact dans le pipeline : pending, enriched, contacted, qualified, converted ou lost.
member[].creationSource string: letsligo | scan | linkedin_new_relation | null
member[].tags array Tableau de tags pour la catégorisation.
member[].additionalInfo string Notes ou informations complémentaires sur le contact.
member[].meetingContext string Contexte de la rencontre (ex. salon professionnel, conférence).
member[].lastContactAt string (date-time) Date et heure du dernier contact (ISO 8601).
member[].pipelineState string État actuel du contact dans le pipeline.
member[].id string (uuid) Identifiant unique (UUID) de la ressource.
member[].company string Returns the primary company name for display (profile, card, list).
member[].companyId string Returns the primary company UUID for API/MCP (e.g. to call company_get).
member[].companyIds array Returns all company UUIDs for active memberships. Use company_get with each id for full details.
POST /api/contacts

Create a contact

Exemple de requête

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" }'

Corps de la requête

{
    "name": "Marie Dubois",
    "emails": [
        "[email protected]",
        "[email protected]"
    ],
    "company": "Acme Corp"
}

Paramètres de la requête

Nom Type Description Requis
name string Contact name (required) Oui
emails array Email addresses only (one entry if there is a single address). Non
company string Non
position string Non
phones array Phone numbers only (one entry if there is a single number). Non
address string Non
website string Non
linkedinUrl string Non
additionalInfo string Non
meetingContext string Non
POST /api/contacts/confirm

Confirm contact creation (wizard)

Exemple de requête

curl -X POST "https://www.letsligo.com/api/contacts/confirm" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Paramètres de la requête

Nom Type Description Requis
confirmationToken string Oui
overrides object Last-minute field overrides Non
POST /api/contacts/prepare

Prepare contact creation (wizard)

Exemple de requête

curl -X POST "https://www.letsligo.com/api/contacts/prepare" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Paramètres de la requête

Nom Type Description Requis
text string Raw text (signature, vCard) to extract contact from Oui
overrides object Field overrides to correct/extend extracted data Non
PATCH /api/contacts/{id}

Update a contact

Exemple de requête

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"   ] }'

Corps de la requête

{
    "company": "Acme Corp",
    "position": "Directrice",
    "phones": [
        "+33 6 00 00 00 00",
        "+33 1 00 00 00 00"
    ]
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Identifiant unique (UUID) de la ressource. Oui
name string Non
emails array Email addresses only (one entry if there is a single address). Non
company string Non
position string Non
phones array Phone numbers only (one entry if there is a single number). Non
address string Non
website string Non
linkedinUrl string Non
additionalInfo string Non
meetingContext string Non
POST /api/contacts/{id}/emails/prepare

Prepare / generate email

Exemple de requête

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" }'

Corps de la requête

{
    "message": "Rédige un email de relance après notre rencontre au salon"
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Identifiant unique (UUID) de la ressource. Oui
message string Instruction for email generation Oui
sessionId string (uuid) Existing session ID for iterations Non
currentEmail object Non
POST /api/contacts/{id}/emails/refine

Refine email

Exemple de requête

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" }'

Corps de la requête

{
    "instruction": "Raccourcis le paragraphe 2",
    "sessionId": "uuid-from-prepare"
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Identifiant unique (UUID) de la ressource. Oui
instruction string e.g. "Shorten paragraph 2" Oui
sessionId string (uuid) Required - from prepare Non
currentEmail object Non
POST /api/contacts/{id}/emails/send

Send email

Exemple de requête

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" }'

Corps de la requête

{
    "sessionId": "uuid-from-prepare"
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Identifiant unique (UUID) de la ressource. Oui
emailData object Non
sessionId string (uuid) Non
POST /api/contacts/{id}/extend

Extend contact with text

Exemple de requête

curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/extend" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Identifiant unique (UUID) de la ressource. Oui
text string Text to append Oui
field string: additionalInfo | meetingContext Non
PATCH /api/contacts/{id}/pipeline-state

Update contact pipeline state

Exemple de requête

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" }'

Corps de la requête

{
    "stateId": "123e4567-e89b-12d3-a456-426614174000"
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Contact UUID Oui
stateId string (uuid), nullable Pipeline state UUID. Pass null or omit to remove contact from pipeline. Non

Exemple de réponse

{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Marie Dubois",
    "company": "Acme Corp",
    "status": "pending",
    "pipelineState": {
        "id": "223e4567-e89b-12d3-a456-426614174000",
        "name": "Nouveau contact"
    }
}

Attributs de la réponse

Nom Type Description
id string (uuid) Identifiant unique (UUID) de la ressource.
name string Nom complet du contact (obligatoire).
company string, nullable Nom de l'entreprise ou de l'organisation.
status string: pending | enriched | contacted | qualified | converted | lost Statut du contact dans le pipeline : pending, enriched, contacted, qualified, converted ou lost.
pipelineState object, nullable État actuel du contact dans le pipeline.
POST /api/contacts/{id}/tasks

Create a task for a contact

Exemple de requête

curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/tasks" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{   "title": "Appeler pour suivi",   "dueDate": "2025-03-20T10:00:00+00:00",   "description": "Relance après notre rencontre au salon",   "type": "call" }'

Corps de la requête

{
    "title": "Appeler pour suivi",
    "dueDate": "2025-03-20T10:00:00+00:00",
    "description": "Relance après notre rencontre au salon",
    "type": "call"
}

Paramètres de la requête

Nom Type Description Requis
id string (uuid) Contact UUID Oui
title string Task title (required) Oui
dueDate string (date-time) Due date and time (ISO 8601, required) Oui
description string Optional task description or notes Non
type string: call | email | meeting | follow_up | proposal | quote | other Optional task type Non

Exemple de réponse

{
    "id": "323e4567-e89b-12d3-a456-426614174000",
    "title": "Appeler pour suivi",
    "type": "call",
    "description": "Relance après notre rencontre au salon",
    "dueDate": "2025-03-20T10:00:00+00:00",
    "completed": false
}