IntegrationsREST API

API Integration

Use the Ledly API to programmatically submit leads from your applications.

Authentication

All API requests require an API key. Get your key from SettingsAPI Keys.

Include your API key in the request header:

Authorization: Bearer your_api_key_here

Submit a Lead

POST https://api.ledly.io/api/leads

Request Body

{
  "email": "student@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "phone": "+1234567890",
  "program_code": "MBA",
  "source": "api",
  "custom_fields": {
    "start_date": "Fall 2025",
    "referral_source": "Google"
  }
}

Response

{
  "success": true,
  "lead_id": "lead_abc123",
  "message": "Lead created successfully"
}

Required Fields

FieldTypeDescription
emailstringLead’s email address

Optional Fields

FieldTypeDescription
first_namestringLead’s first name
last_namestringLead’s last name
phonestringPhone number
program_codestringProgram identifier
sourcestringLead source
custom_fieldsobjectAdditional custom fields

Rate Limits

  • Standard: 100 requests per minute
  • Enterprise: Contact us for higher limits

Error Codes

CodeDescription
400Invalid request body
401Invalid or missing API key
422Validation error (e.g., invalid email)
429Rate limit exceeded
500Server error

Example: cURL

curl -X POST https://api.ledly.io/api/leads \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "student@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "program_code": "MBA"
  }'

Example: JavaScript

const response = await fetch('https://api.ledly.io/api/leads', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer your_api_key_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    email: 'student@example.com',
    first_name: 'John',
    last_name: 'Doe',
    program_code: 'MBA',
  }),
});
 
const data = await response.json();
console.log(data);