Volume
API Endpoints
Use the API and GraphQL surface when you need direct object control over investigations, entities, evidence, alerts, and reporting.
200+
Plan the identity lane, transport lane, and partner connectors before data is pushed into live casework, evidence, and alert workflows.
Delivery posture
Map identity, transport, evidence handling, and partner systems before data is pushed into live investigative workflows.
Primary integration lanes
REST + GraphQL
Outbound events
Webhooks
Typed client support
SDKs
Vendor certification path
Partner intake
Operating context
Design the connector around the investigation workflow it feeds. The platform supports inbound data capture, outbound event delivery, and the review controls that sit around both.
Volume
Use the API and GraphQL surface when you need direct object control over investigations, entities, evidence, alerts, and reporting.
200+
Query model
GraphQL is the best fit when clients need one workspace request instead of a long chain of endpoint calls.
Full
Realtime
Use event streams and subscriptions when triage, collaboration, and alerting must update without polling loops.
WebSocket
Inbound lane
Push data into Public Safety from your systems. Ideal for data providers, OSINT sources, and enterprise systems.
Outbound lane
Receive data and alerts from Public Safety. Perfect for downstream systems, dashboards, and notification services.
Intake target
The connector design should reflect the same investigation, profile, and alert state analysts are expected to work from.
Operational routing
Inbound and outbound flows should line up with the routing, review, and automation patterns already present in the product.
Getting Started
A clean rollout starts by proving auth, transport, and minimal workspace access before connector volume or automation is turned on.
Request API credentials from your Public Safety administrator or through the dashboard. You'll receive an API key and organization ID.
Install the Public Safety SDK for your preferred programming language. We support Python, JavaScript/TypeScript, and more.
Initialize the SDK with your API key and configure any environment-specific settings.
Test your integration by making a simple API call to list investigations or check your connection status.
Authentication Example
Validate that the identity lane works before any larger connector or file-import job is introduced.
curl -X POST https://auth.knogin.com/v1/login \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "[email protected]" \
-d "password=your-password" \
-d "platform=argus"
curl -X GET https://api.knogin.com/v1/health \
-H "Authorization: Bearer <argus_auth_token>"Authentication & Authorization
Prove the identity lane first. Every transport path depends on the same token issuance, session posture, and access scoping decisions.
API Key Authentication
Simple bearer token authentication for server-to-server integrations. API keys are scoped to specific permissions and can be rotated regularly.
Authorization: Bearer <api_key>OAuth 2.0 / OpenID Connect
Full OAuth 2.0 support for user-delegated access. Ideal for applications that act on behalf of users with their consent.
OAuth 2.0 / OpenID ConnectJWT Token Authentication
Short-lived JWT tokens for stateless authentication. Tokens include user claims and permissions for fine-grained access control.
argus_auth_token (JWT)Transport lanes
Choose the transport lane that matches the workflow: direct object control, live subscriptions, or scheduled bulk movement.
Method
Our primary API interface. GraphQL allows you to request exactly the data you need in a single request, reducing bandwidth and improving performance.
Method
Traditional RESTful endpoints for simple CRUD operations and compatibility with existing tooling.
Method
Persistent connections for real-time data streaming. Receive instant notifications when data changes.
Method
Bulk data operations through file uploads and scheduled exports. Supports multiple formats including CSV, Excel, and XML.
Data Formats & Taxonomy
Normalize payloads to the product model early so graph, search, evidence, and reporting features do not need a second translation layer.
Core Entity Types
Public Safety supports a comprehensive set of entity types for law enforcement and intelligence operations. Each entity type has specific attributes, identifiers, and relationship capabilities.
Format family
Structured transport for direct client and service integrations.
Format family
Bulk-load options for migration, partner exchange, and scheduled ingestion.
Format family
Binary file types that feed OCR, transcription, and evidence workflows.
Entity Schema Example
This is the shape downstream graph, alert, and reporting workflows expect when external systems send profile records into the platform.
{
"id": "profile-uuid-123",
"type": "PERSON",
"attributes": {
"firstName": "John",
"lastName": "Doe",
"dateOfBirth": "1985-03-15"
},
"identifiers": [
{ "type": "PASSPORT", "value": "AB123456", "country": "US" }
],
"contacts": [
{ "type": "EMAIL", "value": "[email protected]" }
],
"metadata": {
"source": "vendor-system",
"sourceId": "ext-12345"
}
}Document intake
Schema, file metadata, and provenance should be captured in the same way the review surface expects to consume them.
Pre-Built Connectors
Start with the named connector that already matches the operating system in play, then scope the custom gap instead of treating every source as interchangeable.
Operational systems
These are the systems most likely to touch frontline dispatch, records, evidence, and statutory reporting workflows.
External intelligence
Partner and provider integrations should be scoped by legal basis, quota profile, and the actual entity types being enriched.
Enterprise systems
Enterprise connectors matter when identity, case payloads, or downstream evidence export has to stay inside an existing customer environment.
Need a custom connector?
Use the custom path when a proprietary system still needs to land in the same object, audit, and review model as the standard connectors.
SDKs & Client Libraries
Use the client lane that matches the team running the workflow, then keep the first proof of value narrow and reviewable.
Client
Full-featured SDK for Node.js and browser environments with TypeScript support.
Client
Pythonic SDK with async support for data science and automation workflows.
Client
Enterprise-grade SDK for Java and Kotlin applications with Android support.
Client
Modern .NET SDK with async/await patterns for Windows and cross-platform apps.
Client
Lightweight Go client with context support for high-performance services.
Client
Direct REST API access with OpenAPI spec, Postman collection, and interactive documentation.
SDK Usage Example (TypeScript)
Keep the initial proof of value narrow: create a case, attach evidence, and verify the object comes back with the expected status.
import { PublicSafetyClient } from '@argus/sdk';
const argus = new PublicSafetyClient({
apiKey: process.env.ARGUS_API_KEY,
organizationId: 'your-org-id',
environment: 'production',
});
const investigation = await argus.investigations.create({
title: 'Financial Fraud Case #2024-001',
priority: 'HIGH',
});
await argus.evidence.upload({
investigationId: investigation.id,
file: documentBuffer,
metadata: { type: 'document', chainOfCustody: true },
});Webhooks & Event Notifications
Use outbound events when the downstream system needs to react to operational state changes, not just read a static export.
Available Events
Keep the first webhook rollout focused on high-signal transitions instead of mirroring every field change.
alert.createdalert.updatedinvestigation.createdinvestigation.updatedprofile.enrichedevidence.processedreport.generatedworkflow.completedWebhook Security
The event lane has to be reviewable: sign every payload, retry safely, and keep source allowlists explicit.
Webhook Payload & Verification
Payloads should be easy to verify, route, and persist in downstream oversight systems.
{
"id": "evt_abc123",
"type": "alert.created",
"timestamp": "2024-06-20T14:30:00Z",
"data": {
"alertId": "alert-xyz789",
"severity": "HIGH",
"investigationId": "inv-123",
"metadata": {
"triggerRule": "financial-threshold",
"matchScore": 0.95
}
},
"signature": "sha256=a1b2c3d4..."
}Automation state
Webhook contracts should align with the same alert, workflow, and report-generation moments operators see inside the platform.
Security Requirements
Integration delivery is incomplete until the security controls, review posture, and compliance target have been proven with realistic traffic.
Technical Requirements
These controls are the minimum expectation before a live data source is connected.
Compliance Certifications
The compliance target depends on procurement, customer environment, and the actual systems being connected.
Testing & Sandbox Environment
Use the sandbox to validate auth, payload shape, alerting behavior, and operator review paths before anything reaches production tenants.
Sandbox Environment
Run the full request path against realistic data without touching live investigative records.
Test Data Sets
Use seeded entities, relationships, and alerts that exercise the same search, graph, and review surfaces operators will use.
Integration Certification
Treat certification as a control review and operational readiness check, not just a listing step.
Integration Testing Process
Become an Integration Partner
Use the intake form when you need to scope a connector, review a deployment boundary, or line up a partner certification path.
Tell us about your integration needs and we'll get back to you within 2-3 business days.
Walk through connector scope, evidence handling, webhook controls, and certification assumptions before production traffic is turned on.