Root (fka Slim.ai) Webhooks API
The Webhooks API from Root (fka Slim.ai) — 3 operation(s) for webhooks.
The Webhooks API from Root (fka Slim.ai) — 3 operation(s) for webhooks.
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/root-fka-slimai-webhooks-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:
description: This is the API documentation for Root.io.
title: Root.io Accounts Webhooks API
termsOfService: https://www.root.io/terms-of-service
contact: {}
version: '1.0'
servers:
- url: https://api.root.io
tags:
- name: Webhooks
paths:
/v3/settings/webhooks:
get:
security:
- BearerAuth: []
description: Lists webhook subscriptions for the organization (signing secret not included)
tags:
- Webhooks
summary: List webhook subscriptions
parameters:
- description: After cursor for next page
name: after
in: query
schema:
type: string
- description: Before cursor for previous page
name: before
in: query
schema:
type: string
- description: Page size (max 1000)
name: limit
in: query
schema:
type: integer
default: 100
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWebhookSubscriptionsResponse'
'400':
description: Invalid query parameters
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'403':
description: Not allowed to list webhook subscriptions
content:
application/json:
schema:
type: string
'500':
description: Internal server error
content:
application/json:
schema:
type: string
post:
security:
- BearerAuth: []
description: Creates a new webhook subscription for the organization. Returns the signing secret once — store it securely.
tags:
- Webhooks
summary: Create webhook subscription
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookSubscriptionResponse'
'400':
description: Malformed request body
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'403':
description: Not allowed to create webhook subscription
content:
application/json:
schema:
type: string
'422':
description: Invalid webhook URL or event type
content:
application/json:
schema:
type: string
'500':
description: Internal server error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookSubscriptionRequest'
description: Webhook subscription create request
required: true
/v3/settings/webhooks/{webhookSubscriptionID}:
delete:
security:
- BearerAuth: []
description: Deletes a webhook subscription by ID
tags:
- Webhooks
summary: Delete webhook subscription
parameters:
- description: Webhook Subscription ID
name: webhookSubscriptionID
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscriptionResponse'
'400':
description: Invalid webhook subscription ID
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'403':
description: Not allowed to delete webhook subscription
content:
application/json:
schema:
type: string
'500':
description: Internal server error
content:
application/json:
schema:
type: string
/v3/settings/webhooks/{webhookSubscriptionID}/test-tag-created:
post:
security:
- BearerAuth: []
description: Performs a test webhook delivery for a specific webhook subscription using a specific RootRegistryTag. Returns 422 if the subscription does not subscribe to the image.created event type.
tags:
- Webhooks
summary: Test tag-created webhook delivery
parameters:
- description: Webhook Subscription ID
name: webhookSubscriptionID
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TestWebhookResponse'
'400':
description: Malformed request body
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
'404':
description: No webhook subscription or RRT found
content:
application/json:
schema:
type: string
'422':
description: Subscription does not subscribe to image.created event type
content:
application/json:
schema:
type: string
'500':
description: Internal server error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestWebhookRequest'
description: Test webhook request
required: true
components:
schemas:
CreateWebhookSubscriptionRequest:
type: object
required:
- url
properties:
description:
type: string
event_types:
description: EventTypes lists the event types to deliver. Empty means all event types.
type: array
items:
type: string
url:
type: string
Cursor:
type: object
properties:
after:
type: string
before:
type: string
limit:
type: integer
total_count:
description: TotalCount is the number of rows matching the list filters for endpoints that populate it (e.g. security findings list). Response-only.
type: integer
CreateWebhookSubscriptionResponse:
type: object
properties:
created_at:
type: string
description:
type: string
event_types:
description: EventTypes lists the event types being delivered. Empty means all event types.
type: array
items:
type: string
id:
type: string
organization_id:
type: string
secret:
type: string
updated_at:
type: string
url:
type: string
v3.WebhookDeliveryAttemptStatus:
type: string
enum:
- pending
- delivered
- failed
x-enum-varnames:
- WebhookDeliveryAttemptStatusPending
- WebhookDeliveryAttemptStatusDelivered
- WebhookDeliveryAttemptStatusFailed
TestWebhookRequest:
type: object
properties:
root_registry_tag_id:
type: string
TestWebhookResponse:
type: object
properties:
error_reason:
type: string
event_id:
type: string
http_status:
type: integer
id:
type: string
sent_at:
type: string
status:
$ref: '#/components/schemas/v3.WebhookDeliveryAttemptStatus'
subscription_id:
type: string
type:
type: string
ListWebhookSubscriptionsResponse:
type: object
properties:
cursor:
$ref: '#/components/schemas/Cursor'
data:
type: array
items:
$ref: '#/components/schemas/WebhookSubscriptionResponse'
WebhookSubscriptionResponse:
type: object
properties:
created_at:
type: string
description:
type: string
event_types:
description: EventTypes lists the event types being delivered. Empty means all event types.
type: array
items:
type: string
id:
type: string
organization_id:
type: string
updated_at:
type: string
url:
type: string
securitySchemes:
BasicAuth:
type: http
scheme: basic