Skip to main content

Endpoints

MethodPathDescription
GET/api/leads/List leads
POST/api/leads/Create a lead
GET/api/leads/{id}/Get a lead
PATCH/api/leads/{id}/Update a lead
DELETE/api/leads/{id}/Delete a lead
POST/api/leads/{id}/convert/Convert lead to contact

List Leads

GET /api/leads/
Authorization: Bearer <token>
Query Parameters:
ParameterTypeDescription
pageintegerPage number
limitintegerResults per page (max: 100)
statusstringFilter by status
sourcestringFilter by lead source
assignedTostringFilter by assigned user ID
searchstringSearch by name, email, or company
createdAfterISO8601Filter by creation date
Response:
{
  "count": 88,
  "next": "https://api.parsalink.io/api/leads/?page=2",
  "previous": null,
  "results": [
    {
      "id": "ld_01HX...",
      "firstName": "Marcus",
      "lastName": "Rodriguez",
      "email": "[email protected]",
      "phone": "+15551112222",
      "company": "GrowthCo",
      "status": "contacted",
      "source": "website_form",
      "assignedTo": "usr_01HX...",
      "leadScore": 7,
      "createdAt": "2025-03-10T08:00:00Z",
      "updatedAt": "2025-03-12T11:30:00Z"
    }
  ]
}

Create a Lead

POST /api/leads/
Authorization: Bearer <token>
Content-Type: application/json
Request body:
{
  "firstName": "Dana",
  "lastName": "Lee",
  "email": "[email protected]",
  "phone": "+15553334444",
  "company": "Startup IO",
  "status": "new",
  "source": "referral",
  "assignedTo": "usr_01HX...",
  "leadScore": 5,
  "notes": "Referred by Marcus at GrowthCo"
}
Required fields: firstName or lastName, email Response: 201 Created

Get a Lead

GET /api/leads/{id}/
Authorization: Bearer <token>
Response:
{
  "id": "ld_01HX...",
  "firstName": "Dana",
  "lastName": "Lee",
  "email": "[email protected]",
  "phone": "+15553334444",
  "company": "Startup IO",
  "status": "new",
  "source": "referral",
  "assignedTo": "usr_01HX...",
  "assignedToName": "Alex Johnson",
  "leadScore": 5,
  "emailOptOut": false,
  "emailBounced": false,
  "convertedAt": null,
  "convertedContactId": null,
  "notes": "Referred by Marcus at GrowthCo",
  "createdAt": "2025-03-15T14:00:00Z",
  "updatedAt": "2025-03-15T14:00:00Z"
}

Update a Lead

PATCH /api/leads/{id}/
Authorization: Bearer <token>
Content-Type: application/json
Example — update status:
{
  "status": "qualified",
  "leadScore": 9
}
Response: 200 OK with the updated lead object.

Convert a Lead

Convert a lead to a contact, optionally creating a linked account and opportunity.
POST /api/leads/{id}/convert/
Authorization: Bearer <token>
Content-Type: application/json
Request body:
{
  "createAccount": true,
  "accountName": "Startup IO",
  "createOpportunity": true,
  "opportunityName": "Startup IO — Enterprise",
  "opportunityValue": 12000,
  "opportunityStage": "qualification"
}
Response:
{
  "lead": { "id": "ld_01HX...", "status": "converted", "convertedAt": "2025-03-20T10:00:00Z" },
  "contact": { "id": "cnt_02HX...", "firstName": "Dana", "lastName": "Lee" },
  "account": { "id": "acc_03HX...", "name": "Startup IO" },
  "opportunity": { "id": "opp_04HX...", "name": "Startup IO — Enterprise", "value": 12000 }
}

Delete a Lead

DELETE /api/leads/{id}/
Authorization: Bearer <token>
Response: 204 No Content

Lead Status Values

ValueLabel
newNew
contactedContacted
qualifiedQualified
nurturingNurturing
unqualifiedUnqualified
convertedConverted
lostLost