Saltar al contenido principal
POST
/
agents
/
{agentId}
/
files
Vincular Archivos al Agente
curl --request POST \
  --url https://api.tess.im/agents/{agentId}/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "file_ids": [
    123
  ]
}
'
import requests

url = "https://api.tess.im/agents/{agentId}/files"

payload = { "file_ids": [123] }
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({file_ids: [123]})
};

fetch('https://api.tess.im/agents/{agentId}/files', 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.tess.im/agents/{agentId}/files",
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_ids' => [
123
]
]),
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.tess.im/agents/{agentId}/files"

payload := strings.NewReader("{\n \"file_ids\": [\n 123\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.tess.im/agents/{agentId}/files")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"file_ids\": [\n 123\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.tess.im/agents/{agentId}/files")

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 \"file_ids\": [\n 123\n ]\n}"

response = http.request(request)
puts response.read_body

Ejemplos de Código

curl --request POST \
  --url 'https://api.tess.im/agents/{agentId}/files' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "file_ids": [
    fileId1,fileId2
  ]
}'
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const form = new FormData();
form.append('file', fs.createReadStream('/path/to/file'));

const config = {
  method: 'post',
  url: 'https://api.tess.im/agents/{agentId}/files',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    ...form.getHeaders()
  },
  data: form
};

try {
  const response = await axios(config);
  console.log(response.data);
} catch (error) {
  console.error(error);
}
import requests

url = "https://api.tess.im/agents/{agentId}/files"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}
files = {
    'file': open('/path/to/file', 'rb')
}

response = requests.post(url, headers=headers, files=files)
print(response.json())
<?php
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.tess.im/agents/{agentId}/files",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => [
    'file' => new CURLFILE('/path/to/file')
  ]
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "Error: " . $err;
} else {
  echo $response;
}
import java.io.File;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Files;

File file = new File("/path/to/file");
String boundary = "---boundary" + System.currentTimeMillis();

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.tess.im/agents/{agentId}/files"))
    .header("Authorization", "Bearer YOUR_API_KEY")
    .header("Content-Type", "application/json; boundary=" + boundary)
    .POST(HttpRequest.BodyPublishers.ofByteArray(Files.readAllBytes(file.toPath())))
    .build();

HttpResponse<String> response = client.send(request,
    HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main

import (
    "bytes"
    "fmt"
    "io"
    "io/ioutil"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    file, err := os.Open("/path/to/file")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    part, err := writer.CreateFormFile("file", file.Name())
    if err != nil {
        fmt.Println(err)
        return
    }
    
    
    _, err = io.Copy(part, file)
    if err != nil {
        fmt.Println(err)
        return
    }
    writer.Close()
    
    client := &http.Client{}
    req, err := http.NewRequest("POST", "https://api.tess.im/agents/{agentId}/files", body)
    if err != nil {
        fmt.Println(err)
        return
    }
    
    req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Add("Content-Type", writer.FormDataContentType())
    
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()
    
    respBody, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    
    fmt.Println(string(respBody))
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        using (var formData = new MultipartFormDataContent())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
            
            var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes("/path/to/file"));
            formData.Add(fileContent, "file", "filename");
            
            try
            {
                var response = await client.PostAsync("https://api.tess.im/agents/{agentId}/files", formData);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            catch(HttpRequestException e)
            {
                Console.WriteLine("\nException Caught!");
                Console.WriteLine("Message :{0} ",e.Message);
            }
        }
    }
}
require 'uri'
require 'net/http'
require 'json'

uri = URI('https://api.tess.im/agents/{agentId}/files')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'

form_data = [['file', File.open('/path/to/file')]]
request.set_form form_data, 'application/json'

response = http.request(request)
puts response.read_body

Encabezados

x-workspace-id
integer
ID del espacio de trabajo. Si no se proporciona, se utilizará el espacio de trabajo seleccionado del usuario.
Nota: Este campo será requerido en una futura versión de la API. Se recomienda encarecidamente configurarlo ahora para asegurar la compatibilidad con futuras actualizaciones.

Parámetros de Ruta

agentId
string
requerido
El ID del agente

Parámetros del Cuerpo

file_ids
integer[]
requerido
Los IDs de los archivos para vincular al agente

Respuesta

{
"id": 8794,
"files_count": {
  "total": 1,
  "completed": 1,
  "failed": 0,
  "in_progress": 0
},
"files": [
  {
    "id": 73336,
    "object": "file",
    "bytes": 35504128,
    "created_at": "2025-01-05T22:39:57+00:00",
    "filename": "endpoints.pdf",
    "credits": 20.10060847168,
    "status": "completed"
  }
],
"status": "completed"
}