Riot

Riot is a Paris-based employee security posture management (human risk management) platform that helps companies reduce the human attack surface. The product suite spans phishing and smishing simulation, security awareness training courses, credential breach monitoring, employee-reported email triage (Inbox), inbound email protection (Slash), and third-party SaaS/drive exposure monitoring (Sonar), fronted by a chat assistant that runs in Slack, Microsoft Teams and the web portal. Riot publishes a public REST API (OpenAPI 3.1.1, x-api-key authentication, cursor pagination, scoped keys) that exposes organization, employee, group, course, campaign, attack, breach and inbox data, a SCIM 2.0 provisioning surface for user and group lifecycle, and Standard-Webhooks server-to-server events whose payloads follow the OCSF Detection Finding schema so they can be ingested by a SIEM or SOAR without custom mapping.

Riot publishes 14 APIs on the APIs.io network, including Awareness API, Breaches API, General API, and 11 more. Tagged areas include cybersecurity, security-awareness, human-risk-management, phishing-simulation, and employee-security.

The Riot catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Riot’s developer surface includes documentation, API reference, engineering blog, support, pricing, changelog, authentication, and 29 more developer resources.

56.6/100 strong ▬ flat Agent 57/100 agent native Full breakdown ↓
scored 2026-08-12 · rubric v0.11.0
14 APIs 1 MCP Servers
cybersecuritysecurity-awarenesshuman-risk-managementphishing-simulationemployee-securitysecurity-posture-managementbreach-detectionemail-securitysaas-securityscimwebhooksocsffrance

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-12 · rubric v0.11.0
Composite quality — 56.6/100 · strong
Contract Quality 16.5 / 25
Developer Ergonomics 9.0 / 20
Commercial Clarity 12.1 / 20
Operational Transparency 7.2 / 13
Governance 2.5 / 12
Discoverability 9.3 / 10
Agent readiness — 57/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 9 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 3 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/riot: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 14

Individual APIs this provider publishes, each with its own machine-readable definition.

Riot Awareness API

Provides data about courses, their settings within the workspace and employees' learning progress.

Riot Breaches API

The Breaches API from Riot — 3 operation(s) for breaches.

Riot General API

Provides an overview of the organization and employees' data.

Riot Groups API

The Groups API from Riot — 2 operation(s) for groups.

Riot Inbox API

The Inbox API from Riot — 3 operation(s) for inbox.

Riot SCIM API

The SCIM API from Riot — 9 operation(s) for scim.

Riot Simulation API

Provides data about phishing campaigns, corresponding attacks and related events.

Riot Slash API

The Slash API from Riot — 2 operation(s) for slash.

Riot Sonar API

The Sonar API from Riot — 0 operation(s) for sonar.

Riot Team awareness API

The Team awareness API from Riot — 4 operation(s) for team awareness.

Riot Team inbox API

The Team inbox API from Riot — 5 operation(s) for team inbox.

Riot Team platform API

The Team platform API from Riot — 15 operation(s) for team platform.

Riot Team simulation API

The Team simulation API from Riot — 8 operation(s) for team simulation.

Riot Webhook Events API

Server-to-server events Riot sends to customer-configured endpoints.

Scroll for all 14

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

riot-mcp.yml

MCP SERVER

Rate Limits 1

Documented rate limits and quota policies.

Riot Rate Limits

0 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Riot Webhooks

ASYNCAPI

Security Posture 4

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Riot Authentication

apiKey · 1 scheme

SECURITY

Riot Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Riot Vulnerability Disclosure

security.txt · contact published

SECURITY

Riot Trust Center

AICPA SOC 2 Type II, GDPR

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Riot Scopes

4 scopes

4 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Riot Agentic Access

40 operations · 9 acting

40 operations · 9 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 5

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 8

Authentication, authorization, and security posture

Scroll for all 8

Operate 5

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: riot
name: Riot
description: Riot is a Paris-based employee security posture management (human risk management) platform that helps companies
  reduce the human attack surface. The product suite spans phishing and smishing simulation, security awareness training courses,
  credential breach monitoring, employee-reported email triage (Inbox), inbound email protection (Slash), and third-party
  SaaS/drive exposure monitoring (Sonar), fronted by a chat assistant that runs in Slack, Microsoft Teams and the web portal.
  Riot publishes a public REST API (OpenAPI 3.1.1, x-api-key authentication, cursor pagination, scoped keys) that exposes
  organization, employee, group, course, campaign, attack, breach and inbox data, a SCIM 2.0 provisioning surface for user
  and group lifecycle, and Standard-Webhooks server-to-server events whose payloads follow the OCSF Detection Finding schema
  so they can be ingested by a SIEM or SOAR without custom mapping.
url: https://raw.githubusercontent.com/api-evangelist/riot/refs/heads/main/apis.yml
image: https://cms-content.tryriot.com/riot_preview_305b31b839.png
x-type: company
x-source: harvest:secondary-market
specificationVersion: '0.20'
created: '2026-08-05'
modified: '2026-08-05'
tags:
- cybersecurity
- security-awareness
- human-risk-management
- phishing-simulation
- employee-security
- security-posture-management
- breach-detection
- email-security
- saas-security
- scim
- webhooks
- ocsf
- france
apis:
- aid: riot:riot-awareness-api
  name: Riot Awareness API
  description: Provides data about courses, their settings within the workspace and employees' learning progress.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Awareness
  properties:
  - type: OpenAPI
    url: openapi/riot-awareness-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-breaches-api
  name: Riot Breaches API
  description: The Breaches API from Riot — 3 operation(s) for breaches.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Breaches
  properties:
  - type: OpenAPI
    url: openapi/riot-breaches-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-general-api
  name: Riot General API
  description: Provides an overview of the organization and employees' data.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - General
  properties:
  - type: OpenAPI
    url: openapi/riot-general-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-groups-api
  name: Riot Groups API
  description: The Groups API from Riot — 2 operation(s) for groups.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Groups
  properties:
  - type: OpenAPI
    url: openapi/riot-groups-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-inbox-api
  name: Riot Inbox API
  description: The Inbox API from Riot — 3 operation(s) for inbox.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Inbox
  properties:
  - type: OpenAPI
    url: openapi/riot-inbox-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-scim-api
  name: Riot SCIM API
  description: The SCIM API from Riot — 9 operation(s) for scim.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - SCIM
  properties:
  - type: OpenAPI
    url: openapi/riot-scim-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-simulation-api
  name: Riot Simulation API
  description: Provides data about phishing campaigns, corresponding attacks and related events.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Simulation
  properties:
  - type: OpenAPI
    url: openapi/riot-simulation-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-slash-api
  name: Riot Slash API
  description: The Slash API from Riot — 2 operation(s) for slash.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Slash
  properties:
  - type: OpenAPI
    url: openapi/riot-slash-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-sonar-api
  name: Riot Sonar API
  description: The Sonar API from Riot — 0 operation(s) for sonar.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Sonar
  properties:
  - type: OpenAPI
    url: openapi/riot-sonar-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-team-awareness-api
  name: Riot Team awareness API
  description: The Team awareness API from Riot — 4 operation(s) for team awareness.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Team awareness
  properties:
  - type: OpenAPI
    url: openapi/riot-team-awareness-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-team-inbox-api
  name: Riot Team inbox API
  description: The Team inbox API from Riot — 5 operation(s) for team inbox.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Team inbox
  properties:
  - type: OpenAPI
    url: openapi/riot-team-inbox-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-team-platform-api
  name: Riot Team platform API
  description: The Team platform API from Riot — 15 operation(s) for team platform.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Team platform
  properties:
  - type: OpenAPI
    url: openapi/riot-team-platform-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-team-simulation-api
  name: Riot Team simulation API
  description: The Team simulation API from Riot — 8 operation(s) for team simulation.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Team simulation
  properties:
  - type: OpenAPI
    url: openapi/riot-team-simulation-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
- aid: riot:riot-webhook-events-api
  name: Riot Webhook Events API
  description: Server-to-server events Riot sends to customer-configured endpoints.
  humanURL: https://docs.tryriot.com/
  baseURL: https://public-api.tryriot.com/v1
  tags:
  - Webhook Events
  properties:
  - type: OpenAPI
    url: openapi/riot-webhook-events-api-openapi.yml
  - type: Documentation
    url: https://docs.tryriot.com/
  - type: APIReference
    url: https://docs.tryriot.com/
  - type: Authentication
    url: authentication/riot-authentication.yml
  - type: OAuthScopes
    url: scopes/riot-scopes.yml
  - type: Conventions
    url: conventions/riot-conventions.yml
  - type: Idempotency
    url: conventions/riot-conventions.yml
  - type: ErrorCatalog
    url: errors/riot-error-codes.yml
  - type: RateLimits
    url: rate-limits/riot-rate-limits.yml
  - type: DataModel
    url: data-model/riot-data-model.yml
  - type: Webhooks
    url: asyncapi/riot-webhooks.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: MCPServer
  url: mcp/riot-mcp.yml
- type: AgenticAccess
  url: agentic-access/riot-agentic-access.yml
- type: Website
  url: https://tryriot.com/
- type: DeveloperPortal
  url: https://docs.tryriot.com/
- type: Documentation
  url: https://docs.tryriot.com/
- type: APIReference
  url: https://docs.tryriot.com/
- type: Blog
  url: https://tryriot.com/blog/
- type: Support
  url: https://tryriot.com/support/
- type: GitHubOrganization
  url: https://github.com/tryriot
- type: Pricing
  url: https://tryriot.com/pricing/
- type: Login
  url: https://app.tryriot.com/
- type: TermsOfService
  url: https://tryriot.com/terms/
- type: PrivacyPolicy
  url: https://tryriot.com/privacy/
- type: StatusPage
  url: https://status.tryriot.com/
- type: ChangeLog
  url: https://tryriot.com/changelog/
- type: ChangeLog
  url: changelog/riot-changelog.yml
- type: Security
  url: https://tryriot.com/security/
- type: TrustCenter
  url: security/riot-trust-center.yml
- type: Compliance
  url: https://trust.tryriot.com/
- type: VulnerabilityDisclosure
  url: security/riot-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/riot-domain-security.yml
- type: SecurityTxt
  url: well-known/riot-security.txt
- type: WellKnown
  url: well-known/riot-well-known.yml
- type: Authentication
  url: authentication/riot-authentication.yml
- type: OAuthScopes
  url: scopes/riot-scopes.yml
- type: Conventions
  url: conventions/riot-conventions.yml
- type: Idempotency
  url: conventions/riot-conventions.yml
- type: RateLimits
  url: rate-limits/riot-rate-limits.yml
- type: ErrorCatalog
  url: errors/riot-error-codes.yml
- type: Lifecycle
  url: lifecycle/riot-lifecycle.yml
- type: Conformance
  url: conformance/riot-conformance.yml
- type: DataModel
  url: data-model/riot-data-model.yml
- type: Webhooks
  url: asyncapi/riot-webhooks.yml
- type: AgentSkill
  url: skills/_index.yml
- type: LLMsTxt
  url: llms/riot-llms.txt
- type: Overlay
  url: overlays/riot-public-api-overlay.yaml
x-enrichment:
  date: '2026-08-05'
  status: enriched
  artifacts_added: 26
  pass: local-v1