curl --request POST \
--url https://api.nuvia.ai/v1/tables/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"table_kind": "dataset",
"columns": [
{
"name": "<string>",
"key": "<string>",
"description": "<string>",
"is_nullable": true,
"is_unique": true,
"sample_values": [
"<string>"
]
}
]
}
'import requests
url = "https://api.nuvia.ai/v1/tables/list"
payload = {
"name": "<string>",
"description": "<string>",
"table_kind": "dataset",
"columns": [
{
"name": "<string>",
"key": "<string>",
"description": "<string>",
"is_nullable": True,
"is_unique": True,
"sample_values": ["<string>"]
}
]
}
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({
name: '<string>',
description: '<string>',
table_kind: 'dataset',
columns: [
{
name: '<string>',
key: '<string>',
description: '<string>',
is_nullable: true,
is_unique: true,
sample_values: ['<string>']
}
]
})
};
fetch('https://api.nuvia.ai/v1/tables/list', 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.nuvia.ai/v1/tables/list",
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([
'name' => '<string>',
'description' => '<string>',
'table_kind' => 'dataset',
'columns' => [
[
'name' => '<string>',
'key' => '<string>',
'description' => '<string>',
'is_nullable' => true,
'is_unique' => true,
'sample_values' => [
'<string>'
]
]
]
]),
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.nuvia.ai/v1/tables/list"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\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.nuvia.ai/v1/tables/list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/tables/list")
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 \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": {},
"name": "<string>",
"status": "PROCESSING",
"type": "DEFAULT",
"table_kind": "dataset",
"columns": [
{}
],
"stats": {},
"company": {
"_id": {},
"name": "<string>",
"channels": [
"WAP_AUTO_CLOSER"
],
"agent_flows": [
{
"_id": {},
"name": "<string>",
"url": "<string>",
"specialist_url": "<string>",
"type": "N8N"
}
],
"description": "<string>",
"status": "ACTIVE",
"domains": [
"<string>"
],
"site": "<string>",
"general_config": {},
"agent_builder_mcp_enabled": true,
"client_mcp_servers_enabled": true,
"auto_join_enabled": true,
"subscription": {},
"onboarding": {},
"attribution": {}
},
"description": "<string>",
"file_url": "<string>",
"object_type": "contact",
"file_metadata": {},
"import_errors": [
{}
],
"summary": "<string>",
"data": [
{}
],
"sync_key_column": "<string>",
"ranking_config": [
{}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Crear lista
Crea una lista (table_kind=list) para organizar contactos o empresas. A diferencia de un dataset, la lista no es una fuente de datos: es un contexto sobre registros que ya existen.
curl --request POST \
--url https://api.nuvia.ai/v1/tables/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"table_kind": "dataset",
"columns": [
{
"name": "<string>",
"key": "<string>",
"description": "<string>",
"is_nullable": true,
"is_unique": true,
"sample_values": [
"<string>"
]
}
]
}
'import requests
url = "https://api.nuvia.ai/v1/tables/list"
payload = {
"name": "<string>",
"description": "<string>",
"table_kind": "dataset",
"columns": [
{
"name": "<string>",
"key": "<string>",
"description": "<string>",
"is_nullable": True,
"is_unique": True,
"sample_values": ["<string>"]
}
]
}
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({
name: '<string>',
description: '<string>',
table_kind: 'dataset',
columns: [
{
name: '<string>',
key: '<string>',
description: '<string>',
is_nullable: true,
is_unique: true,
sample_values: ['<string>']
}
]
})
};
fetch('https://api.nuvia.ai/v1/tables/list', 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.nuvia.ai/v1/tables/list",
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([
'name' => '<string>',
'description' => '<string>',
'table_kind' => 'dataset',
'columns' => [
[
'name' => '<string>',
'key' => '<string>',
'description' => '<string>',
'is_nullable' => true,
'is_unique' => true,
'sample_values' => [
'<string>'
]
]
]
]),
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.nuvia.ai/v1/tables/list"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\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.nuvia.ai/v1/tables/list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/tables/list")
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 \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"table_kind\": \"dataset\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"key\": \"<string>\",\n \"description\": \"<string>\",\n \"is_nullable\": true,\n \"is_unique\": true,\n \"sample_values\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": {},
"name": "<string>",
"status": "PROCESSING",
"type": "DEFAULT",
"table_kind": "dataset",
"columns": [
{}
],
"stats": {},
"company": {
"_id": {},
"name": "<string>",
"channels": [
"WAP_AUTO_CLOSER"
],
"agent_flows": [
{
"_id": {},
"name": "<string>",
"url": "<string>",
"specialist_url": "<string>",
"type": "N8N"
}
],
"description": "<string>",
"status": "ACTIVE",
"domains": [
"<string>"
],
"site": "<string>",
"general_config": {},
"agent_builder_mcp_enabled": true,
"client_mcp_servers_enabled": true,
"auto_join_enabled": true,
"subscription": {},
"onboarding": {},
"attribution": {}
},
"description": "<string>",
"file_url": "<string>",
"object_type": "contact",
"file_metadata": {},
"import_errors": [
{}
],
"summary": "<string>",
"data": [
{}
],
"sync_key_column": "<string>",
"ranking_config": [
{}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Autorizaciones
Token JWT de autenticação
Encabezados
Identificador de la empresa objetivo. Obligatorio solo para API keys globales (type=global). Se ignora para API keys de empresa y usuarios humanos.
Cuerpo
Nombre de la lista
Descripción de la lista
Tipo de la tabla
dataset, list Tipo de objeto para listas (obligatorio si table_kind=list)
contact, business Columnas de la lista (para listas tipo Attio)
Show child attributes
Show child attributes
Respuesta
PROCESSING, READY, ERROR, PARTIAL DEFAULT, FILE dataset, list Show child attributes
Show child attributes
contact, business Key de la columna de negocio usada como clave en la sincronización por upload (diff). Sin ella, la sincronización por upload se rechaza.
Criterios ordenados de ranking de negocio. La sincronización materializa el resultado en la columna interna _score (mayor = mejor).