Enlyst API Documentation

Integrate Enlyst's data enrichment capabilities into your applications with our REST API.

Authentication
All API requests require authentication using an API key. You need a paid subscription to access the API.

API Key Authentication

Include your API key in the Authorization header of every request:

Authorization: Bearer enlyst_your_api_key_here

Base URL

https://enlyst.app/api
Projects API
Manage your data enrichment projects
GET
/api/projects

Retrieve all your projects.

Response Fields
FieldTypeDescription
success
boolean
Whether the request was successful
projects
array
Array of project objects
projects[].id
string
Unique project identifier
Example: proj_abc123
projects[].name
string
Project name
Example: My CRM Data
projects[].createdAt
string
ISO timestamp of project creation
Example: 2024-01-15T10:30:00Z
projects[].rowCount
number
Total number of rows in the project
Example: 1500
curl -X GET "https://enlyst.app/api/projects" \
  -H "Authorization: Bearer enlyst_your_api_key_here"
Example Response
{
  "success": true,
  "projects": [
    {
      "id": "proj_abc123",
      "name": "My CRM Data",
      "createdAt": "2024-01-15T10:30:00Z",
      "rowCount": 1500
    }
  ]
}
Data Management
Upload, manage, and download your project data
POST
/api/projects/upload-csv

Upload a CSV file to a project.

Parameters
NameTypeRequiredDescription
file
file
Required
CSV file to upload (multipart/form-data)
projectId
form
Required
ID of the project to upload data to
Example: proj_abc123
curl -X POST "https://enlyst.app/api/projects/upload-csv" \
  -H "Authorization: Bearer enlyst_your_api_key_here" \
  -F "file=@your_data.csv" \
  -F "projectId=proj_abc123"
Data Enrichment
Enrich your data with AI-powered insights
POST
/api/projects/{project_id}/enrich

Enrich a single row of data using the bulk enrichment endpoint with startRow and maxRows parameters.

Parameters
NameTypeRequiredDescription
project_id
path
Required
Project ID containing the row to enrich
Example: proj_abc123
startRow
number
Required
Row number (1-based) to start enrichment from
Example: 5
maxRows
number
Required
Number of rows to process (use 1 for single row)
Example: 1
includeStatuses
array
Optional
Array of statuses to include for enrichment
Example: ["stopped", "failed", null, "", "pending"]
excludeErrors
boolean
Optional
Whether to exclude rows with ERROR: prefix
Example: true
curl -X POST "https://enlyst.app/api/projects/proj_abc123/enrich" \
  -H "Authorization: Bearer enlyst_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "startRow": 5,
    "maxRows": 1,
    "includeStatuses": ["stopped", "failed", null, "", "pending"],
    "excludeErrors": true
  }'
Response Formats
Standard response formats for all API endpoints

Success Response

{
  "success": true,
  "data": {
    // Response data here
  }
}

Error Response

{
  "success": false,
  "error": "Error message",
  "code": "ERROR_CODE"
}

HTTP Status Codes

200
Success
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
500
Internal Server Error
Rate Limits & Credits
API usage limits and credit consumption

Rate Limits

API requests are rate limited to prevent abuse:

  • 100 requests per minute per API key
  • 1000 requests per hour per API key
  • Rate limit headers are included in responses

Credit Usage

Enrichment operations consume credits based on your plan:

  • Single row enrichment: 1 credit per row (only if email is found)
  • Batch enrichment: 1 credit per row processed (only if email is found)
  • Failed enrichments do not consume credits
  • Incomplete enrichments (no email found) do not consume credits

Webhooks

Configure webhooks to receive notifications when enrichment operations complete:

  • Set your webhook URL in your account settings
  • Receive POST requests when batch enrichment completes
  • Webhook payload includes project statistics and completion details
  • Webhooks are sent with your API key in the Authorization header
Webhook Payload Example
{
  "event": "enrichment.completed",
  "timestamp": "2024-01-20T10:30:00.000Z",
  "data": {
    "projectId": "proj_abc123",
    "projectName": "My Project",
    "stats": {
      "total": 100,
      "completed": 85,
      "incomplete": 10,
      "failed": 5,
      "pending": 0,
      "active": 0
    },
    "completedAt": "2024-01-20T10:30:00.000Z"
  }
}
Getting Started
Ready to integrate Enlyst into your application?

Need help? Our team is here to assist you with integration questions and technical support.