Webhooks

The Webhooks API allows super users to manage outbound Slack webhook endpoints that SD Elements can use for event delivery in future epics.

NOTE: This API requires the following feature flag to be enabled: Webhooks.

List Webhooks

This endpoint retrieves a paginated list of Webhook resources for the authenticated user's organization.

NOTE: This endpoint requires the following feature flag to be enabled: Webhooks.

GET /api/v2/webhooks/

Query parameters

Pagination uses the standard API v2 parameters:

Parameter Description
page Page number (optional).
page_size Items per page (optional; maximum 100 for this endpoint).

The response includes count, next, previous, and results. Resource-specific filters (for example by name or active) are not applied by this endpoint in the current release.


GET /api/v2/webhooks/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 200 OK
Content-Type: application/json

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [{
        "id": 1,
        "name": "Engineering Slack Webhook",
        "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
        "description": "Posts project events to #eng-webhooks",
        "integration_type": "slack",
        "active": true,
        "created": "2025-03-31T10:15:00.000Z",
        "updated": "2025-03-31T10:15:00.000Z"
    }]
}

Retrieve a Webhook

Retrieve a single Webhook resource by its ID.

NOTE: This endpoint requires the following feature flag to be enabled: Webhooks.

GET /api/v2/webhooks/{id}/

Path Parameter Description
id Integer ID of the webhook to retrieve.

GET /api/v2/webhooks/1/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 1,
    "name": "Engineering Slack Webhook",
    "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
    "description": "Posts project events to #eng-webhooks",
    "integration_type": "slack",
    "active": true,
    "created": "2025-03-31T10:15:00.000Z",
    "updated": "2025-03-31T10:15:00.000Z"
}

Create a Webhook

Create a new Webhook resource for the authenticated user's organization.

NOTE: This endpoint requires the following feature flag to be enabled: Webhooks.

POST /api/v2/webhooks/

Fields Required Description
name Yes Human-readable name for this webhook. Maximum 140 characters.
url Yes The Slack webhook URL. Must use https and match hooks.slack.com/services/... or hooks.slack-gov.com/services/....
description No Optional description for this webhook. Maximum 1024 characters.
active No Whether this webhook is active. Defaults to true.

The field integration_type is read-only in API responses (currently always slack). It cannot be set in the request body.

POST /api/v2/webhooks/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"

{
    "name": "Engineering Slack Webhook",
    "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
    "description": "Posts project events to #eng-webhooks",
    "active": true
}
HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "id": 1,
    "name": "Engineering Slack Webhook",
    "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
    "description": "Posts project events to #eng-webhooks",
    "integration_type": "slack",
    "active": true,
    "created": "2025-03-31T10:15:00.000Z",
    "updated": "2025-03-31T10:15:00.000Z"
}

Update a Webhook

Update an existing Webhook resource using a partial update (PATCH). Full replacement via PUT is not supported.

NOTE: This endpoint requires the following feature flag to be enabled: Webhooks.

PATCH /api/v2/webhooks/{id}/

Path Parameter Description
id Integer ID of the webhook to update.
Fields Required Description
name No Human-readable name for this webhook. Maximum 140 characters.
url No The Slack webhook URL. Must use https and match hooks.slack.com/services/... or hooks.slack-gov.com/services/....
description No Optional description for this webhook. Maximum 1024 characters.
active No Whether this webhook is active.

The field integration_type is read-only and cannot be changed via this API.

PATCH /api/v2/webhooks/1/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"

{
    "name": "Engineering Slack Webhook (updated)",
    "url": "https://hooks.slack.com/services/T00000000/B00000000/YYYYYYYYYYYYYYYYYYYYYYYY",
    "description": "Updated description",
    "active": true
}
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 1,
    "name": "Engineering Slack Webhook (updated)",
    "url": "https://hooks.slack.com/services/T00000000/B00000000/YYYYYYYYYYYYYYYYYYYYYYYY",
    "description": "Updated description",
    "integration_type": "slack",
    "active": true,
    "created": "2025-03-31T10:15:00.000Z",
    "updated": "2025-03-31T11:00:00.000Z"
}

Delete a Webhook

Delete an existing Webhook resource.

NOTE: This endpoint requires the following feature flag to be enabled: Webhooks.

DELETE /api/v2/webhooks/{id}/

Path Parameter Description
id Integer ID of the webhook to delete.

DELETE /api/v2/webhooks/1/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 204 NO CONTENT

results matching ""

    No results matching ""