Aller au contenu principal

API Overview

The Noxys API is a REST-based service for programmatic access to your AI interaction data, policies, and security events. Use it to build integrations, custom tools, and automate workflows.

API Basics

Base URL: https://api.noxys.cloud/api/v1/ (for SaaS)

For self-hosted deployments, use your instance URL: https://your-domain.com/api/v1/

Protocol: HTTPS (TLS 1.2+) required for all requests

Response Format: JSON

Authentication: JWT Bearer token (see Authentication)

Quick Example

# Get a token
TOKEN=$(curl -X POST https://api.noxys.cloud/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"alice@acme.fr","password":"your-password"}' \
| jq -r '.token')

# Use the token
curl https://api.noxys.cloud/api/v1/interactions \
-H "Authorization: Bearer $TOKEN"

Core Concepts

AIInteraction

The canonical data model in Noxys. Every AI interaction (prompt to ChatGPT, message to Claude, etc.) is normalized into a single schema containing:

  • Platform ID: Which AI service (chatgpt, claude, gemini, etc.)
  • Content Hash: SHA-256 hash of the interaction content (raw text never stored)
  • Classifications: Detected PII (email, phone, NIR, credit card, etc.)
  • Risk Score: Numerical risk assessment (0-1)
  • Policy Decisions: Actions taken (Block, Coach, Log)
  • Metadata: URL, model, user, timestamp, etc.

Policies

Rules that enforce data protection. Learn more in the Policies API.

Policy actions:

  • Block: Prevent interaction from reaching AI service
  • Coach: Warn user (non-blocking, yellow banner)
  • Log: Record silently (no user notification)

Classification Tiers

TierWhereSpeedCoverage
Tier 1Browser extension<10msEmail, phone, IBAN, credit cards, NIR, SIRET (regex-based)
Tier 2Backend~30msNames, medical terms, legal refs, IP addresses, API keys (Presidio + custom models)
Tier 3Async~500msDeep semantic classification using small language models

Endpoints Summary

EndpointMethodPurposeAuth Required
/auth/loginPOSTGet JWT tokenNo
/interactionsPOST/GETCreate or list AI interactionsYes
/interactions/:idGETGet interaction detailsYes
/interactions/batchPOSTBatch create interactionsYes
/policiesGET/POSTList or create policiesYes
/policies/:idGET/PUT/DELETEManage single policyYes
/inventoryGETList AI services in useYes
/alertsGETList security alertsYes
/audit-logGETAdmin activity logYes (Admin)
/dashboard/statsGETAggregated statisticsYes
/classification/classifyPOSTClassify text (Tier 2)Yes (Admin)
/healthzGETLiveness probeNo
/readyzGETReadiness probeNo
/metricsGETPrometheus metricsNo
/wsWSWebSocket for real-time updatesYes

Rate Limiting

API calls are rate-limited to protect service stability:

EndpointLimitWindow
/auth/login5 requests/minutePer IP address
All other endpoints1,000 requests/minutePer tenant

When you exceed the limit, the API returns HTTP 429 Too Many Requests. See Rate Limiting for details on headers and retry behavior.

Error Handling

All errors return a consistent JSON format:

{
"error": "Human-readable error message"
}

Common HTTP Status Codes:

CodeMeaningExample
200SuccessRequest succeeded
201CreatedNew resource created (POST)
204No ContentDelete succeeded (no response body)
400Bad RequestMissing field, invalid format
401UnauthorizedMissing or expired token
403ForbiddenInsufficient permissions
404Not FoundResource doesn't exist
409ConflictDuplicate name or constraint violation
429Rate LimitedToo many requests
500Server ErrorUnexpected error (contact support)

Pagination

List endpoints support pagination:

curl "https://api.noxys.cloud/api/v1/interactions?page=2&limit=50" \
-H "Authorization: Bearer $TOKEN"

Query Parameters:

  • page — Page number (1-based, default: 1)
  • limit — Items per page (default: 50, max: 500)

Response Headers:

  • X-Total-Count — Total records matching the query
  • X-Page — Current page number
  • X-Per-Page — Items returned on this page
  • X-Total-Pages — Total pages available

Supported Languages & SDKs

Full code examples are provided for:

  • Python: requests library
  • JavaScript/TypeScript: Fetch API, async/await
  • Go: net/http standard library
  • cURL: For quick manual testing

OpenAPI Specification

The complete OpenAPI 3.1 specification is available at:

  • Swagger UI: https://api.noxys.cloud/api/docs
  • OpenAPI JSON: https://api.noxys.cloud/api/docs/openapi.json
  • OpenAPI YAML: https://api.noxys.cloud/api/docs/openapi.yaml

Download and use with tools like:

  • Postman
  • Insomnia
  • OpenAPI code generators

What's Next?

Need Help?

  • Email: support@noxys.eu (feature questions, setup issues)
  • Security: security@noxys.eu (security vulnerabilities)
  • Docs: This API reference
  • Status: status.noxys.cloud