Autenticación con clave de acceso
Cómo autentica la API externa a tu aplicación con la cabecera X-Api-Key, qué comprueba en cada petición y qué error devuelve cuando algo falla.
Actualizado el . 3 min de lectura
Incluido en todos los planes. Ver precios
La API externa (https://os.utilia.ai/api/external/v1/...) reconoce a tu aplicación por su clave de API, que envías en la cabecera X-Api-Key en cada petición. No hay sesión, ni cookies, ni token que renovar: la clave basta, y por eso solo debe vivir en tu servidor.
GET /api/external/v1/users HTTP/1.1
Host: os.utilia.ai
X-Api-Key: utl_tu_claveDe dónde sale la clave
Cada aplicación externa tiene una clave propia, que se genera al crearla en Ajustes › Integraciones › Aplicaciones externas, necesitas entrar con tu cuenta. Empieza por utl_ y solo se muestra una vez, en la pantalla «Aplicación creada». UTILIA OS guarda únicamente su huella, así que nadie puede volver a enseñártela.
Si la pierdes o sospechas que se ha filtrado, regenérala desde la ficha de la aplicación, en Ajustes. La clave anterior deja de funcionar en ese mismo momento, así que despliega la nueva antes de que tu integración vuelva a llamar. Hoy solo puede regenerarla la persona que creó la aplicación.
Qué se comprueba en cada petición
Antes de llegar a la operación, cada petición pasa estos controles, en este orden. El primero que falla corta la petición con su código:
Controles de cada petición a la API externa
Cabecera X-Api-Key
¿Llega una clave?
En la cabecera o, solo en eventos en tiempo real, enapiKey.Si no: 401 API_KEY_REQUIRED.
¿Es válida?
Existe, está activa y no ha caducado.Si no: 401 API_KEY_INVALID.
¿Le queda cupo?
Peticiones por hora de la clave; 1.000 en una aplicación nueva.Si no: 429 RATE_LIMIT_EXCEEDED, con Retry-After.
¿Es de una aplicación externa?
Las claves de Ajustes › Claves de acceso (API) no lo son.Si no: 401 API_KEY_NOT_LINKED.
¿Está activa la aplicación?
Si no: 403 APP_DISABLED.
¿El origen está autorizado?
Solo si la petición traeOriginy la aplicación tiene dominios autorizados.Si no: 403 ORIGIN_NOT_ALLOWED.
Plan de la organización
¿Está en el plan?
El aplicativo y la capacidad de la operación.Si no: 403 MODULE_NOT_ENABLED o CAPABILITY_NOT_ENABLED.
Permisos de la aplicación
¿Tiene el permiso?
El permiso que exige la operación, concedido a la aplicación.Si no: 403 INSUFFICIENT_SCOPE.
Cada código de error está explicado en Errores, identificador de petición y reintentos. La organización con la que trabaja la petición sale siempre de la aplicación dueña de la clave, nunca de lo que envíes en el cuerpo.
Los límites de uso y los orígenes permitidos se explican en Límites de uso y CORS.
La clave en la dirección, solo para eventos en tiempo real
EventSource, la herramienta del navegador para recibir eventos en tiempo real, no permite añadir cabeceras. Por eso, y solo en peticiones GET con Accept: text/event-stream, la API acepta la clave como parámetro apiKey de la dirección:
const fuente = new EventSource(
`https://os.utilia.ai/api/external/v1/tickets/ai-suggest/${jobId}/stream?apiKey=${clave}`,
);En cualquier otra petición se ignora y la respuesta es 401 API_KEY_REQUIRED. Una dirección queda escrita en registros de servidores, proxies e historiales, así que úsala solo desde tu servidor o desde un intermediario que controles. El SDK de JavaScript ya lo hace así en sus suscripciones en tiempo real.
Qué credencial abre cada puerta
UTILIA OS reconoce tres credenciales distintas, y cada una solo abre su puerta. Si envías a la API externa una clave de Ajustes › Claves de acceso (API), la respuesta es 401 con API_KEY_NOT_LINKED.
Tres credenciales que no se mezclan
Tu servidor, X-Api-Key
Clave de aplicación externa
/api/external/v1/...). Sale de Ajustes › Integraciones › Aplicaciones externas.Tu web y tus formularios
Clave de acceso (API)
/api/v1/leads). No abre la API externa.En nombre de una persona
Token de OAuth
La API del panel (por ejemplo, /api/integrations/apps/..., que gestiona las aplicaciones externas) se llama con Authorization: Bearer <token> y los permisos de la persona. Una clave de API no la abre.
Siguiente paso
Revisa cuántas peticiones admite tu clave y cómo se controla desde qué webs se puede llamar en Límites de uso y CORS.
Ponlo en práctica
Lo encontrarás en Aplicaciones externas. Para abrirlo, entra con tu cuenta de UTILIA OS.