Nouveau: Approbation des agents, red teaming et analyse de modèles. Découvrir
MITRITY
Docs / API / API Overview

API Overview

The MITRITY REST API provides programmatic access to the full MITRITY platform. Manage agents, policies, audit logs, and integrations through a consistent, well-documented API.

Base URL

All API requests are made to:

https://api.mitrity.com/api/v1/

The API is versioned via the URL path. The current version is v1. When breaking changes are introduced, a new version will be released alongside the existing version with a documented migration path.

Authentication

All API requests require authentication via a Bearer token. Generate API keys in the MITRITY dashboard at Settings > API Keys.

curl https://api.mitrity.com/api/v1/agents \
  -H "Authorization: Bearer mk_your-api-key-here"

An API key starts with mk_ and belongs to one organization. It acts with the current role and access scope of the user who created it, and its scopes can narrow it further; see API Keys.

Edge nodes and agents authenticate their own calls, such as POST /api/v1/delegation-chains/evaluate, with the agent's key in the X-Agent-Key header instead of an API key.

Treat API keys as secrets. Do not commit them to source control or expose them in client-side code. Rotate keys regularly in Settings > API Keys.

Rate Limits

The API counts requests in one-minute windows:

RequestsLimitCounted
The general API, from the dashboard100 a minutePer person: everyone signed in to the dashboard has their own budget
All of your tenant's dashboard sessions together1,000 a minutePer tenant: a ceiling over the per-person budgets
The general API, with an API key100 a minutePer tenant: all of your tenant's API keys share one budget
Invitations, repository scans, evidence bundles and compliance recomputes15 a minutePer tenant, from the dashboard or an API key
Signing in and other unauthenticated endpoints10 a minutePer client IP address

Because dashboard sessions are counted per person, people working in the dashboard do not spend the budget your integrations rely on, and your API keys do not count toward the dashboard's ceiling.

The limit and what is left of it are included in every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 94

When the limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header giving the seconds until the window resets. A dashboard request refused because your tenant's sessions together reached their ceiling still reports the person's own limit, with nothing remaining, and Retry-After gives the seconds until the ceiling's window resets.

Response Format

All responses are JSON. Successful responses use standard HTTP status codes:

{
  "data": { ... },
  "meta": {
    "request_id": "req_abc123",
    "timestamp": "2026-03-01T12:00:00Z"
  }
}

Error responses include a machine-readable error code and a human-readable message:

{
  "error": {
    "code": "invalid_request",
    "message": "The tool_pattern field is required.",
    "request_id": "req_abc123"
  }
}

Pagination

List endpoints return paginated results. Use cursor and limit query parameters:

GET /api/v1/agents?limit=25&cursor=eyJpZCI6MTAwfQ

The response includes a next_cursor field. When next_cursor is null, you have reached the end of the list.

Key Endpoints

Agents

MethodEndpointDescription
GET/api/v1/agentsList all agents
POST/api/v1/agentsRegister a new agent
GET/api/v1/agents/{id}Get agent details
PUT/api/v1/agents/{id}Update agent configuration (send only the fields to change)
DELETE/api/v1/agents/{id}Deregister an agent

Policies

MethodEndpointDescription
GET/api/v1/policiesList all policies
POST/api/v1/policiesCreate a new policy
GET/api/v1/policies/{id}Get policy details
PUT/api/v1/policies/{id}Update a policy (send only the fields to change)
DELETE/api/v1/policies/{id}Delete a policy

Audit Log

MethodEndpointDescription
GET/api/v1/auditQuery audit events. Filter by agent, event type, decision, enforcement surface (agent_hook included), blocking component, traffic type, source, sandbox mode and time range. total counts the events that match every filter
GET/api/v1/audit/{id}Get full event details including drift score and behavioral context

Credentials

MethodEndpointDescription
GET/api/v1/credentialsList credentials (the secret value is never returned)
POST/api/v1/credentialsCreate a credential
GET/api/v1/credentials/{id}Get credential metadata
PATCH/api/v1/credentials/{id}Update a credential (PUT also accepted)
DELETE/api/v1/credentials/{id}Delete a credential (cascades to its grants + leases)
GET/api/v1/credentials/{id}/grantsList grants on a credential
POST/api/v1/credentials/{id}/grantsGrant an agent access (idempotent: 201 create / 200 update)
DELETE/api/v1/credentials/{id}/grantsRevoke grants — one agent via ?agent_id=, or all without it
POST/api/v1/credentials/{id}/leasesCreate a time-bound lease

See Credential Broker for the full credential → grant → lease model.

Delegation Chains

MethodEndpointDescription
GET/api/v1/delegation-chainsList chains for the tenant (filters: agent_id, status, blocked_reason, min_depth, date range)
GET/api/v1/delegation-chains/{chain_id}Get a single chain with all hops
GET/api/v1/delegation-chains/summaryAggregate counts by status / blocked reason, top initiators / delegates
GET/api/v1/delegation-chains/settingsGet tenant delegation governance settings (Pro+)
PUT/api/v1/delegation-chains/settingsUpdate tenant delegation governance settings (Pro+)

Threat Intelligence

MethodEndpointDescription
GET/api/v1/threat-intelligence/indicatorsList indicators visible to the tenant (includes per-tenant overrides)
GET/api/v1/threat-intelligence/indicators/{id}Get a single indicator
PUT/api/v1/threat-intelligence/indicators/{id}/overrideSet severity / action override (Pro+)
DELETE/api/v1/threat-intelligence/indicators/{id}/overrideClear override and any suppression (Pro+)
POST/api/v1/threat-intelligence/indicators/{id}/suppressSuppress in log-only or silent mode (Pro+)
DELETE/api/v1/threat-intelligence/indicators/{id}/suppressLift suppression (Pro+)
GET/api/v1/threat-intelligence/matchesList threat matches for the tenant
GET/api/v1/threat-intelligence/matches/summaryAggregate match counts by severity / action / type
GET/api/v1/threat-intelligence/trendingIndicators ranked by match volume in a rolling window
GET/api/v1/threat-intelligence/settingsGet tenant feed-subscription + default action
PUT/api/v1/threat-intelligence/settingsUpdate tenant feed-subscription + default action

LLM Usage

MethodEndpointDescription
GET/api/v1/llm-usageList per-call LLM Gateway usage records (filters: agent_id, provider, model, decision, time range)
GET/api/v1/llm-usage/summaryAggregate calls, tokens, and estimated cost grouped by model, agent, or day
GET/api/v1/llm-usage/bomLLM Bill of Materials -- per-agent provider/model inventory with lifetime totals

LLM Guardrail Budgets

Per-policy LLM cost/rate guardrails enforced by the LLM Gateway (model allowlists + per-call token caps are authored as policy rules; see the Policies endpoints).

MethodEndpointDescription
GET/api/v1/policies/{id}/budgetGet the policy's LLM budget config (token/USD limit, period, warn %, exceeded action, requests/min); 404 when none
PUT/api/v1/policies/{id}/budgetCreate or update the budget (at least one of token / USD / requests-per-min required)
DELETE/api/v1/policies/{id}/budgetRemove the policy's budget
GET/api/v1/policies/{id}/budget/stateLive burn-down: current-window usage vs limit + status (ok / warn / exceeded)

SIEM destinations

MethodEndpointDescription
GET/api/v1/siem-destinationsList SIEM destinations
GET/api/v1/siem-destinations/{id}Get a SIEM destination
POST/api/v1/siem-destinationsCreate a destination (splunk_hec, syslog_cef, webhook or custom) — see SIEM Integration
PUT/api/v1/siem-destinations/{id}Update a destination
DELETE/api/v1/siem-destinations/{id}Remove a destination

Health & Readiness

Unauthenticated endpoints for load balancers and uptime checks (no /api/v1 prefix):

MethodEndpointDescription
GET/healthzLiveness — 200 while the API process is serving
GET/readyzReadiness — 200 when dependencies (Postgres, Redis) are reachable; 503 when one is down

SDKs and Tools

Official SDKs are available for common languages:

  • Python: pip install mitrity
  • Go: go get github.com/mitrity/mitrity-go
  • TypeScript: npm install @mitrity/sdk

Each SDK wraps the REST API with typed methods, automatic pagination, retry logic, and token management.

Interactive API Reference

Explore the full API with request/response schemas, example payloads, and a built-in request testing panel in the interactive API reference.