HonkIO Auth
Utilisateurs
Les utilisateurs, leurs sessions et leur historique de connexion, le blocage et la suppression, et les exportations.
Lister les utilisateurs
GET/v1/auth-apps/:id/users
Permission: auth_users: r
Les utilisateurs de l’application.
Paramètres de requête
| Nom | Type | Description |
|---|---|---|
| string | Seulement l’utilisateur avec cette adresse courriel. | |
| phone | string | Seulement l’utilisateur avec ce numéro de téléphone. |
| query | string | Chercher dans les noms, adresses courriel et numéros de téléphone. |
| blocked | "true" | "false" | Seulement les utilisateurs bloqués, ou seulement les autres. |
| likely_bot | "true" | "false" | Seulement les utilisateurs signalés comme robots probables, ou seulement les autres. |
| created_after | date-time | Seulement les utilisateurs créés après ce moment (ISO 8601). |
| created_before | date-time | Seulement les utilisateurs créés avant ce moment (ISO 8601). |
| limit | integer | Combien en renvoyer par page. |
| cursor | string | Le next_cursor de la page précédente. |
curl https://api.honkio.ca/v1/auth-apps/APP_ID/users \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"data": [
{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada Lovelace",
"blocked": false,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": null,
"blocked_reason": null,
"likely_bot": false,
"reverify_required": false
}
],
"next_cursor": null
}Obtenir un utilisateur
GET/v1/auth-apps/:id/users/:userId
Permission: auth_users: r
Un utilisateur.
curl https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada Lovelace",
"blocked": false,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": null,
"blocked_reason": null,
"likely_bot": false,
"reverify_required": false
}Modifier un utilisateur
PATCH/v1/auth-apps/:id/users/:userId
Permission: auth_users: m
Modifie les champs envoyés. Un nouveau courriel ou téléphone est signalé à l’ancien et inscrit dans votre journal d’audit. Envoie user.updated.
Corps
| Nom | Type | Description |
|---|---|---|
| name | string | null | Le nom de l’utilisateur, dans la portée profile. |
| string | null | Une nouvelle adresse courriel. L’ancienne est avisée. | |
| email_verified | boolean | Marquer l’adresse courriel comme vérifiée ou non. |
| phone | string | null | Un nouveau numéro de mobile canadien, en E.164. L’ancien est avisé. |
| phone_verified | boolean | Marquer le numéro de téléphone comme vérifié ou non. |
| metadata | object | Votre propre objet JSON sur l’utilisateur. Jamais montré à celui-ci. |
| locale | "en" | "fr" | La langue de l’avis envoyé à l’ancienne adresse ou à l’ancien numéro. Par défaut, Accept-Language. |
curl -X PATCH https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Ada King"
}'{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada King",
"blocked": false,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": null,
"blocked_reason": null,
"likely_bot": false,
"reverify_required": false
}Bloquer un utilisateur
POST/v1/auth-apps/:id/users/:userId/block
Permission: auth_users: w
Met fin à toutes ses sessions et l’empêche de se connecter. Envoie user.blocked.
Corps
| Nom | Type | Description |
|---|---|---|
| reason | string | null | Pourquoi, pour vos dossiers et l’événement user.blocked. |
curl -X POST https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/block \
-H "Authorization: Bearer mk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "Chargeback fraud"
}'{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada Lovelace",
"blocked": true,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": "2026-11-21T10:00:00.000Z",
"blocked_reason": "Chargeback fraud",
"likely_bot": false,
"reverify_required": false
}Débloquer un utilisateur
POST/v1/auth-apps/:id/users/:userId/unblock
Permission: auth_users: w
Lui permet de se connecter de nouveau.
curl -X POST https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/unblock \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada Lovelace",
"blocked": false,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": null,
"blocked_reason": null,
"likely_bot": false,
"reverify_required": false
}Supprimer un utilisateur
DELETE/v1/auth-apps/:id/users/:userId
Permission: auth_users: d
Retire l’utilisateur, ses sessions et ses clés d’accès. Envoie user.deleted.
curl -X DELETE https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY"204 · Aucun contenu.
Supprimer les robots probables
POST/v1/auth-apps/:id/users/bulk-delete
Permission: auth_users: w
Supprime par lots les utilisateurs signalés comme robots probables et indique combien. Si more vaut true, appelez-la de nouveau.
Corps
| Nom | Type | Description |
|---|---|---|
| likely_botobligatoire | true | Doit valoir true : seuls les robots probables sont supprimés. |
| created_before | date-time | Seulement les robots probables créés avant ce moment (ISO 8601). |
Demande aussi un jeton de vérification renforcée pour auth_users:bulk_delete dans l’en-tête X-Step-Up-Token.
curl -X POST https://api.honkio.ca/v1/auth-apps/APP_ID/users/bulk-delete \
-H "Authorization: Bearer mk_test_YOUR_KEY" \
-H "X-Step-Up-Token: STEP_UP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"likely_bot": true
}'{
"deleted": 214,
"more": false
}Lister les clés d’accès d’un utilisateur
GET/v1/auth-apps/:id/users/:userId/passkeys
Permission: auth_users: r
Les métadonnées publiques de ses clés d’accès, les plus récentes d’abord. usable vaut false pour une clé créée avant un changement de passkey_scope.
curl https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/passkeys \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"data": [
{
"id": "pk_xxxxxxxxxxxxxxxxxxxxxx",
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"name": "MacBook",
"aaguid": null,
"device_type": "multiDevice",
"backed_up": true,
"transports": [
"internal",
"hybrid"
],
"rp_id": "acme.ca",
"usable": true,
"created_at": "2026-11-02T15:04:05.000Z",
"last_used_at": "2026-11-02T15:04:05.000Z"
}
]
}Retirer une clé d’accès d’un utilisateur
DELETE/v1/auth-apps/:id/users/:userId/passkeys/:passkeyId
Permission: auth_users: d
Supprime une clé d’accès. L’utilisateur en est avisé à son adresse courriel, ses sessions prennent fin et user.updated est envoyé avec changes: ["passkeys"].
curl -X DELETE https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/passkeys/PASSKEY_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY"204 · Aucun contenu.
Lister les sessions d’un utilisateur
GET/v1/auth-apps/:id/users/:userId/sessions
Permission: auth_users: r
Ses sessions actives. Jamais de jeton.
Paramètres de requête
| Nom | Type | Description |
|---|---|---|
| active | "true" | "false" | Seulement les sessions actives, ou seulement celles terminées. |
| limit | integer | Combien en renvoyer par page. |
| cursor | string | Le next_cursor de la page précédente. |
curl https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/sessions \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"data": [
{
"id": "ses_xxxxxxxxxxxxxxxxxxxxxx",
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"amr": [
"otp"
],
"organization_id": null,
"created_at": "2026-11-02T15:04:05.000Z",
"expires_at": "2026-12-02T15:04:05.000Z",
"last_seen_at": "2026-11-20T09:12:44.000Z",
"revoked_at": null,
"revoke_reason": null,
"active": true
}
],
"next_cursor": null
}Lister les connexions d’un utilisateur
GET/v1/auth-apps/:id/users/:userId/sign-ins
Permission: auth_users: r
Les tentatives de connexion d’un utilisateur, les plus récentes d’abord.
Paramètres de requête
| Nom | Type | Description |
|---|---|---|
| limit | integer | Combien en renvoyer par page. |
| cursor | string | Le next_cursor de la page précédente. |
curl https://api.honkio.ca/v1/auth-apps/APP_ID/users/USER_ID/sign-ins \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"data": [
{
"id": "clxxxsigninxxxxxxxxxxxxxx",
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"method": "email",
"outcome": "succeeded",
"reason": null,
"ip": "203.0.113.24",
"network": "Example Telecom",
"asn": 64500,
"city": "Toronto",
"region": "ON",
"country": "CA",
"device": "Firefox on macOS",
"risk": "low",
"flagged": false,
"created_at": "2026-11-02T15:04:05.000Z"
}
],
"next_cursor": null
}Révoquer une session
DELETE/v1/auth-apps/:id/sessions/:sessionId
Permission: auth_users: d
Met fin à une session; son prochain renouvellement échoue. Envoie session.revoked avec le motif api.
curl -X DELETE https://api.honkio.ca/v1/auth-apps/APP_ID/sessions/SESSION_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY"204 · Aucun contenu.
Lister l’historique de connexion
GET/v1/auth-apps/:id/sign-ins
Permission: auth_users: r
Les tentatives de connexion des 90 derniers jours, les plus récentes d’abord.
Paramètres de requête
| Nom | Type | Description |
|---|---|---|
| user_id | string | Seulement les connexions de cet utilisateur. |
| limit | integer | Combien en renvoyer par page. |
| cursor | string | Le next_cursor de la page précédente. |
curl https://api.honkio.ca/v1/auth-apps/APP_ID/sign-ins \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"data": [
{
"id": "clxxxsigninxxxxxxxxxxxxxx",
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"method": "email",
"outcome": "succeeded",
"reason": null,
"ip": "203.0.113.24",
"network": "Example Telecom",
"asn": 64500,
"city": "Toronto",
"region": "ON",
"country": "CA",
"device": "Firefox on macOS",
"risk": "low",
"flagged": false,
"created_at": "2026-11-02T15:04:05.000Z"
}
],
"next_cursor": null
}Lancer une exportation
POST/v1/auth-apps/:id/exports
Permission: auth_users: w
Commence à préparer un fichier des utilisateurs, organisations, rôles et métadonnées publiques des clés d’accès de l’application. Le lien de téléchargement de cette réponse n’est montré qu’une fois; interrogez l’exportation jusqu’à ready.
Demande aussi un jeton de vérification renforcée pour auth_users:export dans l’en-tête X-Step-Up-Token.
curl -X POST https://api.honkio.ca/v1/auth-apps/APP_ID/exports \
-H "Authorization: Bearer mk_test_YOUR_KEY" \
-H "X-Step-Up-Token: STEP_UP_TOKEN"{
"id": "clxxxexportxxxxxxxxxxxxxx",
"status": "pending",
"counts": null,
"byte_size": null,
"created_at": "2026-11-02T15:04:05.000Z",
"ready_at": null,
"expires_at": null,
"downloaded_at": null,
"download_url": "https://api.honkio.ca/v1/auth-exports/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}Obtenir une exportation
GET/v1/auth-apps/:id/exports/:exportId
Permission: auth_users: r
Son statut et ses comptes. Le fichier se télécharge une seule fois, pendant 15 minutes, depuis le lien renvoyé à la création de l’exportation.
curl https://api.honkio.ca/v1/auth-apps/APP_ID/exports/EXPORT_ID \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"id": "clxxxexportxxxxxxxxxxxxxx",
"status": "ready",
"counts": {
"users": 1240,
"passkeys": 402,
"organizations": 12,
"roles": 30,
"memberships": 310
},
"byte_size": 482113,
"created_at": "2026-11-02T15:04:05.000Z",
"ready_at": "2026-11-02T15:04:35.000Z",
"expires_at": "2026-11-02T15:19:35.000Z",
"downloaded_at": null
}Obtenir la dernière exportation
GET/v1/auth-apps/:id/exports/latest
Permission: auth_users: r
L’exportation la plus récente de l’application, quel que soit son statut. Tant qu’elle est ready, la clé qui l’a lancée, si elle envoie un jeton de vérification renforcée pour auth_users:export dans l’en-tête X-Step-Up-Token (la même vérification que pour lancer une exportation), reçoit aussi un nouveau download_url à usage unique; le lien précédent cesse de fonctionner, et le nouveau expire avec l’exportation. Sans cette vérification, et pour les autres clés, download_url vaut null et le lien précédent continue de fonctionner.
curl https://api.honkio.ca/v1/auth-apps/APP_ID/exports/latest \
-H "Authorization: Bearer mk_test_YOUR_KEY"{
"id": "clxxxexportxxxxxxxxxxxxxx",
"status": "ready",
"counts": {
"users": 1240,
"passkeys": 402,
"organizations": 12,
"roles": 30,
"memberships": 310
},
"byte_size": 482113,
"created_at": "2026-11-02T15:04:05.000Z",
"ready_at": "2026-11-02T15:04:35.000Z",
"expires_at": "2026-11-02T15:19:35.000Z",
"downloaded_at": null,
"download_url": "https://api.honkio.ca/v1/auth-exports/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}Télécharger une exportation
GET/v1/auth-exports/:token
Permission: Aucune : le lien à usage unique sert d’identifiant.
Le fichier, en JSON. Le lien ne fonctionne qu’une fois et expire 15 minutes après que l’exportation est prête. Il ne contient jamais de sessions, de jetons, de codes ni de clés.
curl https://api.honkio.ca/v1/auth-exports/DOWNLOAD_TOKEN{
"app_id": "clxxxappxxxxxxxxxxxxxxxxx",
"exported_at": "2026-11-02T15:04:05.000Z",
"users": [
{
"id": "usr_clxxxuserxxxxxxxxxxxxxx",
"email": "ada@example.com",
"email_verified": true,
"phone": null,
"phone_verified": false,
"name": "Ada Lovelace",
"blocked": false,
"created_at": "2026-11-02T15:04:05.000Z",
"last_sign_in_at": "2026-11-20T09:12:44.000Z",
"metadata": {},
"blocked_at": null,
"blocked_reason": null,
"likely_bot": false,
"reverify_required": false
}
],
"organizations": [
{
"id": "org_clxxxorgxxxxxxxxxxxxxxx",
"name": "Northwind",
"slug": "northwind",
"two_step_required": false,
"created_at": "2026-11-02T15:04:05.000Z"
}
],
"memberships": [
{
"organization_id": "org_clxxxorgxxxxxxxxxxxxxxx",
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"role": "admin",
"last_used_at": null,
"created_at": "2026-11-02T15:04:05.000Z",
"updated_at": "2026-11-02T15:04:05.000Z"
}
],
"passkeys": [
{
"user_id": "usr_clxxxuserxxxxxxxxxxxxxx",
"name": "MacBook",
"created_at": "2026-11-02T15:04:05.000Z",
"last_used_at": "2026-11-02T15:04:05.000Z"
}
]
}
HonkIO