Referencia
Habilidades
Instrucciones reutilizables que se adjuntan a un turno.
Listar habilidades
api.niucore.com/api/v1/skillsScope: skills:read
Habilidades visibles para la credencial: las propias, las de la empresa y las compartidas con el usuario.
Consulta
pageintegerpor defecto 1Página, empezando en 1.
sizeintegerpor defecto 50Elementos por página. Máximo 200.
curl -sS -X GET 'https://api.niucore.com/api/v1/skills' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": [
{
"id": 147,
"name": "Redactar respuesta a cliente",
"description": "Tono formal, máximo tres párrafos.",
"instructions": "Respondé al cliente con tono formal…",
"icon": "mail",
"level": "company",
"visibility": "public",
"workspace_id": null,
"is_active": true,
"created_at": "2026-07-02T11:14:29Z"
}
],
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77",
"page": 1,
"size": 50,
"total": 1
}
}Crear una habilidad
api.niucore.com/api/v1/skillsScope: skills:write
Crea una habilidad. Devuelve 201.
Cuerpo
namestringobligatorioHasta 255 caracteres.
instructionsstringobligatorioLas instrucciones que el modelo recibe cuando la habilidad se adjunta. Hasta 12 000 caracteres. Puede citar bibliotecas, archivos, conectores, herramientas y otras habilidades con {{tipo:id}}: ver Referencias a recursos.
descriptionstringHasta 500 caracteres.
iconstringIcono.
levelstringpor defecto personalAlcance de la habilidad.
personalcompanyworkspace
visibilitystringpor defecto publicQuién la ve.
publicprivateshared
workspace_idintegerBiblioteca dueña, con level: "workspace". Tiene que estar en el alcance.
shared_user_idsinteger[]Usuarios con acceso, con visibility: "shared". Tienen que ser de la misma empresa; los ids salen de `GET /users`.
Errores
- 403
api_v1_resource_policy_create_deniedLa credencial está limitada a recursos concretos (allowlist) y no puede crear nuevos de este tipo. - 422
prompt_refs_invalidinstructionscita recursos que no existen, que el usuario no puede usar o que este tipo no admite.data[0]los agrupa por categoría y nada se guarda. Ver Referencias a recursos. - 422
prompt_text_too_longinstructionssupera 12 000 caracteres. - 403
api_v1_resource_not_allowedElworkspace_ido algúnshared_user_idsestá fuera del alcance.
curl -sS -X POST 'https://api.niucore.com/api/v1/skills' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Redactar respuesta a cliente",
"instructions": "Respondé al cliente con tono formal, en un máximo de tres párrafos.",
"description": "Tono formal, máximo tres párrafos.",
"level": "company",
"visibility": "public"
}'{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 147,
"name": "Redactar respuesta a cliente",
"description": "Tono formal, máximo tres párrafos.",
"instructions": "Respondé al cliente con tono formal…",
"icon": "mail",
"level": "company",
"visibility": "public",
"workspace_id": null,
"is_active": true,
"created_at": "2026-07-02T11:14:29Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Ver una habilidad
api.niucore.com/api/v1/skills /{skill_id}Scope: skills:read
Detalle de una habilidad.
Ruta
skill_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/skills/147' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 147,
"name": "Redactar respuesta a cliente",
"description": "Tono formal, máximo tres párrafos.",
"instructions": "Respondé al cliente con tono formal…",
"icon": "mail",
"level": "company",
"visibility": "public",
"workspace_id": null,
"is_active": true,
"created_at": "2026-07-02T11:14:29Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Editar una habilidad
api.niucore.com/api/v1/skills /{skill_id}Scope: skills:write
Actualiza los campos enviados. El level no se edita: una habilidad no cambia de alcance.
Ruta
skill_idintegerobligatorioIdentificador.
Cuerpo
namestringNuevo nombre.
instructionsstringNuevas instrucciones. Si cambian, sus referencias {{tipo:id}} se revalidan todas.
descriptionstringDescripción.
iconstringIcono.
visibilitystringNueva visibilidad.
publicprivateshared
workspace_idintegerBiblioteca dueña.
shared_user_idsinteger[]Reemplaza la lista de compartidos. Los ids salen de `GET /users`.
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. - 422
prompt_refs_invalidinstructionscita recursos que no existen, que el usuario no puede usar o que este tipo no admite.data[0]los agrupa por categoría y nada se guarda. Ver Referencias a recursos. - 422
prompt_text_too_longinstructionssupera 12 000 caracteres.
curl -sS -X PATCH 'https://api.niucore.com/api/v1/skills/147' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Tono formal, máximo dos párrafos."
}'{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 147,
"name": "Redactar respuesta a cliente",
"description": "Tono formal, máximo dos párrafos.",
"instructions": "Respondé al cliente con tono formal…",
"icon": "mail",
"level": "company",
"visibility": "public",
"workspace_id": null,
"is_active": true,
"created_at": "2026-07-02T11:14:29Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Activar o desactivar
api.niucore.com/api/v1/skills /{skill_id} /toggleScope: skills:write
Invierte el estado activo. No recibe cuerpo: el nuevo valor es siempre el contrario del actual.
Ruta
skill_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 PATCH 'https://api.niucore.com/api/v1/skills/147/toggle' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 147,
"name": "Redactar respuesta a cliente",
"description": "Tono formal, máximo tres párrafos.",
"instructions": "Respondé al cliente con tono formal…",
"icon": "mail",
"level": "company",
"visibility": "public",
"workspace_id": null,
"is_active": false,
"created_at": "2026-07-02T11:14:29Z"
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}Eliminar una habilidad
api.niucore.com/api/v1/skills /{skill_id}Scope: skills:write
Borrado lógico.
Ruta
skill_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 DELETE 'https://api.niucore.com/api/v1/skills/147' \
-H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN"{
"status": "success",
"message": "Operación exitosa",
"message_code": "api_v1_ok",
"data": {
"id": 147
},
"meta": {
"request_id": "9f1c0a3e-7b2d-4f18-9a55-2c6e0d1b4a77"
}
}