> ## Documentation Index
> Fetch the complete documentation index at: https://developer.opus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Programmatically initiate, execute, and monitor workflows with the Opus Job Operator API

## Overview

The Opus Job Operator API allows external applications to programmatically initiate, execute, and monitor any workflow managed by the Opus platform.

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:

```
https://operator.opus.com
```

## Authentication

All API endpoints require authentication using the `x-service-key` header.

```
x-service-key: <your_service_key>
```

<Note>
  Your API key is a unique, secret credential. Store it securely and never expose it in client-side code.
</Note>

## Job Execution Flow

The typical workflow for executing a job through the API follows these steps:

<Steps>
  <Step title="Get Workflow Schema">
    Retrieve the workflow's input schema using `GET /workflow/{workflow_id}` to understand what inputs are required.
  </Step>

  <Step title="Initiate Job">
    Create a new job instance using `POST /job/initiate` and receive a `jobExecutionId`.
  </Step>

  <Step title="Upload Files (if needed)">
    If your workflow requires file inputs, upload them using `POST /job/file/upload` and the presigned URL flow.
  </Step>

  <Step title="Execute Job">
    Run the workflow with your populated inputs using `POST /job/execute`.
  </Step>

  <Step title="Monitor Status">
    Check the job's progress using `GET /job/{jobExecutionId}/status`.
  </Step>

  <Step title="Retrieve Results">
    Once completed, fetch the results using `GET /job/{jobExecutionId}/results`.
  </Step>
</Steps>

## Available Endpoints

<CardGroup cols={2}>
  <Card title="Get Workflow Details" icon="diagram-project" href="/api-reference/jobs/get-workflow-details">
    Retrieve workflow schema and input requirements
  </Card>

  <Card title="Initiate Job" icon="play" href="/api-reference/jobs/initiate-job">
    Create a new job instance
  </Card>

  <Card title="Upload Files" icon="upload" href="/api-reference/jobs/upload-files">
    Upload files for workflow inputs
  </Card>

  <Card title="Execute Job" icon="rocket" href="/api-reference/jobs/execute-job">
    Run a workflow with populated inputs
  </Card>

  <Card title="Get Job Status" icon="spinner" href="/api-reference/jobs/get-job-status">
    Check job execution progress
  </Card>

  <Card title="Get Job Results" icon="check" href="/api-reference/jobs/get-job-results">
    Retrieve completed job outputs
  </Card>

  <Card title="Job Audit Log" icon="clock-rotate-left" href="/api-reference/jobs/job-audit-log">
    Access timestamped execution records
  </Card>
</CardGroup>
