Crear tabla manual
curl --request POST \
--url https://api.nuvia.ai/v1/tables/manual \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"columns": [
{
"name": "<string>",
"description": "<string>"
}
],
"description": "<string>",
"rows": [
{}
]
}
'import requests
url = "https://api.nuvia.ai/v1/tables/manual"
payload = {
"name": "<string>",
"columns": [
{
"name": "<string>",
"description": "<string>"
}
],
"description": "<string>",
"rows": [{}]
}
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>',
columns: [{name: '<string>', description: '<string>'}],
description: '<string>',
rows: [{}]
})
};
fetch('https://api.nuvia.ai/v1/tables/manual', 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/manual",
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>',
'columns' => [
[
'name' => '<string>',
'description' => '<string>'
]
],
'description' => '<string>',
'rows' => [
[
]
]
]),
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/manual"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\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/manual")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/tables/manual")
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 \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\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"
}Tabelas e Listas
Crear tabla manual
POST
/
v1
/
tables
/
manual
Crear tabla manual
curl --request POST \
--url https://api.nuvia.ai/v1/tables/manual \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"columns": [
{
"name": "<string>",
"description": "<string>"
}
],
"description": "<string>",
"rows": [
{}
]
}
'import requests
url = "https://api.nuvia.ai/v1/tables/manual"
payload = {
"name": "<string>",
"columns": [
{
"name": "<string>",
"description": "<string>"
}
],
"description": "<string>",
"rows": [{}]
}
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>',
columns: [{name: '<string>', description: '<string>'}],
description: '<string>',
rows: [{}]
})
};
fetch('https://api.nuvia.ai/v1/tables/manual', 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/manual",
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>',
'columns' => [
[
'name' => '<string>',
'description' => '<string>'
]
],
'description' => '<string>',
'rows' => [
[
]
]
]),
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/manual"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\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/manual")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nuvia.ai/v1/tables/manual")
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 \"columns\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"description\": \"<string>\",\n \"rows\": [\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
application/json
Respuesta
201 - application/json
Opciones disponibles:
PROCESSING, READY, ERROR, PARTIAL Opciones disponibles:
DEFAULT, FILE Opciones disponibles:
dataset, list Show child attributes
Show child attributes
Opciones disponibles:
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).