Webhooks API
Manage workload webhook configuration. Provider callback delivery is outside this collection.
Use API authentication for protected requests. Examples use your own resource IDs and a temporary token; saved response examples are synthetic.
| Method | Path | Operation |
|---|---|---|
GET | /v1/webhook | List webhooks |
POST | /v1/webhook | Create webhook |
GET | /v1/webhook/{id} | Get webhook |
PUT | /v1/webhook/{id} | Update webhook |
DELETE | /v1/webhook/{id} | Delete webhook |
List webhooks
GET /v1/webhook
Returns a paginated list of Webhook
Authentication: bearer token and the team header shown below.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
X-Tenant-ID | header | yes | Active team ID. Must match the tenant bound to a diagnostic token. |
page | query | no | Page number |
per_page | query | no | Items per page |
Request example
Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/webhook" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Response: HTTP 200
List of Webhook
Response fields
| Field | Type | Description |
|---|---|---|
data | array | |
data[].created_at | integer | (Unix timestamp) |
data[].deleted_at | integer | (Unix timestamp) |
data[].external_id | string | External ID from the provider (e.g. hook ID) |
data[].provider | string | Allowed: github, bitbucket. |
data[].status | string | Allowed: active, inactive. |
data[].team_id | string | |
data[].updated_at | integer | (Unix timestamp) |
data[].webhook_id | string | |
data[].workload_id | string | |
pagination | object | |
pagination.page | integer | Current page number |
pagination.per_page | integer | Number of items per page |
pagination.total | integer | Total number of items |
Illustrative example; not a live response:
{
"data": [
{
"created_at": 1791072000,
"deleted_at": 0,
"external_id": "example",
"provider": "github",
"status": "active",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"webhook_id": "000000000000000000000000001",
"workload_id": "000000000000000000000000001"
}
],
"pagination": {
"page": 1,
"per_page": 1,
"total": 1
}
}
Create webhook
POST /v1/webhook
Creates a new Webhook
This request changes data or starts an action. Review the target and body before sending it.
Request fields (the body contains an editable example):
| Field | Type | Required | Description |
|---|---|---|---|
external_id | string | no | External ID from the provider (e.g. hook ID) |
provider | string | yes | Allowed: github, bitbucket. |
status | string | yes | Allowed: active, inactive. Default: "active". |
team_id | string | yes | |
workload_id | string | yes |
Authentication: bearer token and the team header shown below.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
X-Tenant-ID | header | yes | Active team ID. Must match the tenant bound to a diagnostic token. |
Request example
Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.
curl --fail-with-body --request POST "$ADIOS_API_URL/v1/webhook" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"provider": "github",
"status": "active",
"team_id": "YOUR_TEAM_ID",
"workload_id": "YOUR_WORKLOAD_ID"
}
JSON
Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.
Response: HTTP 201
Webhook created
Response fields
| Field | Type | Description |
|---|---|---|
created_at | integer | (Unix timestamp) |
deleted_at | integer | (Unix timestamp) |
external_id | string | External ID from the provider (e.g. hook ID) |
provider | string | Allowed: github, bitbucket. |
status | string | Allowed: active, inactive. |
team_id | string | |
updated_at | integer | (Unix timestamp) |
webhook_id | string | |
workload_id | string |
Illustrative example; not a live response:
{
"created_at": 1791072000,
"deleted_at": 0,
"external_id": "example",
"provider": "github",
"status": "active",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"webhook_id": "000000000000000000000000001",
"workload_id": "000000000000000000000000001"
}
Get webhook
GET /v1/webhook/{id}
Returns a single Webhook
Set webhook_id using IDs from your own API responses.
Authentication: bearer token and the team header shown below.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
id | path | yes | Resource identifier from your team's API results. |
X-Tenant-ID | header | yes | Active team ID. Must match the tenant bound to a diagnostic token. |
Request example
Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/webhook/${ADIOS_WEBHOOK_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Response: HTTP 200
Webhook
Response fields
| Field | Type | Description |
|---|---|---|
created_at | integer | (Unix timestamp) |
deleted_at | integer | (Unix timestamp) |
external_id | string | External ID from the provider (e.g. hook ID) |
provider | string | Allowed: github, bitbucket. |
status | string | Allowed: active, inactive. |
team_id | string | |
updated_at | integer | (Unix timestamp) |
webhook_id | string | |
workload_id | string |
Illustrative example; not a live response:
{
"created_at": 1791072000,
"deleted_at": 0,
"external_id": "example",
"provider": "github",
"status": "active",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"webhook_id": "000000000000000000000000001",
"workload_id": "000000000000000000000000001"
}
Update webhook
PUT /v1/webhook/{id}
Updates an existing Webhook
Set webhook_id using IDs from your own API responses.
This request changes data or starts an action. Review the target and body before sending it.
Request fields (the body contains an editable example):
| Field | Type | Required | Description |
|---|---|---|---|
external_id | string | no | External ID from the provider (e.g. hook ID) |
provider | string | yes | Allowed: github, bitbucket. |
status | string | yes | Allowed: active, inactive. Default: "active". |
team_id | string | yes | |
workload_id | string | yes |
Authentication: bearer token and the team header shown below.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
id | path | yes | Resource identifier from your team's API results. |
X-Tenant-ID | header | yes | Active team ID. Must match the tenant bound to a diagnostic token. |
Request example
Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.
curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/webhook/${ADIOS_WEBHOOK_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"provider": "github",
"status": "active",
"team_id": "YOUR_TEAM_ID",
"workload_id": "YOUR_WORKLOAD_ID"
}
JSON
Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.
Response: HTTP 200
Webhook updated
Response fields
| Field | Type | Description |
|---|---|---|
created_at | integer | (Unix timestamp) |
deleted_at | integer | (Unix timestamp) |
external_id | string | External ID from the provider (e.g. hook ID) |
provider | string | Allowed: github, bitbucket. |
status | string | Allowed: active, inactive. |
team_id | string | |
updated_at | integer | (Unix timestamp) |
webhook_id | string | |
workload_id | string |
Illustrative example; not a live response:
{
"created_at": 1791072000,
"deleted_at": 0,
"external_id": "example",
"provider": "github",
"status": "active",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"webhook_id": "000000000000000000000000001",
"workload_id": "000000000000000000000000001"
}
Delete webhook
DELETE /v1/webhook/{id}
Deletes a Webhook
Set webhook_id using IDs from your own API responses.
This request changes data or starts an action. Review the target and body before sending it.
Authentication: bearer token and the team header shown below.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
id | path | yes | Resource identifier from your team's API results. |
X-Tenant-ID | header | yes | Active team ID. Must match the tenant bound to a diagnostic token. |
Request example
Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.
curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/webhook/${ADIOS_WEBHOOK_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Response: HTTP 200
Resource deleted.
Response fields
| Field | Type | Description |
|---|---|---|
message | string |
Illustrative example; not a live response:
{
"message": "Deleted successfully"
}