UpGuard webhooks API
The webhooks API from UpGuard — 3 operation(s) for webhooks.
The webhooks API from UpGuard — 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/upguard-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
description: 'Access information from the CyberRisk platform programmatically using this API.
You can find or generate an API key to access this API in your CyberRisk Account Settings.
Please authorize all requests by setting the "Authorization" header to your api key.
The base url for all public endpoints is https://cyber-risk.upguard.com/api/public'
title: UpGuard CyberRisk breaches Webhooks API
version: 1.13.2
servers:
- url: https://cyber-risk.upguard.com/api/public
security:
- API key in header: []
tags:
- name: webhooks
paths:
/webhooks:
get:
description: 'List all registered webhooks.
Required API key permissions: `Admin` (select when creating API key in Account Settings)'
tags:
- webhooks
summary: List webhooks
operationId: list_webhooks
responses:
'200':
description: List of registered webhooks
content:
application/json:
schema:
$ref: '#/components/schemas/ListWebhookResponsePayload'
'403':
description: Your API key does not have permission to perform this action.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
post:
description: 'Create a new webhook subscribing to the provided list of notifications.
Required API key permissions: `Admin` (select when creating API key in Account Settings)'
tags:
- webhooks
summary: Create a new webhook
operationId: create_webhook
parameters:
- description: The name given to the webhook
name: name
in: query
required: true
schema:
type: string
- description: The URL used for sending notifications
name: hook_url
in: query
required: true
schema:
type: string
- description: 'The list of notifications to subscribe to. For a list of supported notification
types and their IDs use the /api/public/webhooks/notification_types endpoint.'
name: notification_type_ids
in: query
required: true
schema:
type: array
items:
type: string
- description: The type of webhook to create
name: webhook_type
in: query
schema:
type: string
enum:
- webhook
- workflow_webhook
default: webhook
responses:
'201':
description: Information about the created webhook
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookResponsePayload'
'403':
description: Your API key does not have permission to perform this action.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
delete:
description: 'Delete a webhook by ID.
Required API key permissions: `Admin` (select when creating API key in Account Settings)'
tags:
- webhooks
summary: Delete a webhook
operationId: delete_webhook
parameters:
- description: The id of the webhook to delete
name: id
in: query
required: true
schema:
type: string
responses:
'204':
description: Empty response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWebhookResponsePayload'
'403':
description: Your API key does not have permission to perform this action.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'404':
description: The vendor was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/webhooks/notification_types:
get:
description: 'Get a list of available webhook notification types and their descriptions for your organisation.
Required API key permissions: `Admin` (select when creating API key in Account Settings)'
tags:
- webhooks
summary: Webhook notification types
operationId: webhooks_notification_types
responses:
'200':
description: List of supported notification types for your organisation
content:
application/json:
schema:
$ref: '#/components/schemas/GetWebhookNotificationTypesResponsePayload'
'403':
description: Your API key does not have permission to perform this action.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/webhooks/sample:
get:
description: 'Get the example data for one or more notification types.
Required API key permissions: `Admin` (select when creating API key in Account Settings)'
tags:
- webhooks
summary: Webhook example data
operationId: sample_webhook
parameters:
- description: 'The ID of a webhook. If specified sample data for all the
notification types registered for that webhook will be returned.'
name: id
in: query
schema:
type: string
- description: 'A list of notification type IDs you need sample data for.
If a webhook ID is provided this parameter is ignored.'
name: notification_type_ids
in: query
schema:
type: array
items:
type: string
responses:
'200':
description: List of example data
content:
application/json:
schema:
$ref: '#/components/schemas/ExampleDataWebhookResponsePayload'
'403':
description: Your API key does not have permission to perform this action.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
components:
schemas:
DeleteWebhookResponsePayload:
type: object
ExampleDataWebhookResponsePayload:
type: array
items:
$ref: '#/components/schemas/WebhookSampleData'
ListWebhookResponsePayload:
type: object
properties:
webhooks:
description: The list of registered webhooks
type: array
items:
$ref: '#/components/schemas/Webhook'
GetWebhookNotificationTypesResponsePayload:
type: object
properties:
notification_types:
type: array
items:
$ref: '#/components/schemas/NotificationType'
WebhookSampleData:
type: object
properties:
context:
description: Extra metadata available for the notifications
type: object
additionalProperties: {}
description:
description: Description of the notifications
type: string
example: Jane Doe replied to a message by John Smith on questionnaire 'SOC2'
occurredAt:
description: Timestamp for the event occurrence
type: string
format: date-time
example: '2021-08-17T23:04:02Z'
type:
description: Human readable type of notification
type: string
example: QuestionnaireCorrespondence
endpointError:
description: Error details coming from an endpoint
type: object
properties:
error:
description: A description of the error
type: string
NotificationType:
type: object
properties:
description:
description: Description for this notification type
type: string
example: When a new data leak is published
id:
description: ID of this notification type
type: string
example: 10-0000-0000-0000000000000000
is_zapier:
description: Flag indicating whether the notification type is a zapier notification type
type: boolean
example: true
CreateWebhookResponsePayload:
type: object
properties:
id:
description: The ID of the created webhook
type: string
example: ABCD1234
signing_secret:
description: 'The HMAC signing secret for webhook authentication (hex-encoded, 64 characters).
This is only returned once on creation. Webhooks will include an X-UpGuard-Signature header
using this secret for authentication.'
type: string
example: a1b2c3d4e5f67890123456789012345678901234567890123456789012345678
Webhook:
type: object
properties:
enabled:
description: Flag indicating whether the webhook is enabled or disabled
type: boolean
example: true
id:
description: The ID of the webhook
type: string
example: ABCD1234
name:
description: The name of the webhook
type: string
example: webhook
notification_type_ids:
description: The list of notifications IDs registered for this webhook
type: array
items:
type: string
example:
- 10-0000-0000-0000000000000000
url:
description: The URL used by the webhook to send notifications to
type: string
example: https://example.com/
webhook_type:
description: The type of webhook
type: string
enum:
- zapier
- webhook
- workflow_webhook
example: zapier
securitySchemes:
API_key_in_header:
type: apiKey
in: header
name: Authorization