Docs API

Référence API

Documentation complète pour toutes les API Public Safety incluant les points d'accès GraphQL, REST et WebSocket. Tous les points d'accès nécessitent un argus_auth_token valide pour retourner des données.

Reference posture

Start in the auth lane, move requests through the operational API, and keep realtime and audit controls visible from the same reference surface.

Auth endpoints

80+

REST endpoints

130+

GraphQL operations

180+

Realtime subscriptions

WS

API operating model

The auth lane, casework lane, and realtime lane are documented as one operating surface

Public Safety Command Center expose deux services API principaux avec plus de 200 points d'accès REST et 180+ opérations GraphQL. Tous les points d'accès authentifiés nécessitent un argus_auth_token valide obtenu via le Service d'Auth.

auth.knogin.com

Service d'Authentification

Gère toute l'authentification, la gestion des utilisateurs, MFA, SSO, clés API, rôles, permissions et gestion des sessions. C'est ici que vous obtenez les jetons pour accéder au Service API.

Surface

80+ Points d'Accès

Identity lane

OAuth2/OIDC

Operator assurance

MFA TOTP/Passkey/Voix

api.knogin.com

Service API

L'API principale de la plateforme de renseignement fournissant des points d'accès REST et GraphQL pour les enquêtes, cas, profils, preuves, alertes, moniteurs, services IA et communication en temps réel.

REST lane

130+ Points d'Accès REST

Graph surface

180+ Opérations GraphQL

Realtime lane

WebSocket

URLs de Base

Base URLs and deployment lanes

Use the production lane for live workloads and the staging lane for validation, connector certification, and client rollout rehearsals.

Service d'Auth (Production)

https://auth.knogin.com

Service API (Production)

https://api.knogin.com

Service d'Auth (Staging)

https://auth-staging.knogin.com

Service API (Staging)

https://api-staging.knogin.com

Authentification

Authentication handshake

Toutes les requêtes API authentifiées nécessitent un argus_auth_token valide. Les jetons sont obtenus via le Service d'Auth et doivent être inclus dans toutes les requêtes suivantes aux deux services. Les clés API peuvent être générées dans le tableau de bord du Service d'Auth sous votre profil utilisateur pour l'accès programmatique.

Exemple : Connexion avec identifiants (Service d'Auth)
curl -X POST https://auth.knogin.com/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"api_key":"your_api_key","platform":"publicSafety"}'

# Response
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 3600
}

Product context

Investigation workspace

The same investigation state exposed to analysts is what the API and GraphQL layers need to describe accurately.

Analysis context

Graph and relationship state

Graph and realtime endpoints should map directly to the linked entity and workflow state teams review in the product.

Request flow

Keep the request path explicit so identity, ingest, and oversight teams are reading the same contract

The fastest way to make an API page feel synthetic is to dump endpoints without showing how the lanes fit together. This flow keeps the operational order clear.

  1. 1

    Mint access in the auth lane

    Issue short-lived access tokens, enforce MFA or passkey policy, and scope platform access before a client is allowed near investigative data.

  2. 2

    Submit data and workflow requests

    Move ingestion, enrichment, graph, evidence, and reporting calls through the API lane with the same token and RBAC posture.

  3. 3

    Subscribe to operational state

    Use GraphQL subscriptions or event streams when teams need live alerts, workflow updates, and collaboration signals without polling loops.

  4. 4

    Audit every access path

    Keep response envelopes, rate limits, and audit proofs visible so integration teams know what is reviewable in production and court-facing workflows.

Common headers

Browser and service clients use different transport shapes

Browser clients normally hold HTTP-only cookies. Server clients carry bearer tokens. Both end up under the same audit and rate-limit controls.

Auth headers
Authorization: Bearer <argus_auth_token>
Cookie: platform_access_token=<jwt>; knogin_refresh_token=<jwt>

SERVICE D'AUTH

Points d'Accès du Service d'Auth

Le Service d'Auth (auth.knogin.com) gère toute l'authentification, l'autorisation, la gestion des utilisateurs, MFA, SSO, clés API, rôles, permissions, drapeaux de fonctionnalités et gestion multi-locataire. Il contient plus de 80 points d'accès organisés par fonctionnalité.

Gestion des Jetons & Sessions

Points d'accès d'authentification principaux pour l'obtention, le rafraîchissement et la gestion des jetons d'accès et des sessions.

POST
/v1/token

Connexion avec Identifiants (Formulaire OAuth2)

Point d'accès de connexion compatible OAuth2 qui accepte l'email et le mot de passe encodés en formulaire. Émet des jetons d'accès spécifiques à la plateforme et définit des cookies HTTP-only (platform_access_token, knogin_refresh_token) pour les sessions navigateur. Si MFA est activé, retourne un cookie de défi nécessitant une vérification via /v1/mfa/verify-login. Supporte redirect_uri pour la navigation post-connexion.

Public5/min
POST
/v1/auth/token

Connexion avec Clé API

Authentification utilisant une clé API pour recevoir un jeton JWT spécifique à la plateforme. Idéal pour l'authentification service-à-service, les pipelines CI/CD et l'accès programmatique. Les clés API peuvent être générées dans le tableau de bord du Service d'Auth sous votre profil utilisateur. Le corps de la requête nécessite les champs api_key et platform.

Public
POST
/v1/auth/refresh

Rafraîchir le Jeton d'Accès

Rafraîchit les jetons d'accès expirés en utilisant le cookie knogin_refresh_token. Retourne de nouveaux cookies de jeton d'accès sans nécessiter de réauthentification. Supporte un paramètre de chemin platform optionnel pour le rafraîchissement de jeton spécifique à la plateforme. Essentiel pour maintenir des sessions de longue durée dans les applications navigateur.

Public
POST
/v1/auth/logout

Déconnexion & Terminaison de Session

Termine la session utilisateur actuelle en invalidant tous les jetons et supprimant les cookies d'authentification. Supprime la session du magasin de sessions côté serveur. Supporte un paramètre de chemin platform optionnel. Retourne 204 No Content en cas de succès.

Auth Requise
POST
/v1/auth/revoke-user-sessions/{user_id}

Révoquer Toutes les Sessions Utilisateur (Admin)

Termine de force toutes les sessions actives pour un utilisateur spécifique sur tous les appareils et plateformes. Utilisé pour les incidents de sécurité ou lorsque l'accès d'un utilisateur doit être immédiatement révoqué. Retourne le nombre de sessions révoquées. Nécessite le rôle admin ou superutilisateur.

Admin/Superutilisateur

Profil Utilisateur & Libre-Service

Points d'accès permettant aux utilisateurs de gérer leurs propres profils, consulter leurs informations et mettre à jour leurs paramètres.

GET
/v1/users/me

Obtenir le Profil Utilisateur Actuel

Retourne le profil complet de l'utilisateur actuellement authentifié incluant l'email, le nom d'affichage, l'organisation, les rôles, les permissions, le statut MFA, la date de création et l'horodatage de dernière connexion. Utilisé par les applications frontend pour remplir les tableaux de bord utilisateur et vérifier les permissions.

Auth Requise
PUT
/v1/users/me

Mettre à Jour Son Propre Profil

Permet aux utilisateurs de mettre à jour leurs propres informations de profil incluant le nom d'affichage, le numéro de téléphone et le mot de passe. Si le mot de passe est changé, toutes les autres sessions sont automatiquement terminées pour la sécurité. Nécessite la vérification du mot de passe actuel pour les changements sensibles.

Auth Requise
GET
/v1/auth/me

Obtenir le Profil avec Drapeaux de Fonctionnalités

Retourne le profil utilisateur actuel avec les drapeaux de fonctionnalités évalués pour le locataire de l'utilisateur et les remplacements spécifiques à l'utilisateur. Utilisé par les applications frontend pour déterminer quelles fonctionnalités afficher selon le niveau d'abonnement et les expériences activées.

Auth Requise
POST
/v1/users/create

Auto-Inscription

Point d'accès public pour les nouveaux utilisateurs pour créer un compte. Accepte l'email et le mot de passe, crée l'utilisateur dans le système et envoie un email de vérification. Limité à 2 requêtes par heure par IP pour prévenir les abus. Retourne l'objet utilisateur créé.

Public2/hour

Authentification Multi-Facteurs (MFA)

Support MFA complet incluant TOTP (applications d'authentification), passkeys WebAuthn et vérification vocale. Les utilisateurs peuvent activer plusieurs méthodes pour une sécurité renforcée.

POST
/v1/portal/mfa/totp/enable

Activer TOTP - Générer le Secret

Génère un nouveau secret TOTP et le retourne avec une image de code QR (encodée en base64) pour scanner avec des applications d'authentification comme Google Authenticator, Authy ou 1Password. Le secret est stocké en état en attente jusqu'à vérification.

Auth Requise
POST
/v1/portal/mfa/totp/verify-and-activate

Vérifier et Activer TOTP

Vérifie un code TOTP de l'application d'authentification de l'utilisateur et active le MFA TOTP pour son compte. Nécessite le code à 6 chiffres de l'application d'authentification. Une fois activé, TOTP sera requis pour toutes les connexions futures.

Auth Requise
POST
/v1/mfa/verify-login

Vérifier MFA Lors de la Connexion

Valide le code MFA (TOTP) pendant le flux de défi de connexion. Appelé après la connexion initiale lorsque MFA est requis. Nécessite le cookie de défi TF_AUTH et le code TOTP à 6 chiffres. En cas de succès, émet les jetons d'accès complets.

Public5/min
POST
/v1/portal/mfa/passkey/generate-registration

Générer les Options d'Enregistrement Passkey

Génère les options d'enregistrement WebAuthn pour créer une nouvelle credential passkey. Retourne le défi, les informations de la partie de confiance et les algorithmes supportés. Utilisé par l'API WebAuthn du navigateur (navigator.credentials.create) pour créer une nouvelle passkey.

Auth Requise
POST
/v1/portal/mfa/passkey/verify-registration

Vérifier et Sauvegarder la Passkey

Vérifie la réponse d'attestation WebAuthn du navigateur et sauvegarde la nouvelle credential passkey. Stocke la clé publique, l'ID de credential et les métadonnées. Les utilisateurs peuvent enregistrer plusieurs passkeys pour différents appareils.

Auth Requise
POST
/v1/portal/mfa/voice/enroll

Enregistrer un Profil Vocal

Enregistre un échantillon vocal pour le MFA basé sur la voix. Accepte des données audio encodées en base64 de l'utilisateur prononçant une phrase de passe. L'empreinte vocale est traitée et stockée pour vérification future. Nécessite plusieurs échantillons pour un enregistrement précis.

Auth Requise

Authentification Unique (SSO)

Intégration SSO basée sur OAuth2/OIDC avec les fournisseurs d'identité d'entreprise incluant Google Workspace et Microsoft Entra ID (Azure AD).

GET
/v1/portal/sso/available-providers

Lister les Fournisseurs SSO Disponibles

Retourne une liste des fournisseurs SSO configurés pour le locataire actuel. La réponse inclut les noms des fournisseurs et le nombre. Utilisé par l'interface de connexion pour afficher les boutons de connexion SSO disponibles (ex: 'Se connecter avec Google', 'Se connecter avec Microsoft').

Public
GET
/v1/portal/login/{provider}

Initier la Connexion SSO

Initie le flux d'autorisation OAuth2/OIDC avec le fournisseur d'identité spécifié. Redirige l'utilisateur vers la page de connexion du fournisseur (Google, Microsoft). Accepte redirect_uri pour la navigation post-connexion.

Public
GET
/v1/portal/auth/{provider}

Gestionnaire de Callback SSO

Point d'accès de callback OAuth2/OIDC qui gère le code d'autorisation retourné par le fournisseur d'identité. Échange le code contre des jetons, crée ou met à jour le compte utilisateur et établit la session avec les cookies.

Public

Gestion des Clés API

Créez et gérez les clés API pour l'accès programmatique. Les clés API peuvent être limitées à des plateformes spécifiques et avoir une expiration configurable.

POST
/v1/portal/users/me/keys

Créer une Clé API

Crée une nouvelle clé API pour l'accès programmatique. La clé complète n'est retournée qu'une seule fois à la création - stockez-la en sécurité. Supporte le cadrage par plateforme et une date d'expiration optionnelle. Retourne le préfixe de clé pour identification.

Auth Requise
GET
/v1/portal/users/me/keys

Lister les Clés API

Retourne toutes les clés API pour l'utilisateur actuel. Affiche le préfixe de clé, la date de création, la date de dernière utilisation et les plateformes associées. Ne retourne pas la valeur complète de la clé pour la sécurité.

Auth Requise
DELETE
/v1/portal/users/me/keys/{key_id}

Révoquer une Clé API

Révoque définitivement une clé API, invalidant immédiatement tous les jetons émis avec cette clé. Toutes les applications utilisant cette clé perdront immédiatement l'accès. Ne peut pas être annulé.

Auth Requise

Gestion des Utilisateurs (Admin)

Points d'accès administratifs pour la gestion des utilisateurs, rôles et permissions. L'accès varie selon la hiérarchie des rôles.

GET
/v1/portal/admin/users

Lister les Utilisateurs

Retourne tous les utilisateurs selon le rôle de l'appelant. Les gestionnaires voient uniquement les utilisateurs de leur organisation. Les superutilisateurs voient tous les utilisateurs de toutes les organisations. Supporte la pagination et le filtrage par rôle, statut et organisation.

Admin/Gestionnaire
POST
/v1/portal/admin/users

Créer un Utilisateur

Crée un nouvel utilisateur avec l'email, le mot de passe, les rôles et l'affectation d'organisation spécifiés. Envoie optionnellement un email de bienvenue. Peut attribuer l'accès initial aux plateformes et le niveau d'habilitation de sécurité. Superutilisateur uniquement.

Admin/Superutilisateur
PUT
/v1/portal/admin/users/{user_id}

Mettre à Jour un Utilisateur

Met à jour les détails de l'utilisateur incluant les rôles, les permissions, l'accès aux plateformes et l'habilitation de sécurité. Peut activer/désactiver les utilisateurs. Les changements de rôle prennent effet au prochain rafraîchissement de jeton. Superutilisateur uniquement pour les changements inter-organisations.

Admin/Superutilisateur
PATCH
/v1/users/{user_id}/permissions

Mettre à Jour les Permissions Utilisateur

Met à jour les permissions granulaires d'un utilisateur indépendamment de ses permissions basées sur les rôles. Permet un contrôle d'accès précis. Admin ou superutilisateur uniquement. Retourne l'ensemble des permissions mis à jour.

Admin/Superutilisateur

Gestion des Rôles & Permissions

Définissez des rôles personnalisés et des permissions granulaires pour un contrôle d'accès précis au sein des organisations.

GET
/v1/roles

Lister les Rôles Disponibles

Retourne tous les rôles disponibles dans le système incluant les rôles intégrés (admin, gestionnaire, analyste, lecteur) et les rôles personnalisés définis pour l'organisation. Inclut les permissions associées à chaque rôle.

Public
POST
/v1/roles

Créer un Rôle Personnalisé

Crée un nouveau rôle personnalisé avec les permissions spécifiées. Les rôles personnalisés étendent la hiérarchie des rôles intégrés. Superutilisateur uniquement. Les noms de rôle doivent être uniques au sein de l'organisation.

Admin/Superutilisateur
PUT
/v1/roles/{role_id}

Mettre à Jour un Rôle

Met à jour le nom, la description ou les permissions d'un rôle personnalisé. Les changements affectent tous les utilisateurs ayant ce rôle au prochain rafraîchissement de jeton. Ne peut pas modifier les rôles intégrés. Superutilisateur uniquement.

Admin/Superutilisateur
DELETE
/v1/roles/{role_id}

Supprimer un Rôle Personnalisé

Supprime un rôle personnalisé. Les utilisateurs ayant ce rôle perdront les permissions associées. Ne peut pas supprimer les rôles actuellement attribués à des utilisateurs. Ne peut pas supprimer les rôles intégrés. Superutilisateur uniquement.

Admin/Superutilisateur

Drapeaux de Fonctionnalités

Contrôlez la disponibilité des fonctionnalités au niveau locataire et utilisateur pour des déploiements progressifs et tests A/B.

GET
/v1/feature-flags/tenant

Obtenir les Drapeaux de Fonctionnalités du Locataire

Retourne tous les drapeaux de fonctionnalités et leurs valeurs pour le locataire actuel. Ce sont les drapeaux de base qui s'appliquent à tous les utilisateurs de l'organisation sauf s'ils sont remplacés au niveau utilisateur.

Admin/Gestionnaire
PUT
/v1/feature-flags/tenant

Mettre à Jour les Drapeaux de Fonctionnalités du Locataire

Met à jour les drapeaux de fonctionnalités pour le locataire. Les changements s'appliquent à tous les utilisateurs de l'organisation sauf s'ils ont des remplacements au niveau utilisateur. Utilisé pour activer/désactiver des fonctionnalités pour toute l'organisation.

Admin/Gestionnaire
GET
/v1/feature-flags/user/{user_id}

Obtenir les Remplacements de Drapeaux Utilisateur

Retourne les remplacements de drapeaux de fonctionnalités spécifiques à l'utilisateur. Ceux-ci remplacent les drapeaux au niveau locataire pour les utilisateurs individuels. Utilisé pour les tests bêta avec des utilisateurs spécifiques ou pour fournir des fonctionnalités premium à des comptes sélectionnés.

Admin/Gestionnaire
PUT
/v1/feature-flags/user/{user_id}

Mettre à Jour les Remplacements de Drapeaux Utilisateur

Définit les remplacements de drapeaux de fonctionnalités spécifiques à l'utilisateur. Les remplacements ne peuvent être qu'un sous-ensemble des drapeaux de l'organisation - ne peut pas activer des drapeaux non disponibles pour le locataire. Retourne les drapeaux utilisateur mis à jour.

Admin/Gestionnaire

Gestion Multi-Locataire & Intégrateur Système

Gérez la hiérarchie multi-locataire incluant les Intégrateurs Systèmes (IS) qui revendent et gèrent les déploiements Public Safety pour leurs clients.

POST
/v1/systems-integrators

Créer un Intégrateur Système

Crée une nouvelle organisation Intégrateur Système qui peut gérer plusieurs locataires clients. Admin Vectis Consilium uniquement. L'IS reçoit son propre portail admin et peut créer/gérer les déploiements clients.

Admin Vectis Consilium
GET
/v1/systems-integrators/{si_id}/customers

Lister les Clients IS

Retourne tous les locataires clients gérés par un Intégrateur Système. Les admins IS ne peuvent voir que leurs propres clients. Inclut le statut du locataire, le nombre d'utilisateurs et l'activation des fonctionnalités.

Admin IS
POST
/v1/systems-integrators/{si_id}/customers

Créer un Locataire Client

Crée un nouveau locataire client sous un Intégrateur Système. L'IS devient l'entité gestionnaire pour la facturation et le support. Configure les fonctionnalités initiales selon le niveau d'abonnement de l'IS.

Admin IS
PUT
/v1/tenants/{tenant_id}

Mettre à Jour le Locataire

Met à jour la configuration du locataire incluant le nom, les fonctionnalités, les quotas et les métadonnées. Utilisé pour activer/désactiver des fonctionnalités ou ajuster les limites de ressources pour un client.

Admin IS

Utilitaires & Configuration

Points d'accès de configuration administrative et utilitaires.

GET
/v1/portal/admin/config

Obtenir la Configuration Admin

Retourne les données de configuration pour l'interface admin incluant les rôles disponibles, le catalogue des permissions, la liste des pays, les plateformes supportées et la disponibilité des fonctionnalités. Utilisé pour remplir les menus déroulants et formulaires du tableau de bord admin.

Admin/Gestionnaire
GET
/v1/portal/data/countries

Obtenir la Liste des Pays

Retourne une liste de tous les pays avec leurs régions/états pour les formulaires d'adresse. Inclut les codes ISO, les noms et les subdivisions. Point d'accès public utilisé par les formulaires d'inscription et de profil.

Public
GET
/health

Vérification de Santé

Point d'accès de vérification de santé simple qui retourne le statut du service. Utilisé par les équilibreurs de charge et les systèmes de surveillance. Retourne status: healthy, service: auth_service.

Public
GET
/audit/logs

Obtenir les Journaux d'Audit

Retourne les journaux d'audit de sécurité pour le service d'authentification. Inclut les tentatives de connexion, les changements de permissions et les actions administratives. Administrateur avec permission d'audit requis.

Administrateur

SERVICE API

Points d'Accès du Service API

Le Service API (api.knogin.com) est la plateforme de renseignement principale fournissant plus de 130 points d'accès REST pour les enquêtes, cas, profils, preuves, alertes, services IA, communication en temps réel et plus encore. Tous les points d'accès nécessitent une authentification sauf indication contraire.

Santé & Capacités Système

Points d'accès de surveillance de la santé du système et de découverte des capacités pour l'intégration et la surveillance.

GET
/api/v1/health

Vérification de Santé Complète

Retourne le statut de santé détaillé de tous les composants système incluant la base de données graphe Neo4j, la base de données relationnelle PostgreSQL, le cache Redis, les services IA (OpenAI, Anthropic, Google AI) et les intégrations externes. La réponse inclut les métriques de latence et le statut de connexion pour chaque composant. Utilisé pour la surveillance opérationnelle et la réponse aux incidents.

Public
GET
/api/v1/health/simple

Vérification de Santé Simple

Vérification de santé légère retournant une réponse minimale pour les équilibreurs de charge et les systèmes d'orchestration (Kubernetes, Cloud Run). Retourne 200 OK si le service fonctionne. Ne vérifie pas les dépendances en aval pour un temps de réponse plus rapide.

Public
GET
/api/v1/health/connectivity

Connectivité des Services Externes

Vérifie la connectivité à tous les services externes incluant les fournisseurs IA, les sources de données OSINT, les systèmes de stockage et les services de notification. Retourne le statut détaillé pour chaque point d'intégration.

Public
GET
/api/v1/capabilities

Capacités du Système

Retourne les capacités système complètes pour la configuration frontend incluant les domaines supportés, les fournisseurs OSINT disponibles, les formats de fichiers acceptés, les points d'accès API, les fonctionnalités activées, les limites de taux et les tailles maximales de fichiers. Essentiel pour la configuration dynamique de l'interface.

Public

Traitement du Renseignement

Traitement de documents propulsé par IA pour l'extraction d'entités, relations et renseignements à partir de fichiers texte, images, audio et vidéo.

POST
/api/v1/intelligence/process-text

Traiter un Document Texte

Téléversez et traitez des fichiers texte, PDF ou DOCX pour enquête. Utilise l'IA pour extraire les entités (personnes, organisations, lieux), les relations, les événements et les renseignements clés des documents. Supporte les fichiers jusqu'à 50 Mo. Les résultats sont stockés et liés à l'enquête.

Auth Requise
POST
/api/v1/process-image-file

Traiter une Image

Téléversez et traitez des images pour l'analyse visuelle propulsée par IA. Effectue l'extraction de texte OCR, la détection d'objets, la détection de visages, l'identification de lieux et la classification de scènes. Supporte les formats JPEG, PNG, GIF et WebP.

Auth Requise
POST
/api/v1/process-audio-file

Traiter un Audio

Téléversez et traitez des fichiers audio pour la transcription et l'identification des locuteurs. Utilise la reconnaissance vocale avancée et la diarisation des locuteurs. Supporte les formats MP3, WAV, OGG et M4A jusqu'à 100 Mo.

Auth Requise
POST
/api/v1/process-video-file

Traiter une Vidéo

Téléversez et traitez des fichiers vidéo pour une analyse complète. Extrait la transcription audio, détecte les visages à travers les images, identifie les scènes et objets, et génère une chronologie visuelle. Supporte MP4, MOV, AVI, WebM jusqu'à 500 Mo.

Auth Requise

Gestion des Profils

Créez, mettez à jour et enrichissez les profils d'entités avec des données de fournisseurs OSINT. Supporte les opérations individuelles et par lots.

POST
/api/v1/profiles

Créer un Profil

Crée un nouveau profil d'entité (personne, organisation, véhicule, etc.). Accepte les données initiales et valide/normalise automatiquement les champs. Déclenche l'enrichissement en arrière-plan si auto_enrich est activé.

Auth Requise
GET
/api/v1/profiles/{profile_id}

Obtenir un Profil

Retourne les données complètes du profil incluant tous les attributs, les entités liées, la chronologie et les données d'enrichissement. Supporte la sélection de champs pour l'optimisation des performances.

Auth Requise
POST
/api/v1/profiles/{profile_id}/enrich

Enrichir un Profil

Enrichit un profil avec des données de fournisseurs OSINT. Spécifiez optionnellement quels fournisseurs utiliser (social, criminel, financier, etc.). Retourne les données agrégées incluant la présence sur les réseaux sociaux, les registres publics et le renseignement open source.

Auth Requise
POST
/api/v1/batch/enrich

Enrichir des Profils par Lots

Enrichit plusieurs profils en une seule requête. Maximum 10 profils par requête pour gérer les limites de taux des fournisseurs. Retourne le statut de succès/échec individuel pour chaque profil.

Auth Requise

Enquêtes & Cas

Gérez les enquêtes, cas, tâches et le cycle de vie complet des enquêtes.

POST
/api/v1/investigations

Créer une Enquête

Crée un nouvel espace de travail d'enquête avec titre, description et niveau de classification. Attribue automatiquement le créateur comme enquêteur principal. Retourne l'ID de l'enquête pour les opérations suivantes.

Auth Requise
GET
/api/v1/investigations/{investigation_id}

Obtenir une Enquête

Retourne les détails complets de l'enquête incluant les métadonnées, les membres de l'équipe, les cas, les profils, les fichiers et la chronologie des activités. Supporte la sélection de champs pour les grandes enquêtes.

Auth Requise
GET
/api/v1/investigations

Lister les Enquêtes

Retourne les enquêtes accessibles à l'utilisateur actuel. Supporte le filtrage par statut, date, membre de l'équipe et requête de recherche. Paginé avec options de tri.

Auth Requise
POST
/api/v1/investigations/{investigation_id}/files

Ajouter des Fichiers à l'Enquête

Associe les fichiers téléversés à une enquête. Les fichiers sont automatiquement mis en file d'attente pour le traitement IA selon le type. Déclenche l'indexation pour la recherche.

Auth Requise

Alertes & Moniteurs

Configurez les règles de surveillance et gérez les alertes déclenchées par les flux de données en temps réel.

POST
/api/v1/alerts

Créer une Alerte

Crée programmatiquement une alerte. Typiquement les alertes sont créées par les moniteurs, mais la création manuelle est supportée pour les intégrations. Nécessite un titre, une sévérité et au moins une référence d'entité.

Auth Requise
POST
/api/v1/alerts/{alert_id}/decide

Décider d'une Alerte

Enregistre une décision sur une alerte : escalader, enquêter, rejeter ou faux positif. La décision inclut la justification et la disposition optionnelle de l'entité. Les alertes fermées peuvent déclencher des workflows de suivi.

Auth Requise
POST
/api/v1/monitors

Créer un Moniteur

Crée une règle de surveillance qui déclenche des alertes basées sur les patterns de flux de données. Supporte des conditions complexes avec correspondance d'entités, limites géographiques, patterns temporels et déclencheurs de seuils.

Auth Requise
POST
/api/v1/ai/generate-monitor-spec

Générer un Moniteur à partir d'une Description

Utilise l'IA pour convertir des descriptions en langage naturel en spécifications de moniteur structurées. Inclut l'analyse de sécurité, l'extraction de paramètres et l'estimation du volume d'alertes. Aide les utilisateurs non techniques à créer des moniteurs complexes.

Auth Requise

Services IA

Accès direct aux capacités IA incluant l'analyse de texte, l'extraction d'entités, la cartographie des relations et le traitement du langage naturel.

POST
/api/v1/ai/analyze-text

Analyser du Texte avec l'IA

Effectue une analyse IA complète sur le contenu textuel. Extrait les entités, relations, événements, sentiment et thèmes clés. Supporte plusieurs langues avec détection automatique.

Auth Requise
POST
/api/v1/ai/generate-graph

Générer un Graphe à partir de Texte

Crée un graphe de connaissances à partir de texte non structuré. Identifie les entités, infère les relations et génère des données de graphe structurées adaptées à la visualisation ou à l'import Neo4j.

Auth Requise
POST
/api/v1/ai/summarize

Résumer du Contenu

Génère des résumés concis de contenu long. Supporte plusieurs longueurs et styles de résumé (exécutif, technique, points). Préserve les entités et faits clés.

Auth Requise
POST
/api/v1/ai/extract-entities

Extraire les Entités Nommées

Extrait et classifie les entités nommées du texte. Retourne les étendues d'entités, types, scores de confiance et identifiants résolus lorsque disponibles. Supporte les types d'entités personnalisés.

Auth Requise

Gestion des Fichiers

Téléversez, téléchargez et gérez les fichiers avec application complète du RBAC et journalisation d'audit.

POST
/api/v1/files

Téléverser un Fichier

Téléverse un fichier vers le stockage sécurisé. Détecte automatiquement le type de fichier et met en file d'attente pour le traitement approprié. Retourne l'ID du fichier et le statut de traitement. Supporte les téléversements par morceaux pour les gros fichiers.

Auth Requise
GET
/api/v1/files/{file_id}/download

Télécharger un Fichier

Télécharge un fichier avec application complète du RBAC et journalisation d'audit. Vérifie que l'utilisateur a accès à l'enquête/cas associé. Supporte les requêtes de plage pour les gros fichiers. Retourne le fichier avec les en-têtes content-type appropriés.

Auth Requise
GET
/api/v1/files/{file_id}/presigned-url

Obtenir une URL Présignée

Génère une URL présignée à durée limitée pour l'accès direct aux fichiers depuis le stockage Cloudflare R2. L'URL expire après une durée configurable (par défaut 1 heure). Utile pour intégrer des fichiers dans des rapports ou partager avec des outils externes.

Auth Requise
GET
/api/v1/admin/files/{file_id}/audit

Piste d'Audit des Fichiers (Admin)

Retourne la piste d'audit complète pour un fichier spécifique incluant tous les événements d'accès, téléchargements et modifications. Admin ou superutilisateur uniquement. Essentiel pour la documentation de chaîne de garde.

Admin/Superutilisateur

Métadonnées & Documentation API

Points d'accès API auto-descriptifs pour l'intégration dynamique et la documentation.

GET
/api/v1/docs/endpoints

Documentation des Points d'Accès API

Retourne la documentation complète de tous les points d'accès API incluant les chemins, méthodes, paramètres et schémas de réponse. Utilisé pour générer les SDK clients et la documentation d'intégration.

Public
GET
/api/v1/metadata/domains

Métadonnées des Domaines

Retourne les métadonnées sur tous les domaines disponibles (types d'entités) incluant leurs propriétés, relations et configuration UI. Essentiel pour construire des interfaces dynamiques qui s'adaptent aux changements de schéma.

Public
GET
/api/v1/metadata/enums

Métadonnées des Énumérations

Retourne tous les types d'énumération utilisés dans l'API incluant les codes de statut, niveaux de priorité, niveaux de classification et autres valeurs catégorielles. Utilisé pour remplir les menus déroulants.

Public
GET
/api/v1/metadata/providers

Métadonnées des Fournisseurs

Retourne les métadonnées sur les fournisseurs OSINT et de données disponibles incluant les capacités, limites de taux et identifiants requis. Utilisé pour configurer les préférences de sources de données.

Public

Audit & Conformité

Pistes d'audit cryptographiques avec vérification par arbre de Merkle pour une journalisation inviolable.

GET
/api/v1/audit/anchor/latest

Obtenir la Dernière Ancre Merkle

Retourne le hash racine de l'arbre de Merkle le plus récent ancrant le journal d'audit. Utilisé pour la vérification cryptographique de l'intégrité du journal. L'ancre est périodiquement publiée sur la blockchain pour l'immuabilité.

Public
GET
/api/v1/audit/anchor/proof/{entry_id}

Obtenir la Preuve d'Inclusion

Retourne une preuve d'inclusion Merkle pour une entrée d'audit spécifique. La preuve peut être vérifiée indépendamment contre l'ancre publiée. Essentielle pour les exigences de chaîne de garde médico-légale.

Public
POST
/api/v1/mission-plans

Générer un Plan de Mission

Planification de mission assistée par IA basée sur la description du scénario, les profils cibles, les contraintes géographiques et l'évaluation des menaces. Retourne un plan structuré avec allocation des ressources, chronologie et contingences.

Auth Requise
PUT
/api/v1/mission-plans/{plan_id}

Affiner le Plan de Mission

Affine itérativement un plan de mission existant basé sur de nouvelles contraintes ou retours. Maintient l'historique des plans pour comparaison. Supporte les mises à jour partielles de sections spécifiques du plan.

Auth Requise

Evidence and audit

Evidence and custody state

File, evidence, and audit endpoints need to preserve the same custody and integrity context shown in the operator workflow.

GRAPHQL

API GraphQL

L'API GraphQL principale (api.knogin.com/graphql) fournit plus de 100 requêtes, 80+ mutations et des abonnements en temps réel utilisant le framework Strawberry GraphQL. GraphQL offre une récupération de données flexible, permettant aux clients de demander exactement les données dont ils ont besoin en une seule requête.

Domain

Enquêtes

Créer, gérer et suivre les enquêtes avec un support complet du cycle de vie incluant l'affectation d'équipe, la gestion des fichiers et le suivi de progression.

Domain

Dossiers

Gestion complète des dossiers avec modèles, flux de travail, suivi de statut, liaison de profils et opérations en masse pour une gestion efficace des dossiers.

Domain

Tâches

Gestion des tâches avec affectations, listes de contrôle, dépendances et suivi de progression pour des flux de travail d'enquête structurés.

Domain

Notes & Pièces Jointes

Notes d'enquête avec texte enrichi, fils de discussion et pièces jointes. Suivi complet de la chaîne de possession pour les fichiers de qualité probante.

Domain

Profils & Entités

Gestion des profils d'entité pour personnes, organisations et autres entités avec enrichissement OSINT et cartographie des relations.

Domain

Alertes & Moniteurs

Système d'alertes en temps réel avec moniteurs configurables, niveaux de sévérité et flux de travail de décision pour la détection des menaces.

Domain

Analyse de Graphe

Opérations sur le graphe de connaissances incluant la recherche de chemins, l'analyse de centralité, la détection de communautés et la prédiction de liens pour l'intelligence réseau.

Domain

Intelligence Géospatiale

Requêtes basées sur la localisation, clustering, cartes de chaleur, géorepérage et analyse chronologique pour les opérations d'intelligence géographique.

Domain

Tableaux de Bord & Visualisation

Créer et gérer des tableaux de bord personnalisables avec panneaux, graphiques et métriques en temps réel pour la conscience opérationnelle.

Domain

Recherche & Découverte

Recherche globale avec capacités sémantiques, filtres avancés et requêtes enregistrées pour une découverte rapide du renseignement.

Domain

Gestion des Preuves

Suivi des preuves admissibles en cour avec chaîne de possession, vérification d'intégrité et scellé pour les procédures judiciaires.

Domain

OSINT & Enrichissement

Requêtes de renseignement de sources ouvertes à travers plusieurs fournisseurs pour les données sur personnes, organisations, téléphones, emails, réseaux sociaux, véhicules, domaines, IP et cryptomonnaies.

Domain

Équipes & Utilisateurs

Gestion d'équipes avec rôles de membres, permissions et hiérarchies pour les opérations d'enquête collaboratives.

Domain

Flux de Travail & Automatisation

Flux de travail automatisés avec déclencheurs, conditions et actions pour des processus d'enquête rationalisés.

Domain

Services IA

Analyse de texte alimentée par l'IA, extraction d'entités, résumé, traduction et capacités de traitement de documents.

Domain

Notifications & Commentaires

Notifications en temps réel avec préférences, commentaires en fils, mentions et réactions pour la collaboration d'équipe.

Exemple : Requête d'Enquête avec Cas

Workspace query

Pull investigation, case, and operator context in one request when the client needs a live workspace rather than a single object.

GraphQL Query
query InvestigationWorkspace($investigationId: ID!) {
  investigation(id: $investigationId) {
    id
    title
    status
    createdAt
    profiles {
      id
      name
      type
      riskScore
    }
  }
  cases(investigationId: $investigationId) {
    id
    title
    status
    priority
    assignedTo {
      id
      displayName
    }
  }
}

Exemple : Mutation de Création d'Alerte

Alert mutation

Mutation responses should return the core alert object plus the linked entities needed by triage and escalation workflows.

GraphQL Mutation
mutation CreateAlert($input: CreateAlertInput!) {
  createAlert(input: $input) {
    id
    title
    severity
    confidence
    createdAt
    entities {
      id
      name
      type
    }
  }
}

Point d'Accès GraphQL

Primary graph endpoint

Use GraphQL when the client needs investigation state, linked entities, tasks, evidence, and dashboard context in one round trip.

https://api.knogin.com/graphql
AlertesEnquêtesTableaux de BordCollaborationTraitementNotifications

WEBSOCKET

WebSocket & Temps Réel

Communication en temps réel via WebSocket pour les mises à jour en direct, les abonnements GraphQL et les fonctionnalités de collaboration.

Points d'Accès WebSocket

Realtime endpoints

GraphQL subscriptions and event streams are separate lanes. Use the one that matches whether the client needs object-level updates or broader event fanout.

WS
wss://api.knogin.com/graphql

Abonnements GraphQL

Point d'accès WebSocket pour les abonnements GraphQL utilisant le protocole graphql-ws. Supporte toutes les opérations d'abonnement incluant les flux d'alertes, les mises à jour d'enquêtes et la collaboration en temps réel.

Auth Requise
WS
wss://api.knogin.com/ws

Flux d'Événements Général

Point d'accès WebSocket pour le streaming d'événements en temps réel général incluant les mises à jour d'enquêtes, les notifications système et la présence utilisateur. Supporte les abonnements basés sur les canaux.

Auth Requise

Formats de Réponse

Response envelopes and status handling

Keep success, error, and rate-limit patterns explicit so integrators do not have to reverse engineer operational behavior from a preview environment.

Réponse de Succès
{
  "success": true,
  "data": { ... },
  "message": "Operation completed successfully",
  "request_id": "req_abc123"
}
Réponse d'Erreur
{
  "error": "VALIDATION_ERROR",
  "message": "Invalid input parameters",
  "code": "ERR_VALIDATION_001",
  "details": {
    "field": "email",
    "reason": "Invalid email format"
  }
}

Codes de Statut HTTP

HTTP status map

Codes de statut courants retournés par l'API.

200OK - Requête réussie
201Créé - Ressource créée
204Pas de Contenu - Succès sans corps
400Mauvaise Requête - Paramètres invalides
401Non Autorisé - Authentification requise
403Interdit - Accès refusé
404Non Trouvé - Ressource non trouvée
422Entité Non Traitable - Erreur de validation
429Trop de Requêtes - Limite dépassée
500Erreur Interne du Serveur

Limites de Taux

Rate and payload limits

Limites de taux de l'API pour garantir une utilisation équitable et la stabilité du système.

Points d'Accès Standards

1000 requêtes par minute

Points d'Accès d'Authentification

5 requêtes par minute (connexion, vérification MFA)

Opérations par Lots

100 profils par requête par lots, 10 pour l'enrichissement

Téléversement de Fichiers

50 Mo taille maximale de fichier

Traitement IA

Soumis aux limites de jetons par niveau d'organisation

Prêt à Intégrer ?

Commencez avec nos SDK ou contactez notre équipe d'intégration pour du support.