Complete REST API documentation. All endpoints use JSON and require Bearer token authentication.
/api/v1/campaigns
List Campaigns
Returns all campaigns for the authenticated merchant, with pagination.
Parameters
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 25, max: 100) |
Example
curl https://linkjolt.io/api/v1/campaigns \
-H "Authorization: Bearer lj_pk_your_key"Response
{
"data": [
{
"id": "PAbeJtXF39gDMUPYGZqZX",
"name": "Pro Campaign",
"trackingCode": "7PtIfIqd",
"status": "active",
"commissionType": "percentage",
"commissionValue": "20",
"conversions": 47,
"revenue": "12350.00",
"createdAt": "2026-01-15T10:30:00Z"
}
],
"pagination": { "page": 1, "limit": 25, "total": 3, "totalPages": 1 }
}/api/v1/conversions
List Conversions
Returns conversions with optional filters for status, campaign, affiliate, and date range.
Parameters
| status | string | Filter: pending, approved, paid, rejected |
| campaignId | string | Filter by campaign ID |
| affiliateId | string | Filter by affiliate ID |
| from | date | Start date (ISO 8601) |
| to | date | End date (ISO 8601) |
| page | number | Page number |
| limit | number | Results per page |
Example
curl "https://linkjolt.io/api/v1/conversions?status=pending&from=2026-04-01" \
-H "Authorization: Bearer lj_pk_your_key"Response
{
"data": [
{
"id": "stripe_7PtIfIqd_1234567890",
"campaignId": "PAbeJtXF39gDMUPYGZqZX",
"affiliateId": "lRCbRMSvBcGg4HszLCXLr",
"amount": "100.00",
"commission": "20.00",
"currency": "usd",
"status": "pending",
"conversionType": "one_time",
"createdAt": "2026-04-12T06:58:07Z"
}
],
"pagination": { "page": 1, "limit": 25, "total": 47, "totalPages": 2 }
}/api/v1/conversions
Create Conversion
Manually create a conversion record. Commission is calculated automatically based on campaign settings (including tiered commissions if enabled).
Parameters
| campaignId* | string | Campaign ID |
| affiliateId* | string | Affiliate ID |
| amount* | number | Sale amount in dollars |
| orderId | string | Unique order ID for deduplication |
Example
curl -X POST https://linkjolt.io/api/v1/conversions \
-H "Authorization: Bearer lj_pk_your_key" \
-H "Content-Type: application/json" \
-d '{"campaignId":"abc","affiliateId":"xyz","amount":99}'Response
{
"success": true,
"data": {
"id": "api_conv_abc123",
"campaignId": "PAbeJtXF39gDMUPYGZqZX",
"amount": "99.00",
"commission": "19.80",
"status": "pending"
}
}/api/v1/stats
Get Stats
Returns aggregate statistics: total revenue, commissions, conversions, and affiliate count for a date range.
Parameters
| from | date | Start date (default: first of current month) |
| to | date | End date (default: now) |
Example
curl "https://linkjolt.io/api/v1/stats?from=2026-04-01" \
-H "Authorization: Bearer lj_pk_your_key"Response
{
"data": {
"totalRevenue": 12350.00,
"totalCommissions": 2470.00,
"totalConversions": 47,
"totalAffiliates": 12,
"periodStart": "2026-04-01T00:00:00Z",
"periodEnd": "2026-04-13T23:59:59Z"
}
}Additional endpoints: GET /api/v1/campaigns/:id, GET /api/v1/affiliates, POST /api/v1/affiliates/invite, PATCH /api/v1/conversions/:id, GET/POST/DELETE /api/v1/webhooks. Full documentation coming soon.