Referencia de la API del SDK
La API del SDK es la que llaman las apps. Es independiente del panel y usa la clave del SDK de una app, nunca tu cuenta.
URL base
https://api.unolink.dev/v1
Autenticación
Crea una clave en el panel, en la pestaña SDK de tu app (plan Pro y superiores), y envíala en una cabecera:
X-Unolink-Key: ulk_…
La clave va dentro de tu app, así que trátala como pública. Solo puede consultar y enviar datos de la app a la que pertenece, y puedes revocarla en cualquier momento. Usa una clave por entorno o build para poder revocarlas por separado. La clave completa se muestra una sola vez, cuando la creas; Unolink solo guarda un hash.
Errores
Los errores son problem details en JSON con un status, un title, un detail
y, cuando es útil, un code estable.
| Estado | Cuándo |
|---|---|
401 | La clave falta, tiene un formato incorrecto, es desconocida o está revocada (code: invalid_key). |
403 | El propietario de la app no tiene un plan que incluya la API del SDK. |
404 | El recurso no existe o pertenece a otra app. |
429 | Demasiadas solicitudes desde una misma dirección IP. Vuelve a intentarlo más tarde, con espera progresiva. |
GET /v1/clicks/{clickId}
Resuelve un ID de clic del referrer de instalación de Google Play a su enlace.
curl https://api.unolink.dev/v1/clicks/clk_01JA9Q3F6Z8W2K4N7R5T1V0X3Y -H "X-Unolink-Key: ulk_…"
{
"clickId": "clk_01JA9Q3F6Z8W2K4N7R5T1V0X3Y",
"occurredAt": "2026-10-08T09:41:12.512+00:00",
"link": { "slug": "tiktok", "name": "TikTok", "isDefault": false },
"deepLink": "/promo/3for2",
"params": { "offer": "3for2" },
"utm": { "source": "tiktok", "medium": "paid", "campaign": "launch", "term": null, "content": "ad7" }
}
link.slugesnullpara el enlace principal de la app.deepLinkyparamsson los valores actuales del enlace, así que un cambio hecho después del clic sigue llegando a la app.- Las etiquetas UTM son las del enlace que se tocó.