API Changelog
A rolling log of additions, changes, fixes, and deprecations to the Leadron API. Subscribe to the RSS feed or follow the GitHub mirror to get notified when a release ships.
Versioning policy
AI Agents bulk operations, partner-portal commission attachments, and a leaner pagination envelope.
- Added
Bulk AI Agent runs
POST /v1/agents/{agentId}/runs:bulk accepts up to 250 lead IDs in a single call. Responses include per-lead success/error status so you can stream results into your own UI.
POST /v1/agents/{agentId}/runs:bulk - Added
Commission statement attachments
Partner statements now expose signed download URLs for the underlying commission breakdown CSV. Available on GET /v1/partners/{id}/commissions/statements.
GET /v1/partners/{id}/commissions/statements - Changed
Pagination envelope shape
List endpoints now return `pagination.nextCursor` instead of the previous `nextPageToken`. The legacy field is still emitted for one minor release to give you time to migrate.
- Fixed
Webhook signature header casing
X-Leadron-Signature is now always lowercased on retries to match the original delivery — fixes a subtle bug where idempotency-conscious consumers were rejecting retries.
Training module endpoints, structured AI generation outputs, and a new Subscriptions resource.
- Added
Training module API
Full CRUD for courses, lessons, and enrollments under /v1/training. Webhook events are emitted for `training.course.completed` and `training.lesson.failed`.
/v1/training/* - Added
AI Generation structured outputs
POST /v1/ai-generation accepts an optional `responseSchema` (JSON Schema). Responses are validated server-side before returning, so your client always gets a typed payload.
POST /v1/ai-generation - Added
Subscriptions resource
List, retrieve, and cancel tenant subscriptions via /v1/subscriptions. Plan and seat usage is exposed under `/v1/subscriptions/{id}/usage`.
/v1/subscriptions/* - Deprecated
POST /v1/ai/generate
Use POST /v1/ai-generation instead. The legacy endpoint will continue to work until v2 launches but no longer receives new features.
Addons marketplace endpoints and tighter rate-limit headers across the board.
- Added
Addons marketplace
Browse and install addons via /v1/addons. Installed addons are returned on tenant lookups under `installedAddons`.
/v1/addons/* - Changed
Standardized rate-limit headers
All endpoints now return `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` per the IETF draft. Legacy `X-RateLimit-*` headers remain available.
- Fixed
Cursor pagination on Opportunities
Cursors generated against deleted records no longer return 500. The API now returns the next valid page or an empty result set.
Notifications API, search v2, and a faster files upload pipeline.
- Added
Notifications API
Programmatically create in-app notifications via POST /v1/notifications. Supports per-user targeting, action buttons, and scheduled delivery.
POST /v1/notifications - Changed
Search relevance tuning
Search now uses a hybrid lexical + vector ranker for /v1/search. Query syntax is unchanged. Expect noticeably better results for fuzzy and natural-language queries.
- Fixed
Multipart upload boundary handling
POST /v1/files now correctly handles boundaries that include `--` sequences in metadata fields.
- Security
API key prefix entropy
Newly issued API keys use a longer random suffix to make brute-force enumeration impractical. Existing keys are unaffected.