curl --request POST \
--url https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"uploadId": "2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ",
"key": "uploads/data/20240301-143022-uuid.json",
"parts": [
{
"partNumber": 1,
"etag": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"name": "sales-data-2024.csv",
"infer": {
"steps": [
{
"type": "table",
"deriveFrom": "<string>",
"additionalInstructions": "This text contains a table comma separated, but instead of line breaks we are using a ';'.",
"model": "<string>",
"provider": "<string>",
"replaceOriginalColumn": false
}
]
},
"link": {
"ExactMatch": {
"minDistinct": 123,
"minVariation": 123
},
"GeoMatch": {
"distance": 123,
"distanceUnit": "<string>"
}
},
"inferBatchSize": 100,
"dataDescription": "Employee dataset containing demographics and compensation.",
"schemaDefinition": {
"id": "unique employee identifier",
"name": "full employee name",
"age": "employee age in years",
"department": "work department",
"salary": "annual salary in USD"
}
}
EOFimport requests
url = "https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish"
payload = {
"uploadId": "2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ",
"key": "uploads/data/20240301-143022-uuid.json",
"parts": [
{
"partNumber": 1,
"etag": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"name": "sales-data-2024.csv",
"infer": { "steps": [
{
"type": "table",
"deriveFrom": "<string>",
"additionalInstructions": "This text contains a table comma separated, but instead of line breaks we are using a ';'.",
"model": "<string>",
"provider": "<string>",
"replaceOriginalColumn": False
}
] },
"link": {
"ExactMatch": {
"minDistinct": 123,
"minVariation": 123
},
"GeoMatch": {
"distance": 123,
"distanceUnit": "<string>"
}
},
"inferBatchSize": 100,
"dataDescription": "Employee dataset containing demographics and compensation.",
"schemaDefinition": {
"id": "unique employee identifier",
"name": "full employee name",
"age": "employee age in years",
"department": "work department",
"salary": "annual salary in USD"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uploadId: '2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ',
key: 'uploads/data/20240301-143022-uuid.json',
parts: [{partNumber: 1, etag: 'd41d8cd98f00b204e9800998ecf8427e'}],
name: 'sales-data-2024.csv',
infer: {
steps: [
{
type: 'table',
deriveFrom: '<string>',
additionalInstructions: 'This text contains a table comma separated, but instead of line breaks we are using a \';\'.',
model: '<string>',
provider: '<string>',
replaceOriginalColumn: false
}
]
},
link: {
ExactMatch: {minDistinct: 123, minVariation: 123},
GeoMatch: {distance: 123, distanceUnit: '<string>'}
},
inferBatchSize: 100,
dataDescription: 'Employee dataset containing demographics and compensation.',
schemaDefinition: {
id: 'unique employee identifier',
name: 'full employee name',
age: 'employee age in years',
department: 'work department',
salary: 'annual salary in USD'
}
})
};
fetch('https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish', 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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish",
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([
'uploadId' => '2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ',
'key' => 'uploads/data/20240301-143022-uuid.json',
'parts' => [
[
'partNumber' => 1,
'etag' => 'd41d8cd98f00b204e9800998ecf8427e'
]
],
'name' => 'sales-data-2024.csv',
'infer' => [
'steps' => [
[
'type' => 'table',
'deriveFrom' => '<string>',
'additionalInstructions' => 'This text contains a table comma separated, but instead of line breaks we are using a \';\'.',
'model' => '<string>',
'provider' => '<string>',
'replaceOriginalColumn' => false
]
]
],
'link' => [
'ExactMatch' => [
'minDistinct' => 123,
'minVariation' => 123
],
'GeoMatch' => [
'distance' => 123,
'distanceUnit' => '<string>'
]
],
'inferBatchSize' => 100,
'dataDescription' => 'Employee dataset containing demographics and compensation.',
'schemaDefinition' => [
'id' => 'unique employee identifier',
'name' => 'full employee name',
'age' => 'employee age in years',
'department' => 'work department',
'salary' => 'annual salary in USD'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish"
payload := strings.NewReader("{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000"
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}Finish multipart upload
Finish a multipart upload by providing all part ETags.
curl --request POST \
--url https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"uploadId": "2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ",
"key": "uploads/data/20240301-143022-uuid.json",
"parts": [
{
"partNumber": 1,
"etag": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"name": "sales-data-2024.csv",
"infer": {
"steps": [
{
"type": "table",
"deriveFrom": "<string>",
"additionalInstructions": "This text contains a table comma separated, but instead of line breaks we are using a ';'.",
"model": "<string>",
"provider": "<string>",
"replaceOriginalColumn": false
}
]
},
"link": {
"ExactMatch": {
"minDistinct": 123,
"minVariation": 123
},
"GeoMatch": {
"distance": 123,
"distanceUnit": "<string>"
}
},
"inferBatchSize": 100,
"dataDescription": "Employee dataset containing demographics and compensation.",
"schemaDefinition": {
"id": "unique employee identifier",
"name": "full employee name",
"age": "employee age in years",
"department": "work department",
"salary": "annual salary in USD"
}
}
EOFimport requests
url = "https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish"
payload = {
"uploadId": "2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ",
"key": "uploads/data/20240301-143022-uuid.json",
"parts": [
{
"partNumber": 1,
"etag": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"name": "sales-data-2024.csv",
"infer": { "steps": [
{
"type": "table",
"deriveFrom": "<string>",
"additionalInstructions": "This text contains a table comma separated, but instead of line breaks we are using a ';'.",
"model": "<string>",
"provider": "<string>",
"replaceOriginalColumn": False
}
] },
"link": {
"ExactMatch": {
"minDistinct": 123,
"minVariation": 123
},
"GeoMatch": {
"distance": 123,
"distanceUnit": "<string>"
}
},
"inferBatchSize": 100,
"dataDescription": "Employee dataset containing demographics and compensation.",
"schemaDefinition": {
"id": "unique employee identifier",
"name": "full employee name",
"age": "employee age in years",
"department": "work department",
"salary": "annual salary in USD"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uploadId: '2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ',
key: 'uploads/data/20240301-143022-uuid.json',
parts: [{partNumber: 1, etag: 'd41d8cd98f00b204e9800998ecf8427e'}],
name: 'sales-data-2024.csv',
infer: {
steps: [
{
type: 'table',
deriveFrom: '<string>',
additionalInstructions: 'This text contains a table comma separated, but instead of line breaks we are using a \';\'.',
model: '<string>',
provider: '<string>',
replaceOriginalColumn: false
}
]
},
link: {
ExactMatch: {minDistinct: 123, minVariation: 123},
GeoMatch: {distance: 123, distanceUnit: '<string>'}
},
inferBatchSize: 100,
dataDescription: 'Employee dataset containing demographics and compensation.',
schemaDefinition: {
id: 'unique employee identifier',
name: 'full employee name',
age: 'employee age in years',
department: 'work department',
salary: 'annual salary in USD'
}
})
};
fetch('https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish', 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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish",
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([
'uploadId' => '2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ',
'key' => 'uploads/data/20240301-143022-uuid.json',
'parts' => [
[
'partNumber' => 1,
'etag' => 'd41d8cd98f00b204e9800998ecf8427e'
]
],
'name' => 'sales-data-2024.csv',
'infer' => [
'steps' => [
[
'type' => 'table',
'deriveFrom' => '<string>',
'additionalInstructions' => 'This text contains a table comma separated, but instead of line breaks we are using a \';\'.',
'model' => '<string>',
'provider' => '<string>',
'replaceOriginalColumn' => false
]
]
],
'link' => [
'ExactMatch' => [
'minDistinct' => 123,
'minVariation' => 123
],
'GeoMatch' => [
'distance' => 123,
'distanceUnit' => '<string>'
]
],
'inferBatchSize' => 100,
'dataDescription' => 'Employee dataset containing demographics and compensation.',
'schemaDefinition' => [
'id' => 'unique employee identifier',
'name' => 'full employee name',
'age' => 'employee age in years',
'department' => 'work department',
'salary' => 'annual salary in USD'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish"
payload := strings.NewReader("{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datalinks.com/api/v1/upload/multipart/{username}/{namespace}/{datasetName}/finish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uploadId\": \"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ\",\n \"key\": \"uploads/data/20240301-143022-uuid.json\",\n \"parts\": [\n {\n \"partNumber\": 1,\n \"etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n }\n ],\n \"name\": \"sales-data-2024.csv\",\n \"infer\": {\n \"steps\": [\n {\n \"type\": \"table\",\n \"deriveFrom\": \"<string>\",\n \"additionalInstructions\": \"This text contains a table comma separated, but instead of line breaks we are using a ';'.\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"replaceOriginalColumn\": false\n }\n ]\n },\n \"link\": {\n \"ExactMatch\": {\n \"minDistinct\": 123,\n \"minVariation\": 123\n },\n \"GeoMatch\": {\n \"distance\": 123,\n \"distanceUnit\": \"<string>\"\n }\n },\n \"inferBatchSize\": 100,\n \"dataDescription\": \"Employee dataset containing demographics and compensation.\",\n \"schemaDefinition\": {\n \"id\": \"unique employee identifier\",\n \"name\": \"full employee name\",\n \"age\": \"employee age in years\",\n \"department\": \"work department\",\n \"salary\": \"annual salary in USD\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000"
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}{
"error_code": "UNAUTHORIZED",
"message": "Missing authentication token",
"error_message": "",
"sub_errors": [
{
"code": "<string>",
"message": "<string>"
}
]
}Authorizations
Use a Bearer token for authentication. Submit the token using the Authorization
header: Authorization: Bearer <token>.
Path Parameters
The username associated with the request.
Namespace for the dataset.
Name of the dataset.
Body
Upload ID from the prepare response.
"2~VmxqYXRlRDZWfjJrRWRiZ2FEQXk3dHI4DGhGLygtTmQNXEZPQXFzMVZOZTUgdEdrXCEyNStkQUp3U3Q2RjJqSkV4MFNBOWxJCk0yIHEkfcQ"
S3 object key from the prepare response.
"uploads/data/20240301-143022-uuid.json"
Array of completed parts with their ETags.
1Show child attributes
Show child attributes
Optional name/label for the ingestion (e.g., original filename).
"sales-data-2024.csv"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Number of rows per LLM inference batch. Defaults to 1000. Reduce for large files to avoid S3 read timeouts caused by slow LLM processing.
100
A description of the dataset to help the AI system understand the context.
10000"Employee dataset containing demographics and compensation."
A schema definition mapping field names to descriptions, to guide the AI system in structuring the extracted data.
Show child attributes
Show child attributes
{
"id": "unique employee identifier",
"name": "full employee name",
"age": "employee age in years",
"department": "work department",
"salary": "annual salary in USD"
}
Response
Completes the multipart upload and returns the ingestion id.
Ingestion id created for background ingestion.
"550e8400-e29b-41d4-a716-446655440000"