Laravel CRM
Log in Get Started

API · Leads

See API overview for authentication, headers, pagination, sorting, conventions, error envelopes, and rate limits that apply to every endpoint below.

Endpoints

Verb Path Action
GET /crm/api/v2/leads List (paginated).
POST /crm/api/v2/leads Create.
GET /crm/api/v2/leads/{uuid} Show.
PUT /crm/api/v2/leads/{uuid} Update.
DELETE /crm/api/v2/leads/{uuid} Soft-delete.

{uuid} is the lead's external_id (UUID), exposed as id in JSON responses.

List parameters

Param Notes
per_page 1100, default 25.
sort One of created_at, updated_at, title, amount. Prefix - for descending. Default -created_at.
user_owner_id Filter by owner (integer user ID).

Resource shape

{
  "id": "uuid",
  "lead_id": "L1001",
  "title": "Acme renewal",
  "description": null,
  "amount": 12500.00,
  "currency": "USD",
  "expected_close": "2026-09-30T00:00:00+00:00",
  "converted_at": null,
  "created_at": "2026-05-01T12:00:00+00:00",
  "updated_at": "2026-05-01T12:00:00+00:00",
  "deleted_at": null,
  "owner":        { "id": 1, "name": "Jane Doe" },
  "person":       { "id": "uuid", "name": "John Smith" },
  "organization": { "id": "uuid", "name": "Acme Co" },
  "labels":       [{ "id": "uuid", "name": "Hot" }]
}

Writable fields

Accepted on POST / PUT (* = required on POST):

title*, description, amount, currency (3-letter), expected_close (ISO-8601), person_id (UUID), organization_id (UUID), lead_source_id (UUID), pipeline_stage_id (UUID), user_owner_id (int), labels[] (UUIDs).

Example

TOKEN="1|abcdef..."

# Create
curl -s -X POST https://example.test/crm/api/v2/leads \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "New enterprise lead",
    "amount": 12500.00,
    "currency": "USD",
    "expected_close": "2026-09-30T00:00:00Z"
  }' | jq .

# List, newest first, filtered by owner
curl -s "https://example.test/crm/api/v2/leads?sort=-created_at&user_owner_id=1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json" | jq .