Skip to main content
POST
/
api
/
leads
curl --request POST \
  --url https://app.tuco.ai/api/leads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "leads": [
    {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john@example.com",
      "phone": "+12025551234"
    }
  ],
  "source": "api"
}
'
{
  "message": "Lead was a duplicate; existing lead ID returned.",
  "duplicateOnly": true,
  "duplicateCount": 1,
  "totalProcessed": 1,
  "leadId": "69b2c41d352a78479d2c623b",
  "existingLeadIds": [
    "69b2c41d352a78479d2c623b"
  ],
  "leadIds": [
    "69b2c41d352a78479d2c623b"
  ],
  "duplicates": [
    {
      "input": {
        "firstName": "BG",
        "lastName": "Real",
        "email": "goforbg@icloud.com",
        "phone": "+919042956129"
      },
      "existingLead": {
        "_id": "69b2c41d352a78479d2c623b",
        "firstName": "BG",
        "lastName": "Real",
        "email": "goforbg@icloud.com",
        "phone": "+919042956129"
      }
    }
  ],
  "ghlContactId": "aMUQn0u0Z7cw0NQ7tJ5R",
  "ghlLocationId": "eL7DD22BdZ0rismu7qCA",
  "hsPortalId": null,
  "hsContactId": null
}

Authorizations

Authorization
string
header
required

Workspace API key: Authorization: Bearer tuco_sk_xxxxxxxxxxxxx

Body

application/json
leads
object[]
body
any

Alias for leads (same as leads array)

listId
string

Omit to use Quick Sends list

source
string
default:csv
defaultCountryCode
string
default:+1
ghlLocationId
string

Response

All leads were duplicates; existing IDs returned

message
string
duplicateOnly
boolean
duplicateCount
integer
totalProcessed
integer
leadId
string | null
existingLeadIds
string[]
leadIds
string[]
duplicates
array
ghlContactId
string | null
ghlLocationId
string | null
hsPortalId
string | null
hsContactId
string | null