Enterprise
The Enterprise endpoint provides a single URL with multiple actions via the ?action= query parameter. This is a compatibility layer designed for API key users who prefer a unified endpoint.
All actions available here are also accessible through the standard REST endpoints.
POST /enterprise?action={action}
Section titled “POST /enterprise?action={action}”Execute an enterprise action.
Auth: Required
| Query Param | Type | Required | Description |
|---|---|---|---|
action | string | Yes | The action to perform (see below) |
Actions
Section titled “Actions”listProjects
Section titled “listProjects”List all projects. Equivalent to GET /projects.
curl -X POST "https://api.lynxvizion.com/api/enterprise?action=listProjects" \ -H "Authorization: $LVZ_KEY"createProject
Section titled “createProject”Create a new project. Equivalent to POST /projects.
| Body Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Project name |
description | string | No | Project description |
curl -X POST "https://api.lynxvizion.com/api/enterprise?action=createProject" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "API Integration Test"}'registerUpload
Section titled “registerUpload”Register a video and get a presigned upload URL. Returns a job_id and upload_url.
| Body Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Video display name |
selected_insights | string | No | JSON string of module names |
initial_prompt | string | No | Custom analysis prompt |
project_id | string | No | Assign to a project |
Response:
{ "job_id": "a1b2c3d4-...", "upload_url": "https://s3.eu-central-003.backblazeb2.com/..."}curl -X POST "https://api.lynxvizion.com/api/enterprise?action=registerUpload" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "Demo Video", "selected_insights": "[\"visualelements\",\"transcription\"]"}'process
Section titled “process”Start processing a registered video. Equivalent to POST /processing/\{job_id\}/start.
| Body Field | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The video’s job ID |
selected_insights | string | No | Override module selection |
Response:
{ "job_id": "a1b2c3d4-...", "status": "queued"}curl -X POST "https://api.lynxvizion.com/api/enterprise?action=process" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"job_id": "a1b2c3d4-..."}'getStatus
Section titled “getStatus”Get processing status. Equivalent to GET /processing/\{job_id\}/status.
| Body Field | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The video’s job ID |
curl -X POST "https://api.lynxvizion.com/api/enterprise?action=getStatus" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"job_id": "a1b2c3d4-..."}'getResults
Section titled “getResults”Get analysis results. Equivalent to GET /results/job/\{job_id\}.
| Body Field | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The video’s job ID |
modules | string[] | No | Filter by module names |
Response:
{ "job_id": "a1b2c3d4-...", "status": "completed", "segments": [...]}curl -X POST "https://api.lynxvizion.com/api/enterprise?action=getResults" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"job_id": "a1b2c3d4-...", "modules": ["transcription"]}'askAgent
Section titled “askAgent”Ask the AI agent a question about a video. Equivalent to POST /chat/ask.
| Body Field | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The video’s job ID |
query | string | Yes | Natural language question |
modules | string[] | No | Limit context to specific modules |
Response:
{ "answer": "The video discusses three main topics...", "job_id": "a1b2c3d4-...", "segments_used": 342}curl -X POST "https://api.lynxvizion.com/api/enterprise?action=askAgent" \ -H "Authorization: $LVZ_KEY" \ -H "Content-Type: application/json" \ -d '{"job_id": "a1b2c3d4-...", "query": "What are the key topics discussed?"}'