opus-00-get-workflow-details.md•7.1 kB
# Get Workflow Details & Schema
**GET** /workflow/{workflow_Id}
Before you can execute a job, you must know what inputs it expects. This endpoint provides the exact schema for all required inputs for a workflow with a given `workflow_id`.
The response is a large JSON object containing the workflow's name, description, blueprint, and, most importantly, the `jobPayloadSchema`.
---
## Parameters
**workflowId** *required* `string` _(path)_
- ID of the workflow to retrieve details for
**Headers**
- x-service-key: `<your_service_key>`
---
## Responses
**Code**: `200`
**Media Type**: `application/json` *Controls accept header
### Example response:
```json
{
"createdAt": "2023-10-05T14:48:00.000Z",
"workflowId": "workflow-123",
"name": "workflow-123",
"description": "workflow-123",
"industry": "workflow-123",
"active": true,
"workflowBlueprint": {
"id": "blueprint-123",
"name": "My Workflow Blueprint",
"objective": "To automate a specific process",
"description": "This blueprint defines the workflow process.",
"input": {
"description": "This is a workflow IO description.",
"inputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
],
"outputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
]
},
"output": {
"description": "This is a workflow IO description.",
"inputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
],
"outputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
]
},
"process": {
"description": "This is a workflow IO description.",
"inputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
],
"outputItems": [
{
"description": "This is a workflow item description.",
"workflowInputItemClassificationTags": [
"tag1",
"tag2"
],
"workflowOutputItemClassificationTags": [
"tag3",
"tag4"
]
}
]
},
"requiredSteps": [
{
"stepNumber": 1,
"input": "input-data",
"output": "output-data",
"objective": "Achieve a specific goal",
"description": "This step processes the input data.",
"constraint": "Must be completed within 2 hours",
"workflowStepClassificationTags": [
"step-tag1",
"step-tag2"
]
}
],
"workflowClassificationTags": [
"classification-tag1",
"classification-tag2"
],
"dataSets": [
"dataset1",
"dataset2"
],
"embeddingText": "Embedding text example",
"generationMarker": {
"key": "value"
},
"industry": "finance",
"country": "USA",
"storageMarker": {
"key": "value"
}
},
"executionEstimation": {
"humanCost": 100.5,
"humanPrice": 150.75,
"opusCost": 50.25,
"opusPrice": 75.5,
"humanTime": 2.5,
"opusTime": 1.2,
"accuracy": 95
},
"workflowImage": "https://example.com/workflow-image.png",
"jobPayloadSchema": {},
"jobResultsPayloadSchema": {
"additionalProp1": {}
}
}
```
---
## jobPayloadSchema Example
From the above schema, the `jobPayloadSchema` object defines all workflow inputs, their unique variable names (e.g., `workflow_input_we4tej0ly`), and their data types (e.g., str, file, bool).
You will use this exact structure to build your job execution request to Opus.
Example `jobPayloadSchema` from a `GET /workflow/{id}` response:
```json
{
"jobPayloadSchema": {
"workflow_input_we4tej0ly": {
"id": "we4tej0ly",
"variable_name": "workflow_input_we4tej0ly",
"display_name": "TextInput",
"type": "str",
"is_nullable": false
},
"workflow_input_a0hk6ujuo": {
"id": "a0hk6ujuo",
"variable_name": "workflow_input_a0hk6ujuo",
"display_name": "NumberInput",
"type": "float",
"is_nullable": false
},
"workflow_input_h69vx5i4a": {
"id": "h69vx5i4a",
"variable_name": "workflow_input_h69vx5i4a",
"display_name": "FileInput(Single)",
"type": "file",
"is_nullable": false,
"tags": [
{
"variable_name": "allowed_file_types",
"value": [ "JPEG", "PNG", "JPG", "PDF" ]
}
]
},
"workflow_input_m2z6rkzgj": {
"id": "m2z6rkzgj",
"variable_name": "workflow_input_m2z6rkzgj",
"display_name": "BoolInput",
"type": "bool",
"is_nullable": false
},
"workflow_input_2kbsjrx1y": {
"id": "2kbsjrx1y",
"variable_name": "workflow_input_2kbsjrx1y",
"display_name": "ListInput",
"type": "array",
"is_nullable": false
},
"workflow_input_bzti690ga": {
"id": "bzti690ga",
"variable_name": "workflow_input_bzti690ga",
"display_name": "ObjectInput",
"type": "object",
"is_nullable": false
},
"workflow_input_k3ayfjyh7": {
"id": "k3ayfjyh7",
"variable_name": "workflow_input_k3ayfjyh7",
"display_name": "DateInput",
"type": "date",
"is_nullable": false
},
"workflow_input_auqgnzk8d": {
"id": "auqgnzk8d",
"variable_name": "workflow_input_auqgnzk8d",
"display_name": "FileInput(Multiple)",
"type": "array_files",
"is_nullable": false,
"tags": [
{
"variable_name": "allowed_file_types",
"value": [ "JPEG", "PNG", "JPG", "PDF" ]
}
]
}
}
}
```