Scanner Event Sinks API
Manage alert destinations (Slack, Webhook, PagerDuty).
Manage alert destinations (Slack, Webhook, PagerDuty).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/scanner-event-sinks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Scanner Ad Hoc Queries Event Sinks API
version: v1
description: Scanner is a cloud-native security data platform that indexes logs directly in Amazon S3 for fast full-text search, continuous streaming detections, and programmatic access to security data. This REST API (v1) covers searchable indexes, detection rules, event sinks, lookup tables, ad hoc queries, and account/query-capacity info. Authentication is a Scanner API key presented as an HTTP Bearer token. Most operations are tenant-scoped and require a `tenant_id`. The API base URL is environment-specific and shown in Settings > API Keys inside the Scanner app.
contact:
name: Scanner
url: https://docs.scanner.dev/scanner/
x-provenance:
generated: '2026-07-21'
method: generated
source: https://docs.scanner.dev/scanner/using-scanner-complete-feature-reference/developer-tools/api.md
servers:
- url: https://{environment}.scanner.dev
description: Environment-specific Scanner host. Find your environment/base URL in Settings > API Keys (the MCP endpoint uses the parallel form https://mcp.{environment}.scanner.dev/v1/mcp).
variables:
environment:
default: your-env-here
description: Your Scanner environment identifier from Settings > API Keys.
security:
- bearerAuth: []
tags:
- name: Event Sinks
description: Manage alert destinations (Slack, Webhook, PagerDuty).
paths:
/v1/event_sink:
post:
operationId: createEventSink
tags:
- Event Sinks
summary: Create event sink
description: Create a new event sink (Slack, Webhook, or PagerDuty) destination for alerts.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EventSinkCreate'
responses:
'200':
description: Created event sink.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSink'
'400':
$ref: '#/components/responses/BadRequest'
get:
operationId: listEventSinks
tags:
- Event Sinks
summary: List event sinks
description: Retrieve all event sinks for a tenant.
parameters:
- $ref: '#/components/parameters/TenantId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageToken'
responses:
'200':
description: Paginated list of event sinks.
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
event_sinks:
type: array
items:
$ref: '#/components/schemas/EventSink'
pagination:
$ref: '#/components/schemas/Pagination'
'400':
$ref: '#/components/responses/BadRequest'
/v1/event_sink/{id}:
get:
operationId: getEventSink
tags:
- Event Sinks
summary: Get event sink
description: Retrieve a specific event sink by id.
parameters:
- $ref: '#/components/parameters/PathId'
responses:
'200':
description: The event sink.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSink'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateEventSink
tags:
- Event Sinks
summary: Update event sink
description: Modify an existing event sink.
parameters:
- $ref: '#/components/parameters/PathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EventSinkUpdate'
responses:
'200':
description: Updated event sink.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSink'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteEventSink
tags:
- Event Sinks
summary: Delete event sink
description: Remove an event sink.
parameters:
- $ref: '#/components/parameters/PathId'
responses:
'200':
description: Id and tenant_id of the deleted event sink.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletedRef'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Error:
type: object
properties:
error:
type: string
description: Human-readable error description.
EventSinkUpdate:
type: object
properties:
name:
type: string
description:
type: string
event_sink_args:
type: object
DeletedRef:
type: object
properties:
id:
type: string
tenant_id:
type: string
EventSink:
type: object
properties:
id:
type: string
tenant_id:
type: string
name:
type: string
description:
type: string
event_sink_type:
type: string
enum:
- Slack
- Webhook
- PagerDuty
configuration:
type: object
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Pagination:
type: object
properties:
next_page_token:
type:
- string
- 'null'
description: Cursor for subsequent requests; null when exhausted.
EventSinkCreate:
type: object
required:
- tenant_id
- name
- description
- event_sink_args
properties:
tenant_id:
type: string
name:
type: string
description:
type: string
event_sink_args:
type: object
description: Configuration for Slack, Webhook, or PagerDuty.
parameters:
PageToken:
name: pagination[page_token]
in: query
required: false
schema:
type: string
description: Cursor for the next page.
TenantId:
name: tenant_id
in: query
required: true
schema:
type: string
description: Unique identifier for the tenant.
PathId:
name: id
in: path
required: true
schema:
type: string
description: Resource identifier.
PageSize:
name: pagination[page_size]
in: query
required: false
schema:
type: integer
description: Maximum results per page.
responses:
BadRequest:
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: invalid query
NotFound:
description: Resource not found (or resolves to a non-user index).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Scanner API key presented as `Authorization: Bearer <Scanner API Key>`. Create keys in Settings > API Keys.'