Run Ivana Laser Import (v1)
Trigger the Ivana laser sessions import job for a workspace.
Method & Path
POST /api/v1/admin/imports/ivana-laser-sessions
Note: backend route is served at /v1/admin/imports/ivana-laser-sessions.
Description
Imports Ivana laser sessions, creates or finds clients, and writes sessions with notes and field values. Uses cached JSON data when available to avoid re-fetching from the Ivana API.
Persona access: Admin only (Workspace Owner access is not applicable for admin endpoints).
Authentication
Required: Admin authentication with businesses.manage permission.
Include the admin JWT token in the Authorization header:
Authorization: Bearer <admin_token>
Headers
Authorization: Bearer <admin_token>
Content-Type: application/json
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
dryRun | boolean | No | When true, does not write to the database (default: false) |
useCache | boolean | No | When true, uses cached JSON if available (default: true) |
pageLimit | number | No | Limit number of pages fetched from Ivana API |
Request Body
None.
Response 200 OK
{
"message": "Ivana laser sessions import completed.",
"result": {
"processed": 120,
"clientsCreated": 15,
"sessionsCreated": 80,
"sessionsSkipped": 25,
"errors": 0,
"dryRun": false,
"usedCache": true,
"cachedRecords": 120
}
}
Common Errors
- 400 Bad Request: Invalid query parameters
- 401 Unauthorized: Missing or invalid admin authentication token
- 403 Forbidden: Insufficient permissions (missing
businesses.managepermission) - 500 Internal Server Error: Server error