Documentación
Primeros pasos
De cero a la primera respuesta del modelo en cuatro pasos.
En esta guía creás una credencial, pedís un access token, enviás un turno y leés la respuesta. Toda la API vive bajo https://api.niucore.com/api/v1 y usa Authorization: Bearer.
- 1
Creá una credencial
Entrá a Perfil → API e integraciones en la aplicación, dale un nombre a la credencial y elegí sus permisos. Al guardar vas a ver el
client_idy elclient_secret.El secreto se muestra una sola vez
No se guarda en claro en ningún lado, así que no se puede volver a mostrar. Si lo perdés, rotá la credencial y actualizá tu integración.
Guardalos como variables de entornoexport NIUCORE_CLIENT_ID="nc_7f3c1a9b8e2d4056" export NIUCORE_CLIENT_SECRET="ncs_R2xk...." - 2
Pedí un access token
El token dura una hora por defecto y no se renueva: cuando vence, se pide otro con las mismas credenciales.
curl -sS -X POST 'https://api.niucore.com/api/oauth/token' \ -u "$NIUCORE_CLIENT_ID:$NIUCORE_CLIENT_SECRET" \ -d 'grant_type=client_credentials'JSON{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "Bearer", "expires_in": 3600, "scope": "chat:read chat:write libraries:read" } - 3
Confirmá quién sos
GET /mees el request que conviene hacer primero: valida el token y muestra los scopes con los que realmente vas a operar. Si acá falta un scope que pediste, el rol del usuario lo recortó.curl -sS 'https://api.niucore.com/api/v1/me' \ -H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" - 4
Enviá tu primer turno
Un turno se manda a un
chat_id. Si el chat no existe, se crea con ese id — así que podés generar un UUID vos mismo y arrancar. El headerIdempotency-Keyes obligatorio.CHAT_ID=$(uuidgen | tr 'A-Z' 'a-z') curl -sS -X POST "https://api.niucore.com/api/v1/chats/$CHAT_ID/messages" \ -H "Authorization: Bearer $NIUCORE_ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -H "Idempotency-Key: $(uuidgen)" \ -d '{ "content": "Hola, ¿en qué me podés ayudar?", "permission_mode": "auto" }'Nota
El envío sincrónico bloquea hasta la respuesta completa y solo admite
permission_mode: "auto". Para ver el texto a medida que se genera, o para dejar que el turno pida permiso antes de ejecutar herramientas, usá el envío por stream.
Entornos
| Entorno | Base | Uso |
|---|---|---|
| Producción | https://api.niucore.com | Datos reales. Consume niucredits. |
| Pruebas | https://api.niucore.dev | Mismo contrato, datos de prueba. Pedilo a tu contacto en NiuCore. |
Nota
Las credenciales no se comparten entre entornos: cada uno tiene las suyas.