Skip to main content
POST
/
api
/
external
/
datastores
/
file-upload
/
{datastoreId}
curl -X POST https://app.horneross.com/api/external/datastores/file-upload/ds_abc123 \
  -H "Authorization: Bearer sk_live_xxx" \
  -F "file=@manual_usuario.pdf" \
  -F "custom_id=manual_v2"
{
  "id": "datasource_xyz789",
  "name": "manual_usuario.pdf",
  "type": "file",
  "status": "pending",
  "config": {
    "mime_type": "application/pdf",
    "source_url": "https://bucket.s3.amazonaws.com/datastores/ds_abc123/datasource_xyz789/datasource_xyz789.pdf",
    "custom_id": "manual_v2"
  }
}

Endpoint

POST /api/external/datastores/file-upload/{datastoreId}

Path Parameters

datastoreId
string
required
ID del datastore

Headers

Authorization
string
required
Bearer token con tu API key de organización.
Content-Type
string
required
multipart/form-data

Form Data

file
file
required
Archivo a subir. Formatos soportados: PDF, DOCX, DOC, TXT, RTF, CSV, JSON, XLSX, XLS, HTML, MD
fileName
string
Nombre personalizado para el archivo
custom_id
string
ID personalizado para referencia posterior
curl -X POST https://app.horneross.com/api/external/datastores/file-upload/ds_abc123 \
  -H "Authorization: Bearer sk_live_xxx" \
  -F "file=@manual_usuario.pdf" \
  -F "custom_id=manual_v2"

Response

id
string
required
ID del datasource creado
name
string
required
Nombre del archivo
status
string
required
Estado del procesamiento: pending, running, synced, error
type
string
Tipo de datasource
{
  "id": "datasource_xyz789",
  "name": "manual_usuario.pdf",
  "type": "file",
  "status": "pending",
  "config": {
    "mime_type": "application/pdf",
    "source_url": "https://bucket.s3.amazonaws.com/datastores/ds_abc123/datasource_xyz789/datasource_xyz789.pdf",
    "custom_id": "manual_v2"
  }
}
Los archivos se procesan de forma asíncrona. El status inicial es pending y cambia a synced cuando está listo para búsquedas.