Skip to main content

Overview

The Opus API allows external applications to programmatically generate workflows, run them as cases, and monitor and retrieve their results — entirely through the API. The API supports a full range of data inputs, including:
  • Text and numbers
  • Booleans and dates
  • Objects and lists
  • Single and multiple file uploads (max 10 MB per file)

Base URL

All API requests should be made to the following base URL:

Authentication

All API endpoints require authentication using the x-service-key header.
Your API key is a unique, secret credential. Store it securely and never expose it in client-side code.

Case Execution Flow

The typical flow for running a workflow through the API follows these steps:
1

Get Workflow Details

Retrieve the workflow’s input schema using GET /workflow/{workflowId} to understand what inputs are required. No workflow yet? Generate one from a prompt.
2

Initiate Case

Create a new case using POST /case and receive a caseId.
3

Upload Files (if needed)

If your workflow requires file inputs, upload them using POST /file/upload/presigned and the presigned URL flow.
4

Execute Case

Run the case with your populated inputs using POST /case/{caseId}/execute. Optionally pass a callbackUrl to be notified when the run finishes.
5

Monitor Status

Check the case’s progress using GET /case/{caseId}/status — or skip polling and wait for your callback.
6

Retrieve Results

Once completed, fetch the results using GET /case/{caseId}/results.

Available Endpoints

Generate Workflow

Create a workflow from a natural-language prompt

Get Workflow Details

Retrieve workflow schema and input requirements

Initiate Case

Create a new case for a workflow

Upload Files

Upload files for case inputs

Execute Case

Run a case with populated inputs

Get Case Status

Check case execution progress

Get Case Results

Retrieve completed case outputs

Case Audit Log

Access per-node execution records