Error Codes
Complete reference of error codes returned by the Lead Generation Service.
Error response formatjson
{
"error": {
"code": "LG_1000",
"message": "The requested lead was not found",
"http": 404
}
}Lead ManagementLG_1000-1099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1000 | 404 | LEAD_NOT_FOUND | The requested lead was not found | Verify the lead ID exists for this tenant |
LG_1001 | 409 | LEAD_ALREADY_EXISTS | A lead with this email already exists | Use the existing lead or merge duplicates |
LG_1002 | 400 | LEAD_INVALID_STATUS | Invalid lead status transition | Check allowed status transitions in API docs |
LG_1003 | 400 | LEAD_CONVERSION_FAILED | Lead conversion to deal failed | Ensure lead has required fields for conversion |
FormsLG_1100-1199
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1100 | 404 | FORM_NOT_FOUND | The requested form was not found | Verify the form ID exists for this tenant |
LG_1101 | 409 | FORM_ALREADY_PUBLISHED | Form is already published | Unpublish before making changes or create a new version |
LG_1102 | 400 | FORM_VALIDATION_FAILED | Form submission validation failed | Check required fields and field types |
LG_1103 | 400 | FORM_EMBED_INVALID | Invalid embed configuration | Check allowed domains and embed settings |
CRM & DealsLG_1200-1299
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1200 | 404 | DEAL_NOT_FOUND | The requested deal was not found | Verify the deal ID exists for this tenant |
LG_1201 | 404 | PIPELINE_NOT_FOUND | The requested pipeline was not found | Verify the pipeline ID exists for this tenant |
LG_1202 | 409 | CRM_CONNECTION_EXISTS | CRM connection already configured | Disconnect existing CRM before adding a new one |
LG_1203 | 502 | CRM_SYNC_FAILED | CRM synchronization failed | Check CRM credentials and retry |
Scoring & EnrichmentLG_1300-1399
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1300 | 502 | ENRICHMENT_FAILED | Lead enrichment from third-party failed | Retry; enrichment provider may be temporarily unavailable |
LG_1301 | 402 | INSUFFICIENT_AI_CREDITS | Insufficient AI credits for scoring | Purchase additional AI credits via wallet-svc |
LG_1302 | 400 | SCORING_CONFIG_INVALID | Invalid scoring configuration | Check scoring rule weights and thresholds |
AuthenticationLG_1400-1499
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1400 | 401 | UNAUTHORIZED | Authentication required | Provide a valid JWT token in Authorization header |
LG_1401 | 403 | FORBIDDEN | Insufficient permissions | Request required role from admin |
LG_1402 | 401 | INVALID_TOKEN | Invalid or expired authentication token | Obtain a fresh JWT token via auth-svc |
Nurture & WebhooksLG_1500-1599
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1500 | 404 | SEQUENCE_NOT_FOUND | The requested nurture sequence was not found | Verify the sequence ID exists for this tenant |
LG_1501 | 400 | SEQUENCE_ALREADY_ACTIVE | Nurture sequence is already active | Pause the sequence before modifying |
LG_1502 | 404 | WEBHOOK_NOT_FOUND | The requested webhook was not found | Verify the webhook ID exists |
LG_1503 | 400 | WEBHOOK_DELIVERY_FAILED | Webhook delivery failed | Check webhook URL accessibility and response status |
Bulk & ExportLG_1600-1699
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1600 | 400 | BULK_IMPORT_FAILED | Bulk import operation failed | Check CSV/JSON format and required fields |
LG_1601 | 400 | EXPORT_LIMIT_EXCEEDED | Export limit exceeded for current tier | Upgrade subscription or reduce export scope |
GeneralLG_1900-1999
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LG_1900 | 500 | INTERNAL_SERVER_ERROR | Internal server error | Retry; if persistent, contact support with request_id |
LG_1901 | 503 | SERVICE_UNAVAILABLE | Service temporarily unavailable | Retry with exponential backoff |
LG_1902 | 429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded | Wait and retry after the rate limit window resets |