Subscription Notifications
Rustici Generator supports webhook notifications, also known as subscriptions. When certain actions are triggered in Rustici Generator, the application will send a notification to a specified endpoint that contains details about the action that triggered the notification. This allows external users or systems to be updated as Rustici Generator finishes various tasks.
The table below lists all supported events that will trigger a notification message
| Value | Description |
|---|---|
| JOB_PROCESSED | Generator has concluded the processing of a job. This event is triggered for successful or failed jobs. |
Subscription Authentication
The message that the application sends after a trigger can be configured to include authentication. This can be necessary if the external system that would be receiving a notification message requires incoming messages to be authenticated. To configure your subscription authentication, consider the following API endpoints as a starting point:
- Create new subscription authentication configuration:
POST /api/v1/app_management/subscription_auth - Get a list of current subscription authentication configuration:
GET /api/v1/app_management/subscription_auth - Delete subscription authentication configuration:
DELETE /api/v1/app_management/subscription_auth/{auth_config_id}
A Subscription Authentication configuration can support different methods of authentication. These include:
| Value |
|---|
| OAUTH_2_CLIENT_CREDENTIALS |
| BASIC_AUTH |
| NO_AUTH |
The properties used to configure Subscription Authentication depend on the intended Auth type. A BASIC_AUTH configuration must include key and secret values, a OAUTH_2_CLIENT_CREDENTIALS configuration must include scope and token_url values, and a NO_AUTH type must have null values for all properties.
Notification Messages
For each supported webhook trigger, Rustici Generator will send a message to the designated system describing the trigger. All webhook request bodies will extend this schema:
| Field | Type | Description |
|---|---|---|
| tenant_id | str or NoneType | The ID of the tenant that this webhook event is associated with. |
| subscription_id | str | The ID of the subscription that required this webhook event to be sent. |
| topic | WebhookTopic | The topic of the webhook event. This determines what kind of event this is, and therefore what data will be present in the body. |
| body | dict | The resource that was affected by this event. The schema will vary based on the topic of the event. |
| message_id | str | A random GUID used to uniquely identify a message. Can be used by the client to deduplicate messages |
| timestamp | datetime | The timestamp when the message was created. |
| body_version | str | The version of the body format. |
| message_version | str | The version of the message format. |
Values of WebhookTopic:
| Value | Description |
|---|---|
| JOB_PROCESSED | Generator has concluded the processing of a job. This event is triggered for successful or failed jobs. |
The body property of the request will vary based on the topic of the webhook being sent:
JOB_PROCESSED: Thebodyproperty will be the sameJobReadschema used byGET /api/v1/jobs/:job_id. Contains information about the job that has just concluded. Example:
{
"tenant_id": "tenant_123",
"subscription_id": "sub_123",
"topic": "JOB_PROCESSED",
"body": {
"id": "job_123",
"status": "COMPLETED",
"type": "CONTENT_IMPORT",
"results": {
"content_id": "content_123",
"version": 0
},
"error": null,
"warnings": [],
"create_dt": "2025-01-01T00:00:00Z",
"update_dt": "2025-01-01T00:00:00Z"
},
"message_id": "6bc76399-92dd-42ee-a7fa-20fc355e30bc",
"timestamp": "2025-11-19T15:47:54.976979",
"body_version": "1.0.0",
"message_version": "1.0.0"
}