Unlock full access to an event’s exhibitor and personnel results.
Use this endpoint when preview list responses indicate that more event-scoped records require an event unlock.
When to use this endpoint
Call POST /external/events/:id/unlock only after you have confirmed that an event is relevant and the preview response indicates more records are available.
Typical sequence:
- Find the event with Events list, Rank events, or profile matching.
- Preview exhibitors or personnel for that event.
- Read
semantics.accessMode, semantics.counts, and semantics.unlock.
- Unlock the event if the user wants full event-scoped coverage.
Event unlocks can consume credits. Preview event-scoped results first so users understand what they are unlocking.
Endpoint
POST /external/events/:id/unlock
Authentication
See Authentication
Success status code
201 Created
Path parameters
| Name | Required | Type | Notes |
|---|
id | Yes | string | Supports event id or eventId returned by event responses. |
| Name | Required | Type | Notes |
|---|
x-call-source | No | string | Optional usage source. Use api or agent; defaults to api. |
Request example
curl -X POST "https://platform.lensmor.com/external/events/139574/unlock" \
-H "Authorization: Bearer $LENSMOR_API_KEY" \
-H "x-call-source: api"
Response example
{
"success": true,
"alreadyUnlocked": false,
"creditsUsed": 2000,
"balanceAfter": {
"subscriptionBalance": 0,
"permanentBalance": 451021,
"totalBalance": 451021,
"unlimited": false
},
"event": {
"id": "26855",
"eventId": "26855",
"name": "CES 2025"
}
}
Response fields
| Field | Description |
|---|
success | Whether the unlock request completed successfully. |
alreadyUnlocked | true when the API key owner already had full access to the event. |
creditsUsed | Number of credits charged by this request. 0 when the event was already unlocked. |
balanceAfter | Remaining balance snapshot after a paid unlock. null when no credits were charged, such as an already-unlocked event. |
balanceAfter.subscriptionBalance | Remaining subscription credits. |
balanceAfter.permanentBalance | Remaining gift/permanent credits. |
balanceAfter.totalBalance | Total remaining credits. |
balanceAfter.unlimited | Whether the account has unlimited access semantics. |
event | Minimal event identity for confirmation and audit logs. |
Idempotency behavior
Unlocking the same event again does not spend credits again. The API returns alreadyUnlocked: true and creditsUsed: 0 when the event is already available to the API key owner.
Your integration can use this behavior to safely retry after a network failure, but should still avoid repeated unlock calls in the UI.
Access after unlock
After a successful unlock, call event-scoped exhibitor or personnel list endpoints again. The list response should move from preview semantics to full-access semantics for that event.
Error responses
401 Unauthorized
402 Payment Required
404 Not Found
429 Too Many Requests
Notes
- Event unlock currently costs
2000 credits when the event is not already unlocked.
- If the event is already unlocked,
alreadyUnlocked is true and creditsUsed is 0.
- See Credits and access for shared credit behavior.