Socket webhooks API
The webhooks API from Socket — 2 operation(s) for webhooks.
The webhooks API from Socket — 2 operation(s) for webhooks.
openapi: 3.0.0
info:
description: Specification of the Socket API endpoints
title: API Endpoints alerts webhooks API
version: '0'
servers:
- url: https://api.socket.dev/v0
tags:
- name: webhooks
paths:
/orgs/{org_slug}/webhooks:
get:
tags:
- webhooks
summary: List all webhooks
externalDocs:
description: Webhooks documentation
url: https://docs.socket.dev/docs/webhooks
operationId: getOrgWebhooksList
parameters:
- name: org_slug
in: path
required: true
description: The slug of the organization
schema:
type: string
- name: sort
in: query
required: false
description: ''
schema:
type: string
default: created_at
- name: direction
in: query
required: false
description: ''
schema:
type: string
default: desc
- name: per_page
in: query
required: false
description: ''
schema:
type: integer
minimum: 1
maximum: 100
default: 30
- name: page
in: query
required: false
description: ''
schema:
type: integer
minimum: 1
default: 1
security:
- bearerAuth:
- webhooks:list
- basicAuth:
- webhooks:list
description: 'List all webhooks in the specified organization.
This endpoint consumes 1 unit of your quota.
This endpoint requires the following org token scopes:
- webhooks:list'
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
results:
type: array
items:
type: object
additionalProperties: false
description: ''
properties:
id:
type: string
description: The ID of the webhook
default: ''
created_at:
type: string
description: The creation date of the webhook
default: ''
updated_at:
type: string
description: The last update date of the webhook
default: ''
name:
type: string
description: The name of the webhook
default: ''
description:
type: string
description: The description of the webhook
default: ''
nullable: true
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
nullable: true
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
required:
- created_at
- description
- events
- filters
- headers
- id
- name
- secret
- updated_at
- url
description: ''
nextPage:
type: integer
description: ''
default: 0
nullable: true
required:
- nextPage
- results
description: List of webhooks
'400':
$ref: '#/components/responses/SocketBadRequest'
'401':
$ref: '#/components/responses/SocketUnauthorized'
'403':
$ref: '#/components/responses/SocketForbidden'
'404':
$ref: '#/components/responses/SocketNotFoundResponse'
'429':
$ref: '#/components/responses/SocketTooManyRequestsResponse'
x-readme: {}
post:
tags:
- webhooks
summary: Create a webhook
externalDocs:
description: Webhooks documentation
url: https://docs.socket.dev/docs/webhooks
operationId: createOrgWebhook
parameters:
- name: org_slug
in: path
required: true
description: The slug of the organization
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the webhook
default: ''
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
description:
type: string
description: The description of the webhook
default: ''
nullable: true
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
required:
- events
- name
- secret
- url
required: false
security:
- bearerAuth:
- webhooks:create
- basicAuth:
- webhooks:create
description: 'Create a new webhook. Returns the created webhook details.
This endpoint consumes 1 unit of your quota.
This endpoint requires the following org token scopes:
- webhooks:create'
responses:
'201':
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
id:
type: string
description: The ID of the webhook
default: ''
created_at:
type: string
description: The creation date of the webhook
default: ''
updated_at:
type: string
description: The last update date of the webhook
default: ''
name:
type: string
description: The name of the webhook
default: ''
description:
type: string
description: The description of the webhook
default: ''
nullable: true
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
nullable: true
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
required:
- created_at
- description
- events
- filters
- headers
- id
- name
- secret
- updated_at
- url
description: The created webhook
'400':
$ref: '#/components/responses/SocketBadRequest'
'401':
$ref: '#/components/responses/SocketUnauthorized'
'403':
$ref: '#/components/responses/SocketForbidden'
'404':
$ref: '#/components/responses/SocketNotFoundResponse'
'429':
$ref: '#/components/responses/SocketTooManyRequestsResponse'
x-readme: {}
/orgs/{org_slug}/webhooks/{webhook_id}:
get:
tags:
- webhooks
summary: Get webhook
externalDocs:
description: Webhooks documentation
url: https://docs.socket.dev/docs/webhooks
operationId: getOrgWebhook
parameters:
- name: org_slug
in: path
required: true
description: The slug of the organization
schema:
type: string
- name: webhook_id
in: path
required: true
description: The ID of the webhook
schema:
type: string
security:
- bearerAuth:
- webhooks:list
- basicAuth:
- webhooks:list
description: 'Get a webhook for the specified organization.
This endpoint consumes 1 unit of your quota.
This endpoint requires the following org token scopes:
- webhooks:list'
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
id:
type: string
description: The ID of the webhook
default: ''
created_at:
type: string
description: The creation date of the webhook
default: ''
updated_at:
type: string
description: The last update date of the webhook
default: ''
name:
type: string
description: The name of the webhook
default: ''
description:
type: string
description: The description of the webhook
default: ''
nullable: true
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
nullable: true
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
required:
- created_at
- description
- events
- filters
- headers
- id
- name
- secret
- updated_at
- url
description: Webhook details
'400':
$ref: '#/components/responses/SocketBadRequest'
'401':
$ref: '#/components/responses/SocketUnauthorized'
'403':
$ref: '#/components/responses/SocketForbidden'
'404':
$ref: '#/components/responses/SocketNotFoundResponse'
'429':
$ref: '#/components/responses/SocketTooManyRequestsResponse'
x-readme: {}
put:
tags:
- webhooks
summary: Update webhook
externalDocs:
description: Webhooks documentation
url: https://docs.socket.dev/docs/webhooks
operationId: updateOrgWebhook
parameters:
- name: org_slug
in: path
required: true
description: The slug of the organization
schema:
type: string
- name: webhook_id
in: path
required: true
description: The ID of the webhook
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the webhook
default: ''
description:
type: string
description: The description of the webhook
default: ''
nullable: true
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
nullable: true
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
description: ''
required: false
security:
- bearerAuth:
- webhooks:update
- basicAuth:
- webhooks:update
description: 'Update details of an existing webhook.
This endpoint consumes 1 unit of your quota.
This endpoint requires the following org token scopes:
- webhooks:update'
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
id:
type: string
description: The ID of the webhook
default: ''
created_at:
type: string
description: The creation date of the webhook
default: ''
updated_at:
type: string
description: The last update date of the webhook
default: ''
name:
type: string
description: The name of the webhook
default: ''
description:
type: string
description: The description of the webhook
default: ''
nullable: true
url:
type: string
description: The URL where webhook events will be sent
default: ''
secret:
type: string
description: The signing key used to sign webhook payloads
default: ''
nullable: true
events:
type: array
items:
type: string
description: The event types to subscribe to
default: ''
description: Array of event names
headers:
type: object
description: Custom headers to include in webhook requests
default: null
nullable: true
filters:
type: object
additionalProperties: false
description: ''
properties:
repositoryIds:
type: array
items:
type: string
description: Repository IDs to filter events
default: ''
description: Array of repository IDs
nullable: true
required:
- repositoryIds
nullable: true
required:
- created_at
- description
- events
- filters
- headers
- id
- name
- secret
- updated_at
- url
description: Updated webhook details
'400':
$ref: '#/components/responses/SocketBadRequest'
'401':
$ref: '#/components/responses/SocketUnauthorized'
'403':
$ref: '#/components/responses/SocketForbidden'
'404':
$ref: '#/components/responses/SocketNotFoundResponse'
'429':
$ref: '#/components/responses/SocketTooManyRequestsResponse'
x-readme: {}
delete:
tags:
- webhooks
summary: Delete webhook
externalDocs:
description: Webhooks documentation
url: https://docs.socket.dev/docs/webhooks
operationId: deleteOrgWebhook
parameters:
- name: org_slug
in: path
required: true
description: The slug of the organization
schema:
type: string
- name: webhook_id
in: path
required: true
description: The ID of the webhook
schema:
type: string
security:
- bearerAuth:
- webhooks:delete
- basicAuth:
- webhooks:delete
description: 'Delete a webhook. This will stop all future webhook deliveries to the webhook URL.
This endpoint consumes 1 unit of your quota.
This endpoint requires the following org token scopes:
- webhooks:delete'
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
status:
type: string
description: ''
default: ok
required:
- status
description: Success
'400':
$ref: '#/components/responses/SocketBadRequest'
'401':
$ref: '#/components/responses/SocketUnauthorized'
'403':
$ref: '#/components/responses/SocketForbidden'
'404':
$ref: '#/components/responses/SocketNotFoundResponse'
'429':
$ref: '#/components/responses/SocketTooManyRequestsResponse'
x-readme: {}
components:
responses:
SocketForbidden:
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
error:
type: object
additionalProperties: false
description: ''
properties:
message:
type: string
description: ''
default: ''
details:
type: object
description: ''
default: null
nullable: true
required:
- details
- message
required:
- error
description: Insufficient max_quota for API method
SocketBadRequest:
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
error:
type: object
additionalProperties: false
description: ''
properties:
message:
type: string
description: ''
default: ''
details:
type: object
description: ''
default: null
nullable: true
required:
- details
- message
required:
- error
description: Bad request
SocketNotFoundResponse:
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
error:
type: object
additionalProperties: false
description: ''
properties:
message:
type: string
description: ''
default: ''
details:
type: object
description: ''
default: null
nullable: true
required:
- details
- message
required:
- error
description: Resource not found
SocketTooManyRequestsResponse:
description: Insufficient quota for API route
headers:
Retry-After:
description: 'Retry contacting the endpoint *at least* after seconds.
See https://tools.ietf.org/html/rfc7231#section-7.1.3'
schema:
format: int32
type: integer
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
error:
type: object
additionalProperties: false
description: ''
properties:
message:
type: string
description: ''
default: ''
details:
type: object
description: ''
default: null
nullable: true
required:
- details
- message
required:
- error
SocketUnauthorized:
content:
application/json:
schema:
type: object
additionalProperties: false
description: ''
properties:
error:
type: object
additionalProperties: false
description: ''
properties:
message:
type: string
description: ''
default: ''
details:
type: object
description: ''
default: null
nullable: true
required:
- details
- message
required:
- error
description: Unauthorized
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Organization Tokens can be passed as a Bearer token
basicAuth:
type: http
scheme: basic
description: Organization Tokens can be passed as the user field in basic auth