Download OpenAPI specification:Download
Manage the webhook configuration to allow users to choose which events they want to receive via the Svix webhook provider.
Key Features:
Key Benefits:
Creates a new webhook config for a given tenant. Currently the service supports the following webhook providers:
NOTE Svix supports a maximum message payload size of approximately 350kb. However, it is generally advisable to keep webhook payloads small, ideally under 40kb. For larger message sizes, consider using the HTTP Webhook Strategy.
Required scopes
webhook.subscription_manage
Result of creating config
Request was syntactically incorrect. Details are provided in the response payload.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Conflict. The resource already exists.
Some server-side error occurred. Details are provided in the response payload.
{- "code": "svix",
- "active": true,
- "provider": "SVIX_SHARED",
- "configuration": { }
}
{- "code": "svix"
}
Retrieves a list of webhook configurations for a given tenant.
Required scopes
webhook.subscription_read
Returning list of webhook configs.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Some server-side error occurred. Details are provided in the response payload.
[- {
- "code": "svix",
- "provider": "SVIX_SHARED",
- "active": true
}
]
Updates a webhook config for a given tenant. Currently the service supports the following webhook providers:
Required scopes
webhook.subscription_manage
No content
Request was syntactically incorrect. Details are provided in the response payload.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Conflict. The resource already exists.
Some server-side error occurred. Details are provided in the response payload.
{- "active": true,
- "provider": "SVIX_SHARED",
- "configuration": { }
}
{- "code": 400,
- "status": "Bad Request",
- "message": "Tenant in the header is not matching with the one provided in the URI."
}
Partially updates a webhook config for a given tenant. Single update may contain multiple partial updates in the form of an array. Following operations are allowed:
REMOVE
- removing an item from the listUPSERT
- adding or updating given propertyRequired scopes
webhook.subscription_manage
No content
Request was syntactically incorrect. Details are provided in the response payload.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Some server-side error occurred. Details are provided in the response payload.
[- {
- "op": "UPSERT",
- "path": "/active",
- "value": true
}, - {
- "op": "UPSERT",
- "path": "/configuration/svix/apiKey",
- "value": "SARFJ353DSTGSd3w3cZXX"
}
]
{- "code": 400,
- "status": "Bad Request",
- "message": "Tenant in the header is not matching with the one provided in the URI."
}
Retrieves a webhook configuration for a given tenant.
Required scopes
webhook.subscription_read
Returning a webhook config.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
The requested resource does not exist.
Some server-side error occurred. Details are provided in the response payload.
{- "code": "svix",
- "provider": "SVIX_SHARED",
- "active": true
}
Removes a webhook configuration for a given tenant.
Required scopes
webhook.subscription_manage
No content
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Some server-side error occurred. Details are provided in the response payload.
{- "fault": {
- "faultstring": "Invalid access token",
- "detail": {
- "errorcode": "oauth.v2.InvalidAccessToken"
}
}
}
Updates the list of subscriptions by either subscribing to or unsubscribing from specified events.
To receive events with fewer fields, you can specify the names of fields that you want to exclude in the 'fieldsToUnsubscribe' array. To re-include the previously excluded fields, you can provide their names in the 'fieldsToSubscribe' array.
Required scopes
webhook.subscription_manage
Multi Status response containing individual results for each subscription request.
Request was syntactically incorrect. Details are provided in the response payload.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
The requested resource does not exist.
Conflict. The resource already exists.
Some server-side error occurred. Details are provided in the response payload.
[- {
- "eventType": "product.created",
- "action": "SUBSCRIBE",
- "fieldsToSubscribe": [
- "name"
], - "fieldsToUnsubscribe": [
- "description"
], - "metadata": {
- "version": 1
}
}, - {
- "eventType": "product.updated",
- "action": "UNSUBSCRIBE",
- "metadata": {
- "version": 2
}
}
]
[- {
- "eventType": "product.created",
- "code": 200,
- "status": "OK"
}, - {
- "eventType": "product.updated",
- "code": 200,
- "status": "OK"
}, - {
- "eventType": "product.deleted",
- "code": 409,
- "status": "CONFLICT",
- "message": "Unique constraint violation for provided eventType and metadata version. It is possible to update an eventsubscription only by always providing the latest version. Fetch the event subscriptions to get the latest version."
}
]
Retrieves all events with associated subscription details.
Note: Events that have no past subscription information will contain empty metadata. Fields that are referenced in the 'excludedFields' array will be filtered out from the event payload. The absence of a field in 'excludedFields' means it will be automatically included in the event payload.
Required scopes
webhook.subscription_read
The request was successful. An event catalog with associated subscription details is returned.
Request was syntactically incorrect. Details are provided in the response payload.
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
The requested resource does not exist.
Some server-side error occurred. Details are provided in the response payload.
[- {
- "event": {
- "type": "product.updated",
- "eventSchema": {
- "id": "String",
- "name": "LocalizedString",
- "description": "LocalizedString",
- "productType": "String"
}, - "name": {
- "en": "Updated"
}, - "group": {
- "en": "Product"
}, - "description": {
- "en": "The event is emitted when a product is being updated."
}
}, - "metadata": {
- "version": 1,
- "createdAt": "2022-03-31T13:13:25.816Z",
- "modifiedAt": "2022-03-31T13:13:25.816Z"
}, - "subscription": "SUBSCRIBED",
- "excludedFields": [
- "description"
]
}
]
Retrieves a Svix magic login link (authentication embedded) and an authentication token needed to connect a tenant to their consumer application portal.
Required scopes
webhook.subscription_manage
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
The requested resource does not exist.
Some server-side error occurred. Details are provided in the response payload.
{- "token": "appsk_kV3ts5tKPNJN4Dl25cMTfUNdmabxbX0O"
}
Retrieves statistics on the number of emitted events and provides information on the limit of webhook notifications configured for a specific tenant.
Required scopes
webhook.subscription_read
OK
Unauthorized
Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.
Some server-side error occurred. Details are provided in the response payload.
{- "monthStatistics": [
- {
- "statisticsMonth": "2022-09",
- "succesfullySentWebhooks": 8994
}, - {
- "statisticsMonth": "2022-08",
- "succesfullySentWebhooks": 2137
}
], - "webhooksLimit": 10000
}