curl --request POST \
--url https://flows.super.ai/api/human-review-tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"assigned_users": [
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
],
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"instructions": "Please review the document and verify all dates are correct."
}
'import requests
url = "https://flows.super.ai/api/human-review-tasks"
payload = {
"assigned_users": ["550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001"],
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"instructions": "Please review the document and verify all dates are correct."
}
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-Key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
assigned_users: ['550e8400-e29b-41d4-a716-446655440000', '660e8400-e29b-41d4-a716-446655440001'],
flow_execution_id: '550e8400-e29b-41d4-a716-446655440000',
source_task_execution_idx: 0,
source_task_name: 'process_document',
target_task_execution_idx: 0,
target_task_name: 'receive_file',
instructions: 'Please review the document and verify all dates are correct.'
})
};
fetch('https://flows.super.ai/api/human-review-tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/human-review-tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assigned_users' => [
'550e8400-e29b-41d4-a716-446655440000',
'660e8400-e29b-41d4-a716-446655440001'
],
'flow_execution_id' => '550e8400-e29b-41d4-a716-446655440000',
'source_task_execution_idx' => 0,
'source_task_name' => 'process_document',
'target_task_execution_idx' => 0,
'target_task_name' => 'receive_file',
'instructions' => 'Please review the document and verify all dates are correct.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/human-review-tasks"
payload := strings.NewReader("{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://flows.super.ai/api/human-review-tasks")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/human-review-tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modified_by": "<string>",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"status": "pending",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"updated_at": "2023-11-07T05:31:56Z",
"completed_at": "2024-01-01T00:00:00Z",
"completed_by": "550e8400-e29b-41d4-a716-446655440000",
"instructions": "Please review the document and verify all dates are correct.",
"review_result": true,
"reviewed_output": {
"comments": "All dates are correct.",
"verified": true
},
"task_metadata": {
"priority": "high",
"source": "api"
}
}Create a new human review task
Create a new human review task with assigned users.
Creates a new human review task and assigns it to the specified users. Both the task and assignments are created in a single transaction.
Context:
- The task is created with the provided flow and execution information
- All assigned users are linked to the task via assignments
- Organization ID is automatically set from the current user’s context
Use Cases:
- Create a review task for a flow execution
- Assign multiple reviewers to a task
- Track human review workflow state
Related Endpoints:
- GET /human-review-tasks - List all tasks
- GET /human-review-tasks/ - Get task details
curl --request POST \
--url https://flows.super.ai/api/human-review-tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"assigned_users": [
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
],
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"instructions": "Please review the document and verify all dates are correct."
}
'import requests
url = "https://flows.super.ai/api/human-review-tasks"
payload = {
"assigned_users": ["550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001"],
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"instructions": "Please review the document and verify all dates are correct."
}
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-Key': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
assigned_users: ['550e8400-e29b-41d4-a716-446655440000', '660e8400-e29b-41d4-a716-446655440001'],
flow_execution_id: '550e8400-e29b-41d4-a716-446655440000',
source_task_execution_idx: 0,
source_task_name: 'process_document',
target_task_execution_idx: 0,
target_task_name: 'receive_file',
instructions: 'Please review the document and verify all dates are correct.'
})
};
fetch('https://flows.super.ai/api/human-review-tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flows.super.ai/api/human-review-tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assigned_users' => [
'550e8400-e29b-41d4-a716-446655440000',
'660e8400-e29b-41d4-a716-446655440001'
],
'flow_execution_id' => '550e8400-e29b-41d4-a716-446655440000',
'source_task_execution_idx' => 0,
'source_task_name' => 'process_document',
'target_task_execution_idx' => 0,
'target_task_name' => 'receive_file',
'instructions' => 'Please review the document and verify all dates are correct.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flows.super.ai/api/human-review-tasks"
payload := strings.NewReader("{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://flows.super.ai/api/human-review-tasks")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/human-review-tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assigned_users\": [\n \"550e8400-e29b-41d4-a716-446655440000\",\n \"660e8400-e29b-41d4-a716-446655440001\"\n ],\n \"flow_execution_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"source_task_execution_idx\": 0,\n \"source_task_name\": \"process_document\",\n \"target_task_execution_idx\": 0,\n \"target_task_name\": \"receive_file\",\n \"instructions\": \"Please review the document and verify all dates are correct.\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"flow_execution_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modified_by": "<string>",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"source_task_execution_idx": 0,
"source_task_name": "process_document",
"status": "pending",
"target_task_execution_idx": 0,
"target_task_name": "receive_file",
"updated_at": "2023-11-07T05:31:56Z",
"completed_at": "2024-01-01T00:00:00Z",
"completed_by": "550e8400-e29b-41d4-a716-446655440000",
"instructions": "Please review the document and verify all dates are correct.",
"review_result": true,
"reviewed_output": {
"comments": "All dates are correct.",
"verified": true
},
"task_metadata": {
"priority": "high",
"source": "api"
}
}Authorizations
API key authentication. Include your API key in the X-API-Key header as: X-API-Key YOUR_API_KEY
Example:
X-API-Key: saf_1234567890
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Body
Request payload for creating a new human review task.
List of user UUIDs to assign to this task.
[
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
]
UUID of the flow execution this task is associated with.
"550e8400-e29b-41d4-a716-446655440000"
Index of the source task execution.
0
Name of the source task that created this review.
"process_document"
Index of the target task execution.
0
Name of the target task being reviewed.
"receive_file"
Instructions for the human reviewer on how to complete this task.
"Please review the document and verify all dates are correct."
Response
Human review task created successfully
Response model for human review task operations.
UUID of the flow execution this task is associated with.
"550e8400-e29b-41d4-a716-446655440000"
UUID of the organization this task belongs to.
"550e8400-e29b-41d4-a716-446655440000"
Index of the source task execution that created this review.
0
Name of the source task that created this review.
"process_document"
Status of the task. Valid values: 'pending', 'in_progress', 'completed'.
"pending"
Index of the target task execution.
0
Name of the target task being reviewed.
"receive_file"
Timestamp when the task was completed. Null for not completed tasks.
"2024-01-01T00:00:00Z"
UUID of the user who completed this task. Null for not completed tasks.
"550e8400-e29b-41d4-a716-446655440000"
Instructions for the human reviewer on how to complete this task.
"Please review the document and verify all dates are correct."
Review result: True for correct, False for incorrect, null for not yet finished.
true
JSON output of the completed review. Null for not yet completed tasks.
{
"comments": "All dates are correct.",
"verified": true
}
Additional metadata associated with the human review task.
{ "priority": "high", "source": "api" }