curl --request POST \
--url https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create \
--header 'Content-Type: multipart/form-data' \
--header 'x-ti-app-id: <api-key>' \
--header 'x-ti-secret-code: <api-key>' \
--form workspace_id=1234567890 \
--form name=Invoice \
--form extract_model=Acgpt \
--form 'sample_files=<string>' \
--form 'fields={
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}' \
--form 'category_prompt=VAT invoice, including fields such as invoice code, invoice number, etc.' \
--form 'description=<string>' \
--form 'tables={
"name": "Detail Table",
"prompt": "<string>",
"collect_from_multi_table": true,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}
]
}' \
--form with_detail=true \
--form sample_files.items='@example-file'import requests
url = "https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create"
files = { "sample_files.items": ("example-file", open("example-file", "rb")) }
payload = {
"workspace_id": "1234567890",
"name": "Invoice",
"extract_model": "Acgpt",
"sample_files": "<string>",
"fields": "{
\"name\": \"Invoice Code\",
\"description\": \"Invoice code description\",
\"prompt\": \"<string>\",
\"use_prompt\": true,
\"alias\": [
\"Invoice No.\",
\"Bill Number\"
],
\"identity\": \"invoice_number\",
\"multi_value\": true,
\"duplicate_value_distinct\": true,
\"transform_settings\": {
\"datetime_settings\": {
\"format\": \"yyyy-MM-dd\"
},
\"enumerate_settings\": {
\"items\": [
\"VAT Special Invoice\",
\"VAT General Invoice\",
\"Electronic Invoice\"
]
},
\"regex_settings\": {
\"match\": \"^(\\d{4})-(\\d{2})-(\\d{2})$\",
\"replace\": \"$1/$2/$3\"
},
\"mismatch_action\": {
\"default_value\": \"N/A\"
}
}
}",
"category_prompt": "VAT invoice, including fields such as invoice code, invoice number, etc.",
"description": "<string>",
"tables": "{
\"name\": \"Detail Table\",
\"prompt\": \"<string>\",
\"collect_from_multi_table\": true,
\"fields\": [
{
\"name\": \"Invoice Code\",
\"description\": \"Invoice code description\",
\"prompt\": \"<string>\",
\"use_prompt\": true,
\"alias\": [
\"Invoice No.\",
\"Bill Number\"
],
\"identity\": \"invoice_number\",
\"multi_value\": true,
\"duplicate_value_distinct\": true,
\"transform_settings\": {
\"datetime_settings\": {
\"format\": \"yyyy-MM-dd\"
},
\"enumerate_settings\": {
\"items\": [
\"VAT Special Invoice\",
\"VAT General Invoice\",
\"Electronic Invoice\"
]
},
\"regex_settings\": {
\"match\": \"^(\\d{4})-(\\d{2})-(\\d{2})$\",
\"replace\": \"$1/$2/$3\"
},
\"mismatch_action\": {
\"default_value\": \"N/A\"
}
}
}
]
}",
"with_detail": "true"
}
headers = {
"x-ti-app-id": "<api-key>",
"x-ti-secret-code": "<api-key>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('workspace_id', '1234567890');
form.append('name', 'Invoice');
form.append('extract_model', 'Acgpt');
form.append('sample_files', '<string>');
form.append('fields', '{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}');
form.append('category_prompt', 'VAT invoice, including fields such as invoice code, invoice number, etc.');
form.append('description', '<string>');
form.append('tables', '{
"name": "Detail Table",
"prompt": "<string>",
"collect_from_multi_table": true,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}
]
}');
form.append('with_detail', 'true');
form.append('sample_files.items', '{
"fileName": "example-file"
}');
const options = {
method: 'POST',
headers: {'x-ti-app-id': '<api-key>', 'x-ti-secret-code': '<api-key>'}
};
options.body = form;
fetch('https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create', 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://docflow.textin.ai/api/app-api/sip/platform/v2/category/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"x-ti-app-id: <api-key>",
"x-ti-secret-code: <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://docflow.textin.ai/api/app-api/sip/platform/v2/category/create"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-ti-app-id", "<api-key>")
req.Header.Add("x-ti-secret-code", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create")
.header("x-ti-app-id", "<api-key>")
.header("x-ti-secret-code", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-ti-app-id"] = '<api-key>'
request["x-ti-secret-code"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "<string>",
"result": {
"category_id": "1234567890",
"name": "<string>",
"description": "<string>",
"category_prompt": "<string>",
"extract_model": "<string>",
"enabled": 123,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
},
"id": "1234567890",
"extract_model": "Acgpt"
}
],
"tables": [
{
"id": "1234567890",
"name": "Table 1",
"description": "Table description",
"prompt": "Extract item name, quantity and amount from each row",
"collect_from_multi_table": true,
"extract_model": "Acgpt",
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
},
"id": "1234567890",
"extract_model": "Acgpt"
}
]
}
],
"samples": [
{
"sample_id": "1234567890",
"file_name": "invoice_sample.pdf"
}
]
}
}Create File Category
Create a new file category in the specified workspace, requiring at least one sample file and at least one field configuration.
Supports one-stop creation: you can pass the tables parameter to create tables with nested fields simultaneously.
curl --request POST \
--url https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create \
--header 'Content-Type: multipart/form-data' \
--header 'x-ti-app-id: <api-key>' \
--header 'x-ti-secret-code: <api-key>' \
--form workspace_id=1234567890 \
--form name=Invoice \
--form extract_model=Acgpt \
--form 'sample_files=<string>' \
--form 'fields={
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}' \
--form 'category_prompt=VAT invoice, including fields such as invoice code, invoice number, etc.' \
--form 'description=<string>' \
--form 'tables={
"name": "Detail Table",
"prompt": "<string>",
"collect_from_multi_table": true,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}
]
}' \
--form with_detail=true \
--form sample_files.items='@example-file'import requests
url = "https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create"
files = { "sample_files.items": ("example-file", open("example-file", "rb")) }
payload = {
"workspace_id": "1234567890",
"name": "Invoice",
"extract_model": "Acgpt",
"sample_files": "<string>",
"fields": "{
\"name\": \"Invoice Code\",
\"description\": \"Invoice code description\",
\"prompt\": \"<string>\",
\"use_prompt\": true,
\"alias\": [
\"Invoice No.\",
\"Bill Number\"
],
\"identity\": \"invoice_number\",
\"multi_value\": true,
\"duplicate_value_distinct\": true,
\"transform_settings\": {
\"datetime_settings\": {
\"format\": \"yyyy-MM-dd\"
},
\"enumerate_settings\": {
\"items\": [
\"VAT Special Invoice\",
\"VAT General Invoice\",
\"Electronic Invoice\"
]
},
\"regex_settings\": {
\"match\": \"^(\\d{4})-(\\d{2})-(\\d{2})$\",
\"replace\": \"$1/$2/$3\"
},
\"mismatch_action\": {
\"default_value\": \"N/A\"
}
}
}",
"category_prompt": "VAT invoice, including fields such as invoice code, invoice number, etc.",
"description": "<string>",
"tables": "{
\"name\": \"Detail Table\",
\"prompt\": \"<string>\",
\"collect_from_multi_table\": true,
\"fields\": [
{
\"name\": \"Invoice Code\",
\"description\": \"Invoice code description\",
\"prompt\": \"<string>\",
\"use_prompt\": true,
\"alias\": [
\"Invoice No.\",
\"Bill Number\"
],
\"identity\": \"invoice_number\",
\"multi_value\": true,
\"duplicate_value_distinct\": true,
\"transform_settings\": {
\"datetime_settings\": {
\"format\": \"yyyy-MM-dd\"
},
\"enumerate_settings\": {
\"items\": [
\"VAT Special Invoice\",
\"VAT General Invoice\",
\"Electronic Invoice\"
]
},
\"regex_settings\": {
\"match\": \"^(\\d{4})-(\\d{2})-(\\d{2})$\",
\"replace\": \"$1/$2/$3\"
},
\"mismatch_action\": {
\"default_value\": \"N/A\"
}
}
}
]
}",
"with_detail": "true"
}
headers = {
"x-ti-app-id": "<api-key>",
"x-ti-secret-code": "<api-key>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('workspace_id', '1234567890');
form.append('name', 'Invoice');
form.append('extract_model', 'Acgpt');
form.append('sample_files', '<string>');
form.append('fields', '{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}');
form.append('category_prompt', 'VAT invoice, including fields such as invoice code, invoice number, etc.');
form.append('description', '<string>');
form.append('tables', '{
"name": "Detail Table",
"prompt": "<string>",
"collect_from_multi_table": true,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
}
}
]
}');
form.append('with_detail', 'true');
form.append('sample_files.items', '{
"fileName": "example-file"
}');
const options = {
method: 'POST',
headers: {'x-ti-app-id': '<api-key>', 'x-ti-secret-code': '<api-key>'}
};
options.body = form;
fetch('https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create', 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://docflow.textin.ai/api/app-api/sip/platform/v2/category/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"x-ti-app-id: <api-key>",
"x-ti-secret-code: <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://docflow.textin.ai/api/app-api/sip/platform/v2/category/create"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-ti-app-id", "<api-key>")
req.Header.Add("x-ti-secret-code", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create")
.header("x-ti-app-id", "<api-key>")
.header("x-ti-secret-code", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://docflow.textin.ai/api/app-api/sip/platform/v2/category/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-ti-app-id"] = '<api-key>'
request["x-ti-secret-code"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"workspace_id\"\r\n\r\n1234567890\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nInvoice\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"extract_model\"\r\n\r\nAcgpt\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"fields\"\r\n\r\n{\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category_prompt\"\r\n\r\nVAT invoice, including fields such as invoice code, invoice number, etc.\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tables\"\r\n\r\n{\r\n \"name\": \"Detail Table\",\r\n \"prompt\": \"<string>\",\r\n \"collect_from_multi_table\": true,\r\n \"fields\": [\r\n {\r\n \"name\": \"Invoice Code\",\r\n \"description\": \"Invoice code description\",\r\n \"prompt\": \"<string>\",\r\n \"use_prompt\": true,\r\n \"alias\": [\r\n \"Invoice No.\",\r\n \"Bill Number\"\r\n ],\r\n \"identity\": \"invoice_number\",\r\n \"multi_value\": true,\r\n \"duplicate_value_distinct\": true,\r\n \"transform_settings\": {\r\n \"datetime_settings\": {\r\n \"format\": \"yyyy-MM-dd\"\r\n },\r\n \"enumerate_settings\": {\r\n \"items\": [\r\n \"VAT Special Invoice\",\r\n \"VAT General Invoice\",\r\n \"Electronic Invoice\"\r\n ]\r\n },\r\n \"regex_settings\": {\r\n \"match\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})$\",\r\n \"replace\": \"$1/$2/$3\"\r\n },\r\n \"mismatch_action\": {\r\n \"default_value\": \"N/A\"\r\n }\r\n }\r\n }\r\n ]\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"with_detail\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sample_files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "<string>",
"result": {
"category_id": "1234567890",
"name": "<string>",
"description": "<string>",
"category_prompt": "<string>",
"extract_model": "<string>",
"enabled": 123,
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
},
"id": "1234567890",
"extract_model": "Acgpt"
}
],
"tables": [
{
"id": "1234567890",
"name": "Table 1",
"description": "Table description",
"prompt": "Extract item name, quantity and amount from each row",
"collect_from_multi_table": true,
"extract_model": "Acgpt",
"fields": [
{
"name": "Invoice Code",
"description": "Invoice code description",
"prompt": "<string>",
"use_prompt": true,
"alias": [
"Invoice No.",
"Bill Number"
],
"identity": "invoice_number",
"multi_value": true,
"duplicate_value_distinct": true,
"transform_settings": {
"datetime_settings": {
"format": "yyyy-MM-dd"
},
"enumerate_settings": {
"items": [
"VAT Special Invoice",
"VAT General Invoice",
"Electronic Invoice"
]
},
"regex_settings": {
"match": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"replace": "$1/$2/$3"
},
"mismatch_action": {
"default_value": "N/A"
}
},
"id": "1234567890",
"extract_model": "Acgpt"
}
]
}
],
"samples": [
{
"sample_id": "1234567890",
"file_name": "invoice_sample.pdf"
}
]
}
}Body
Workspace ID
"1234567890"
File category name
50"Invoice"
Extraction model
- Auto: Automatically matches the extraction model
- Acgpt: Fast speed with stable extraction results
- Acgpt-VL: VLM, suitable for simple extraction (≤10 pages)
- DF-M1: Suitable for complex document understanding
Auto, Acgpt, Acgpt-VL, DF-M1 "Acgpt"
Sample file list, at least one sample file must be uploaded, a category can have at most 20 sample files
1 - 10 elementsField configuration list, at least one field must be configured
1Show child attributes
Show child attributes
Prompt for classification
150"VAT invoice, including fields such as invoice code, invoice number, etc."
File category description
Optional, table configuration list (one-stop creation), supports nested fields
Show child attributes
Show child attributes
Whether to return full details. When true, the response includes complete category info (with fields, tables, samples). When not set or false, only category_id is returned.

