API reference / Leads
Leads API
39 endpoints. Scopes: Scalar360.leads.READ, .CREATE, .UPDATE, .DELETE or .ALL. All calls need Authorization: Scalar360-oauthtoken <access_token> — see Authentication.
Get all leads
/api/leads
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
page | query | integer | No |
pageSize | query | integer | No |
size | query | integer | No |
q | query | string (default ) | No |
search | query | string (default ) | No |
stage | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
sortBy | query | string | No |
sortDir | query | string (default desc) | No |
assignee | query | string (default ) | No |
leadType | query | string (default ) | No |
priority | query | string (default ) | No |
dueDateStatus | query | string (default ) | No |
dueStartDate | query | string (date) | No |
dueEndDate | query | string (date) | No |
minDealValue | query | number | No |
maxDealValue | query | number | No |
curl -X GET "https://api.scalar360.com/api/leads" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Create lead
/api/leads
Scope: Scalar360.leads.CREATE
| Body field | Type | Required | Notes |
|---|---|---|---|
name | string | Yes | required |
companyName | string | ||
phone | string | Yes | |
secondaryPhone | string | ||
email | string | ||
gstin | string | ||
billingAddress | string | ||
shippingAddress | string | ||
state | string | ||
pin | string | ||
source | string | ||
leadType | string | ||
pipelineId | string (uuid) | ||
stage | string | ||
dealValue | number | ||
followUpDate | string (date) | ||
followUpTime | string | ||
priority | string | ||
dueDate | string (date) | ||
assignedTo | string | ||
notes | string | ||
customFields | map of string | ||
version | integer |
curl -X POST "https://api.scalar360.com/api/leads" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"string","phone":"string"}'Get lead by gid
/api/leads/{gid}
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Update lead
/api/leads/{gid}
Scope: Scalar360.leads.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
name | string | Yes | required |
companyName | string | ||
phone | string | ||
secondaryPhone | string | ||
email | string | ||
gstin | string | ||
billingAddress | string | ||
shippingAddress | string | ||
state | string | ||
pin | string | ||
source | string | ||
leadType | string | ||
pipelineId | string (uuid) | ||
stage | string | ||
dealValue | number | ||
followUpDate | string (date) | ||
followUpTime | string | ||
priority | string | ||
dueDate | string (date) | ||
assignedTo | string | ||
notes | string | ||
customFields | map of string | ||
version | integer |
curl -X PUT "https://api.scalar360.com/api/leads/{gid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"string","companyName":"string","phone":"string","secondaryPhone":"string","email":"string","gstin":"string"}'Delete lead
/api/leads/{gid}
Scope: Scalar360.leads.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/leads/{gid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"List activities
/api/leads/{gid}/activities
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/activities" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Add activity
/api/leads/{gid}/activities
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
type | string | Yes | required, not blank |
note | string | ||
activityTime | string (date-time) | ||
mentions | array of string (uuid) |
curl -X POST "https://api.scalar360.com/api/leads/{gid}/activities" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"string"}'Delete activity
/api/leads/{gid}/activities/{activityGid}
Scope: Scalar360.leads.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
activityGid | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/leads/{gid}/activities/{activityGid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Assign lead
/api/leads/{gid}/assign
Scope: Scalar360.leads.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
assignedTo | string |
curl -X PATCH "https://api.scalar360.com/api/leads/{gid}/assign" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"assignedTo":"string"}'Convert to customer
/api/leads/{gid}/convert
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
mode | string | ||
customerId | string (uuid) |
curl -X POST "https://api.scalar360.com/api/leads/{gid}/convert" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"string","customerId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d"}'Preview conversion
/api/leads/{gid}/convert/preview
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/convert/preview" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"List documents
/api/leads/{gid}/documents
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/documents" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Upload document
/api/leads/{gid}/documents
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
activityId | query | string (uuid) | No |
Request body: multipart/form-data with a file field.
curl -X POST "https://api.scalar360.com/api/leads/{gid}/documents" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-F "file=@/path/to/file"Delete document
/api/leads/{gid}/documents/{docGid}
Scope: Scalar360.leads.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
docGid | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/leads/{gid}/documents/{docGid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Document link
/api/leads/{gid}/documents/{docGid}/link
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
docGid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/documents/{docGid}/link" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Email lead
/api/leads/{gid}/email
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
subject | query | string | Yes |
body | query | string | No |
Request body: multipart/form-data with a file field.
curl -X POST "https://api.scalar360.com/api/leads/{gid}/email" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-F "file=@/path/to/file"Email tracking
/api/leads/{gid}/email-tracking
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/email-tracking" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Lead emails
/api/leads/{gid}/emails
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/emails" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Complete follow up
/api/leads/{gid}/follow-up/complete
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
note | string | ||
nextFollowUpDate | string (date) | ||
nextFollowUpTime | string |
curl -X POST "https://api.scalar360.com/api/leads/{gid}/follow-up/complete" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"note":"string","nextFollowUpDate":"2026-10-12","nextFollowUpTime":"string"}'Create meeting
/api/leads/{gid}/meetings
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
provider | string | ||
topic | string | ||
startTime | string (date-time) | ||
durationMinutes | integer | ||
agenda | string | ||
inviteLead | boolean | ||
inviteUserIds | array of string (uuid) | ||
inviteEmails | array of string |
curl -X POST "https://api.scalar360.com/api/leads/{gid}/meetings" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"provider":"string","topic":"string","startTime":"2026-10-12T09:30:00Z","durationMinutes":1,"agenda":"string","inviteLead":true}'Update stage
/api/leads/{gid}/stage
Scope: Scalar360.leads.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
stage | string | Yes | required |
curl -X PATCH "https://api.scalar360.com/api/leads/{gid}/stage" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"stage":"string"}'List tasks
/api/leads/{gid}/tasks
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/leads/{gid}/tasks" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Add task
/api/leads/{gid}/tasks
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
title | string | Yes | required, not blank |
description | string | ||
dueAt | string (date-time) | ||
assignedTo | string (uuid) | ||
status | string |
curl -X POST "https://api.scalar360.com/api/leads/{gid}/tasks" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"string"}'Update task
/api/leads/{gid}/tasks/{taskGid}
Scope: Scalar360.leads.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
taskGid | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
title | string | Yes | required, not blank |
description | string | ||
dueAt | string (date-time) | ||
assignedTo | string (uuid) | ||
status | string |
curl -X PATCH "https://api.scalar360.com/api/leads/{gid}/tasks/{taskGid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"string","description":"string","dueAt":"2026-10-12T09:30:00Z","assignedTo":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","status":"string"}'Delete task
/api/leads/{gid}/tasks/{taskGid}
Scope: Scalar360.leads.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
gid | path | string (uuid) | Yes |
taskGid | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/leads/{gid}/tasks/{taskGid}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Bulk assign leads
/api/leads/bulk-assign
Scope: Scalar360.leads.UPDATE
| Body field | Type | Required | Notes |
|---|---|---|---|
gids | array of string (uuid) | Yes | required, not empty |
assignedTo | string |
curl -X PATCH "https://api.scalar360.com/api/leads/bulk-assign" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"gids":["3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d"],"assignedTo":"string"}'Email sender
/api/leads/email-sender
Scope: Scalar360.leads.READ
curl -X GET "https://api.scalar360.com/api/leads/email-sender" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Get overdue follow ups
/api/leads/followups/overdue
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
page | query | integer | No |
pageSize | query | integer | No |
size | query | integer | No |
q | query | string (default ) | No |
search | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
sortBy | query | string | No |
sortDir | query | string (default asc) | No |
curl -X GET "https://api.scalar360.com/api/leads/followups/overdue" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Get today follow ups
/api/leads/followups/today
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
page | query | integer | No |
pageSize | query | integer | No |
size | query | integer | No |
q | query | string (default ) | No |
search | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
sortBy | query | string | No |
sortDir | query | string (default asc) | No |
curl -X GET "https://api.scalar360.com/api/leads/followups/today" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Get upcoming follow ups
/api/leads/followups/upcoming
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
page | query | integer | No |
pageSize | query | integer | No |
size | query | integer | No |
q | query | string (default ) | No |
search | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
sortBy | query | string | No |
sortDir | query | string (default asc) | No |
curl -X GET "https://api.scalar360.com/api/leads/followups/upcoming" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Import leads
/api/leads/import
Scope: Scalar360.leads.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
pipeline | query | string (uuid) | No |
Request body: multipart/form-data with a file field.
curl -X POST "https://api.scalar360.com/api/leads/import" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-F "file=@/path/to/file"Template csv
/api/leads/import/template.csv
Scope: Scalar360.leads.READ
curl -X GET "https://api.scalar360.com/api/leads/import/template.csv" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Template xlsx
/api/leads/import/template.xlsx
Scope: Scalar360.leads.READ
curl -X GET "https://api.scalar360.com/api/leads/import/template.xlsx" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Meeting providers
/api/leads/integrations/meetings
Scope: Scalar360.leads.READ
curl -X GET "https://api.scalar360.com/api/leads/integrations/meetings" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"List meetings
/api/leads/meetings
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
tab | query | string (default today) | No |
q | query | string (default ) | No |
page | query | integer (default 1) | No |
pageSize | query | integer (default 10) | No |
curl -X GET "https://api.scalar360.com/api/leads/meetings" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Get pipeline
/api/leads/pipeline
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
pipeline | query | string (uuid) | No |
curl -X GET "https://api.scalar360.com/api/leads/pipeline" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"List pipeline leads
/api/leads/pipeline/list
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
pipeline | query | string (uuid) | No |
page | query | integer (default 1) | No |
pageSize | query | integer (default 10) | No |
q | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
sortBy | query | string | No |
sortDir | query | string (default desc) | No |
assignee | query | string (default ) | No |
leadType | query | string (default ) | No |
priority | query | string (default ) | No |
dueDateStatus | query | string (default ) | No |
dueStartDate | query | string (date) | No |
dueEndDate | query | string (date) | No |
minDealValue | query | number | No |
maxDealValue | query | number | No |
curl -X GET "https://api.scalar360.com/api/leads/pipeline/list" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Get leads by stage
/api/leads/stage/{stage}
Scope: Scalar360.leads.READ
| Parameter | In | Type | Required |
|---|---|---|---|
stage | path | string | Yes |
pipeline | query | string (uuid) | No |
page | query | integer | No |
pageSize | query | integer | No |
q | query | string (default ) | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
assignee | query | string (default ) | No |
leadType | query | string (default ) | No |
priority | query | string (default ) | No |
dueDateStatus | query | string (default ) | No |
dueStartDate | query | string (date) | No |
dueEndDate | query | string (date) | No |
minDealValue | query | number | No |
maxDealValue | query | number | No |
curl -X GET "https://api.scalar360.com/api/leads/stage/{stage}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"My tasks
/api/leads/tasks/mine
Scope: Scalar360.leads.READ
curl -X GET "https://api.scalar360.com/api/leads/tasks/mine" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"