Referencia
Bibliotecas
Bibliotecas de conocimiento y sus archivos, el contexto que un turno puede adjuntar.
Listar bibliotecas
api.niucore.com/api/v1/librariesScope: libraries:read
Bibliotecas accesibles para la credencial, ordenadas por nombre.
Consulta
pageintegerpor defecto 1Página, empezando en 1.
sizeintegerpor defecto 50Elementos por página. Máximo 200.
Devuelve
idintegerIdentificador.
slugstringSlug interno.
namestringNombre.
descriptionstring | nullDescripción.
area_idsinteger[]Áreas que la tienen asignada.
created_atstring (date-time)Creación.
updated_atstring (date-time)Última edición.
curl -sS -X GET 'https://api.niucore.com/api/v1/libraries' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": [
{
"id": 31,
"slug": "procedimientos-de-soporte",
"name": "Procedimientos de soporte",
"description": "Manuales internos del equipo de soporte.",
"area_ids": [
4,
9
],
"created_at": "2026-06-11T09:31:00Z",
"updated_at": "2026-08-30T18:12:04Z"
}
],
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77",
"page": 1,
"size": 50,
"total": 1
}
}Crear una biblioteca
api.niucore.com/api/v1/librariesScope: libraries:write
Crea la biblioteca, su asignación de áreas y su prompt por defecto, en una sola transacción. Devuelve 201.
Nota
El modelo de embedding lo fija el servidor, no el cliente: elegirlo desde fuera rompería la paridad con el servicio que indexa los documentos.
Atención
Subir y eliminar archivos no está en la v1.0. La API lee bibliotecas y archivos, y crea o edita bibliotecas; la carga de documentos sigue siendo de la aplicación.
Cuerpo
namestringobligatorioEntre 2 y 100 caracteres.
descriptionstringHasta 2000 caracteres.
area_idsinteger[]Áreas a las que se asigna. Todas tienen que estar en el alcance de la credencial.
Errores
- 403
api_v1_resource_policy_create_deniedLa credencial está limitada a recursos concretos (allowlist) y no puede crear nuevos de este tipo. - 403
api_v1_resource_not_allowedUnarea_idestá fuera del alcance. Acá sí es403y no404: el cliente nombró el recurso explícitamente. - 503
api_v1_library_embedding_unavailableNo hay modelo de embedding disponible para crear bibliotecas.
curl -sS -X POST 'https://api.niucore.com/api/v1/libraries' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Procedimientos de soporte",
"description": "Manuales internos del equipo de soporte.",
"area_ids": [
4,
9
]
}'{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 31,
"slug": "procedimientos-de-soporte",
"name": "Procedimientos de soporte",
"description": "Manuales internos del equipo de soporte.",
"area_ids": [
4,
9
],
"created_at": "2026-06-11T09:31:00Z",
"updated_at": "2026-08-30T18:12:04Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Ver una biblioteca
api.niucore.com/api/v1/libraries /{library_id}Scope: libraries:read
Detalle de una biblioteca.
Ruta
library_idintegerobligatorioIdentificador.
Errores
- 404
api_v1_not_foundNo existe, o está fuera del alcance de la credencial. Los dos casos responden igual: un403confirmaría que el recurso existe.
curl -sS -X GET 'https://api.niucore.com/api/v1/libraries/31' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 31,
"slug": "procedimientos-de-soporte",
"name": "Procedimientos de soporte",
"description": "Manuales internos del equipo de soporte.",
"area_ids": [
4,
9
],
"created_at": "2026-06-11T09:31:00Z",
"updated_at": "2026-08-30T18:12:04Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Editar una biblioteca
api.niucore.com/api/v1/libraries /{library_id}Scope: libraries:write
Actualiza nombre, descripción y asignación de áreas. Los campos omitidos no se tocan.
Ruta
library_idintegerobligatorioIdentificador.
Cuerpo
namestringNuevo nombre.
descriptionstringNueva descripción.
area_idsinteger[]Reemplaza la lista completa de áreas.
Errores
- 404
api_v1_not_foundNo existe, o está fuera del alcance de la credencial. Los dos casos responden igual: un403confirmaría que el recurso existe.
curl -sS -X PATCH 'https://api.niucore.com/api/v1/libraries/31' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Manuales internos del equipo de soporte (rev. 2026-09)."
}'{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 31,
"slug": "procedimientos-de-soporte",
"name": "Procedimientos de soporte",
"description": "Manuales internos del equipo de soporte (rev. 2026-09).",
"area_ids": [
4,
9
],
"created_at": "2026-06-11T09:31:00Z",
"updated_at": "2026-08-30T18:12:04Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Listar archivos
api.niucore.com/api/v1/libraries /{library_id} /filesScope: libraries:read
Archivos de la biblioteca, del más reciente al más antiguo.
Ruta
library_idintegerobligatorioIdentificador de la biblioteca.
Consulta
pageintegerpor defecto 1Página, empezando en 1.
sizeintegerpor defecto 50Elementos por página. Máximo 200.
Devuelve
idintegerIdentificador.
library_idintegerBiblioteca dueña.
namestringNombre interno del documento.
file_namestringNombre del archivo original.
titlestring | nullTítulo.
document_typestringTipo de documento.
sizeintegerTamaño en bytes.
Errores
- 404
api_v1_not_foundNo existe, o está fuera del alcance de la credencial. Los dos casos responden igual: un403confirmaría que el recurso existe.
curl -sS -X GET 'https://api.niucore.com/api/v1/libraries/31/files' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": [
{
"id": 902,
"library_id": 31,
"name": "DOC2149_902.txt",
"file_name": "politica-devoluciones.pdf",
"title": "Política de devoluciones",
"description": "Vigente desde 2026-01",
"document_type": "pdf",
"size": 184320,
"created_at": "2026-06-12T10:02:44Z"
}
],
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77",
"page": 1,
"size": 50,
"total": 1
}
}Ver un archivo
api.niucore.com/api/v1/files /{file_id}Scope: libraries:read
Detalle de un archivo. Hereda el alcance de su biblioteca: sin ella permitida, el archivo no existe para la credencial.
Ruta
file_idintegerobligatorioIdentificador del archivo.
Errores
- 404
api_v1_not_foundNo existe, o está fuera del alcance de la credencial. Los dos casos responden igual: un403confirmaría que el recurso existe.
curl -sS -X GET 'https://api.niucore.com/api/v1/files/902' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 902,
"library_id": 31,
"name": "DOC2149_902.txt",
"file_name": "politica-devoluciones.pdf",
"title": "Política de devoluciones",
"description": "Vigente desde 2026-01",
"document_type": "pdf",
"size": 184320,
"created_at": "2026-06-12T10:02:44Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}