Update collaboration result
curl --request POST \
--url https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"file_task_id": "collaboration_task_id",
"collaboration_result": [
{
"field_name": "Invoice number",
"field_type": "string",
"field_values": [
"CORRECTED-002"
]
},
{
"field_name": "Line items",
"field_type": "table",
"table_values": [
[
{
"field_name": "Item name",
"field_values": [
{
"field_value": "Corrected item",
"references": []
}
],
"field_key": "Item name"
},
{
"field_name": "Quantity",
"field_values": [
{
"field_value": "3",
"references": []
}
],
"field_key": "Quantity"
}
]
]
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_task_id: 'collaboration_task_id',
collaboration_result: [
{
field_name: 'Invoice number',
field_type: 'string',
field_values: ['CORRECTED-002']
},
{
field_name: 'Line items',
field_type: 'table',
table_values: [
[
{
field_name: 'Item name',
field_values: [{field_value: 'Corrected item', references: []}],
field_key: 'Item name'
},
{
field_name: 'Quantity',
field_values: [{field_value: '3', references: []}],
field_key: 'Quantity'
}
]
]
}
]
})
};
fetch('https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update"
payload = {
"file_task_id": "collaboration_task_id",
"collaboration_result": [
{
"field_name": "Invoice number",
"field_type": "string",
"field_values": ["CORRECTED-002"]
},
{
"field_name": "Line items",
"field_type": "table",
"table_values": [[
{
"field_name": "Item name",
"field_values": [
{
"field_value": "Corrected item",
"references": []
}
],
"field_key": "Item name"
},
{
"field_name": "Quantity",
"field_values": [
{
"field_value": "3",
"references": []
}
],
"field_key": "Quantity"
}
]]
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.post("https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}")
.asString();const url = 'https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_task_id: 'collaboration_task_id',
collaboration_result: [
{
field_name: 'Invoice number',
field_type: 'string',
field_values: ['CORRECTED-002']
},
{
field_name: 'Line items',
field_type: 'table',
table_values: [
[
{
field_name: 'Item name',
field_values: [{field_value: 'Corrected item', references: []}],
field_key: 'Item name'
},
{
field_name: 'Quantity',
field_values: [{field_value: '3', references: []}],
field_key: 'Quantity'
}
]
]
}
]
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update"
payload := strings.NewReader("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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))
}using RestSharp;
var options = new RestClientOptions("https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update",
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([
'file_task_id' => 'collaboration_task_id',
'collaboration_result' => [
[
'field_name' => 'Invoice number',
'field_type' => 'string',
'field_values' => [
'CORRECTED-002'
]
],
[
'field_name' => 'Line items',
'field_type' => 'table',
'table_values' => [
[
[
'field_name' => 'Item name',
'field_values' => [
[
'field_value' => 'Corrected item',
'references' => [
]
]
],
'field_key' => 'Item name'
],
[
'field_name' => 'Quantity',
'field_values' => [
[
'field_value' => '3',
'references' => [
]
]
],
'field_key' => 'Quantity'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"file_status": 4
}
}{
"detail": [
{
"type": "greater_than",
"loc": [
"query",
"limit"
],
"msg": "Input should be greater than 0",
"input": 0,
"ctx": {
"gt": 0
}
}
]
}Human collaboration
Update collaboration result
Submit corrections for a pending collaboration task and complete review.
POST
/
open
/
agentic_doc_processor
/
{tenant_name}
/
v1
/
collaboration
/
result
/
update
Update collaboration result
curl --request POST \
--url https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"file_task_id": "collaboration_task_id",
"collaboration_result": [
{
"field_name": "Invoice number",
"field_type": "string",
"field_values": [
"CORRECTED-002"
]
},
{
"field_name": "Line items",
"field_type": "table",
"table_values": [
[
{
"field_name": "Item name",
"field_values": [
{
"field_value": "Corrected item",
"references": []
}
],
"field_key": "Item name"
},
{
"field_name": "Quantity",
"field_values": [
{
"field_value": "3",
"references": []
}
],
"field_key": "Quantity"
}
]
]
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_task_id: 'collaboration_task_id',
collaboration_result: [
{
field_name: 'Invoice number',
field_type: 'string',
field_values: ['CORRECTED-002']
},
{
field_name: 'Line items',
field_type: 'table',
table_values: [
[
{
field_name: 'Item name',
field_values: [{field_value: 'Corrected item', references: []}],
field_key: 'Item name'
},
{
field_name: 'Quantity',
field_values: [{field_value: '3', references: []}],
field_key: 'Quantity'
}
]
]
}
]
})
};
fetch('https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update"
payload = {
"file_task_id": "collaboration_task_id",
"collaboration_result": [
{
"field_name": "Invoice number",
"field_type": "string",
"field_values": ["CORRECTED-002"]
},
{
"field_name": "Line items",
"field_type": "table",
"table_values": [[
{
"field_name": "Item name",
"field_values": [
{
"field_value": "Corrected item",
"references": []
}
],
"field_key": "Item name"
},
{
"field_name": "Quantity",
"field_values": [
{
"field_value": "3",
"references": []
}
],
"field_key": "Quantity"
}
]]
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.post("https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}")
.asString();const url = 'https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update';
const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_task_id: 'collaboration_task_id',
collaboration_result: [
{
field_name: 'Invoice number',
field_type: 'string',
field_values: ['CORRECTED-002']
},
{
field_name: 'Line items',
field_type: 'table',
table_values: [
[
{
field_name: 'Item name',
field_values: [{field_value: 'Corrected item', references: []}],
field_key: 'Item name'
},
{
field_name: 'Quantity',
field_values: [{field_value: '3', references: []}],
field_key: 'Quantity'
}
]
]
}
]
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update"
payload := strings.NewReader("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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))
}using RestSharp;
var options = new RestClientOptions("https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-KEY", "<api-key>");
request.AddJsonBody("{\n \"file_task_id\": \"collaboration_task_id\",\n \"collaboration_result\": [\n {\n \"field_name\": \"Invoice number\",\n \"field_type\": \"string\",\n \"field_values\": [\n \"CORRECTED-002\"\n ]\n },\n {\n \"field_name\": \"Line items\",\n \"field_type\": \"table\",\n \"table_values\": [\n [\n {\n \"field_name\": \"Item name\",\n \"field_values\": [\n {\n \"field_value\": \"Corrected item\",\n \"references\": []\n }\n ],\n \"field_key\": \"Item name\"\n },\n {\n \"field_name\": \"Quantity\",\n \"field_values\": [\n {\n \"field_value\": \"3\",\n \"references\": []\n }\n ],\n \"field_key\": \"Quantity\"\n }\n ]\n ]\n }\n ]\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adp-global.laiye.com/open/agentic_doc_processor/{tenant_name}/v1/collaboration/result/update",
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([
'file_task_id' => 'collaboration_task_id',
'collaboration_result' => [
[
'field_name' => 'Invoice number',
'field_type' => 'string',
'field_values' => [
'CORRECTED-002'
]
],
[
'field_name' => 'Line items',
'field_type' => 'table',
'table_values' => [
[
[
'field_name' => 'Item name',
'field_values' => [
[
'field_value' => 'Corrected item',
'references' => [
]
]
],
'field_key' => 'Item name'
],
[
'field_name' => 'Quantity',
'field_values' => [
[
'field_value' => '3',
'references' => [
]
]
],
'field_key' => 'Quantity'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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;
}{
"code": "success",
"message": "",
"tips": null,
"data": {
"file_status": 4
}
}{
"detail": [
{
"type": "greater_than",
"loc": [
"query",
"limit"
],
"msg": "Input should be greater than 0",
"input": 0,
"ctx": {
"gt": 0
}
}
]
}Submit only when
task_state=2. Use the collaboration task id as file_task_id. See Human collaboration for ordinary fields, table structure, and verification after submission.Authorizations
Production API Key. You can find it under My API in the ADP platform. Make sure the API Key is active and belongs to the production environment.
Path Parameters
Tenant name. Default: laiye.
Body
application/json
Collaboration task primary ID: data.metadata.collaboration_task_id from asynchronous extraction or data.id from task details. This is not task_number, the extraction task_id, or data_id.
Existing fields to confirm or correct. Submit valid fields with explicit values only for a task in task_state=2. Submission completes the task.
Show child attributes
Show child attributes
Response
Business response. Check code and read business state back after writes.