Subscriber Webhook API
GET
/v1/webhooks/{webhook_id}(subscriber)
Get Webhook
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) | |
| webhook_id | url | string | Unique webhook ID to retrieve. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| auth | body | string | Authentication method used when calling the URL. One of NONE, HTTP_BASIC_AUTHENTICATION or BEARER_TOKEN. |
| basic_auth_password | body | string | Password used when auth is HTTP_BASIC_AUTHENTICATION. |
| basic_auth_username | body | string | Username used when auth is HTTP_BASIC_AUTHENTICATION. |
| bearer_token | body | string | Token used when auth is BEARER_TOKEN. |
| context | body | string | Event category the webhook subscribes to. |
| domain | body | string | Domain the webhook belongs to. |
| id | body | string | Unique webhook ID. |
| method | body | string | HTTP method used when calling the URL. One of get, post, put, patch or delete. |
| ssl_verify | body | boolean | Whether the destination TLS/SSL certificate is verified. |
| url | body | string | Destination URL that receives the webhook request. |
| wh_trigger | body | string | Specific event within the context that fires the webhook. |
Response Example
{
"id": "6962a8c8-d3df-11ef-aa98-79d85e6cbbe2",
"domain": "interstellio.io",
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE",
"basic_auth_username": null,
"basic_auth_password": null,
"bearer_token": null
}
GET
/v1/webhooks(subscriber)
List Webhooks
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) | |
| l | query | integer | Paginate Limit / Entities per Page. (1-50, -1 for streaming) | |
| p | query | integer | Paginate Current Page. (default 1) |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| auth | body | string | Authentication method used when calling the URL. One of NONE, HTTP_BASIC_AUTHENTICATION or BEARER_TOKEN. |
| basic_auth_password | body | string | Password used when auth is HTTP_BASIC_AUTHENTICATION. |
| basic_auth_username | body | string | Username used when auth is HTTP_BASIC_AUTHENTICATION. |
| bearer_token | body | string | Token used when auth is BEARER_TOKEN. |
| context | body | string | Event category the webhook subscribes to. |
| domain | body | string | Domain the webhook belongs to. |
| id | body | string | Unique webhook ID. |
| metadata.page | body | integer | Current Page. (always 1 for infinite) |
| metadata.pages | body | integer | Total Pages. (always 1 for infinite) |
| metadata.per_page | body | integer | Equeal to the entities per page limit or always equal to total records for infinite queries. |
| metadata.records | body | integer | Total entities found. (always max 250 unless infinite is accepted query parameter) |
| method | body | string | HTTP method used when calling the URL. One of get, post, put, patch or delete. |
| ssl_verify | body | boolean | Whether the destination TLS/SSL certificate is verified. |
| url | body | string | Destination URL that receives the webhook request. |
| wh_trigger | body | string | Specific event within the context that fires the webhook. |
Response Example
{
"payload": [
{
"id": "6962a8c8-d3df-11ef-aa98-79d85e6cbbe2",
"domain": "interstellio.io",
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE",
"basic_auth_username": null,
"basic_auth_password": null,
"bearer_token": null
}
],
"metadata": {
"records": 1,
"page": 1,
"pages": 1,
"per_page": 10
}
}
POST
/v1/webhooks(subscriber)
Create Webhook
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) | |
| auth | body | string | Authentication method the platform uses when calling your URL. Defaults to NONE. One of NONE, HTTP_BASIC_AUTHENTICATION or BEARER_TOKEN. | |
| basic_auth_password | body | string | Password sent when auth is HTTP_BASIC_AUTHENTICATION. | |
| basic_auth_username | body | string | Username sent when auth is HTTP_BASIC_AUTHENTICATION. | |
| bearer_token | body | string | Token sent when auth is BEARER_TOKEN. | |
| context | body | string | Event category the webhook subscribes to. Retrieve valid values from GET /v1/webhooks/contexts. Examples: radius-authentication, radius-accounting. | X |
| method | body | string | HTTP method the platform uses when calling your URL. Supported values (lowercase): get, post, put, patch or delete. Use post to receive the event data as a JSON body; get sends a request with no body. | X |
| ssl_verify | body | boolean | Whether the platform verifies the destination TLS/SSL certificate. Set false only for self-signed certificates. | X |
| url | body | string | Destination URL on your side that receives the webhook request. Must be reachable from the NebularStack platform. Do not use localhost or 127.0.0.1 - the platform would then call itself instead of your service. | X |
| wh_trigger | body | string | Specific event within the context that fires the webhook. Must be valid for the chosen context. Retrieve valid values from GET /v1/webhooks/triggers. Example: subscriber-usage-meter-triggered. | X |
Request Example
{
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| auth | body | string | Authentication method used when calling the URL. |
| basic_auth_password | body | string | Password used when auth is HTTP_BASIC_AUTHENTICATION. |
| basic_auth_username | body | string | Username used when auth is HTTP_BASIC_AUTHENTICATION. |
| bearer_token | body | string | Token used when auth is BEARER_TOKEN. |
| context | body | string | Event category the webhook subscribes to. |
| domain | body | string | Domain the webhook belongs to. |
| id | body | string | Unique webhook ID. |
| method | body | string | HTTP method used when calling the URL. One of get, post, put, patch or delete. |
| ssl_verify | body | boolean | Whether the destination TLS/SSL certificate is verified. |
| url | body | string | Destination URL that receives the webhook request. |
| wh_trigger | body | string | Specific event within the context that fires the webhook. |
Response Example
{
"id": "6962a8c8-d3df-11ef-aa98-79d85e6cbbe2",
"domain": "interstellio.io",
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE",
"basic_auth_username": null,
"basic_auth_password": null,
"bearer_token": null
}
POST
/v1/webhooks/{webhook_id}(subscriber)
Edit Webhook
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) | |
| webhook_id | url | string | Unique webhook ID to update. | X |
| auth | body | string | Authentication method the platform uses when calling your URL. One of NONE, HTTP_BASIC_AUTHENTICATION or BEARER_TOKEN. | |
| basic_auth_password | body | string | Password sent when auth is HTTP_BASIC_AUTHENTICATION. | |
| basic_auth_username | body | string | Username sent when auth is HTTP_BASIC_AUTHENTICATION. | |
| bearer_token | body | string | Token sent when auth is BEARER_TOKEN. | |
| context | body | string | Event category the webhook subscribes to. Retrieve valid values from GET /v1/webhooks/contexts. | X |
| method | body | string | HTTP method the platform uses when calling your URL. Supported values (lowercase): get, post, put, patch or delete. | X |
| ssl_verify | body | boolean | Whether the platform verifies the destination TLS/SSL certificate. | X |
| url | body | string | Destination URL on your side that receives the webhook request. Do not use localhost or 127.0.0.1. | X |
| wh_trigger | body | string | Specific event within the context that fires the webhook. Retrieve valid values from GET /v1/webhooks/triggers. | X |
Request Example
{
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| auth | body | string | Authentication method used when calling the URL. |
| basic_auth_password | body | string | Password used when auth is HTTP_BASIC_AUTHENTICATION. |
| basic_auth_username | body | string | Username used when auth is HTTP_BASIC_AUTHENTICATION. |
| bearer_token | body | string | Token used when auth is BEARER_TOKEN. |
| context | body | string | Event category the webhook subscribes to. |
| domain | body | string | Domain the webhook belongs to. |
| id | body | string | Unique webhook ID. |
| method | body | string | HTTP method used when calling the URL. One of get, post, put, patch or delete. |
| ssl_verify | body | boolean | Whether the destination TLS/SSL certificate is verified. |
| url | body | string | Destination URL that receives the webhook request. |
| wh_trigger | body | string | Specific event within the context that fires the webhook. |
Response Example
{
"id": "6962a8c8-d3df-11ef-aa98-79d85e6cbbe2",
"domain": "interstellio.io",
"url": "https://webhooks.example.com/radius/usage-meter",
"method": "post",
"ssl_verify": true,
"context": "radius-accounting",
"wh_trigger": "subscriber-usage-meter-triggered",
"auth": "NONE",
"basic_auth_username": null,
"basic_auth_password": null,
"bearer_token": null
}
DELETE
/v1/webhooks/{webhook_id}(subscriber)
Delete Webhook
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| webhook_id | url | string | Webhook Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 204 | OK - No Content |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
GET
/v1/webhooks/contexts(subscriber)
Get Webhook Contexts
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| id | body | string | Context identifier. |
| metadata | body | object | Pagination metadata. The full list is always returned in a single page, so page and pages are always 1 and per_page equals records (the total number of results). |
| name | body | string | Context name (identical to id). |
| payload | body | array | List of available webhook contexts. Each entry has an identical id and name holding the context string. |
Response Example
{
"payload": [
{
"id": "radius-authentication",
"name": "radius-authentication"
},
{
"id": "radius-accounting",
"name": "radius-accounting"
}
],
"metadata": {
"records": 2,
"page": 1,
"pages": 1,
"per_page": 2
}
}
GET
/v1/webhooks/triggers(subscriber)
Get Webhook Triggers
Service
subscriber
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| X-Timezone | header | string | Timezone for response datetime property values. (default UTC) | |
| context | query | string | Context to return triggers for, e.g. radius-authentication. Retrieve valid values from GET /v1/webhooks/contexts. When omitted, the triggers for every context are returned. |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| id | body | string | Trigger identifier. |
| metadata | body | object | Pagination metadata. The full list is always returned in a single page, so page and pages are always 1 and per_page equals records (the total number of results). |
| name | body | string | Trigger name (identical to id). |
| payload | body | array | List of triggers for the requested context, or for all contexts when no context query parameter is supplied. Each entry has an identical id and name holding the trigger string. |
Response Example
{
"payload": [
{
"id": "subscriber-nas-updated",
"name": "subscriber-nas-updated"
},
{
"id": "subscriber-authenticated",
"name": "subscriber-authenticated"
}
],
"metadata": {
"records": 2,
"page": 1,
"pages": 1,
"per_page": 2
}
}