Webhooks enable your applications to receive real-time notifications when events occur in your infrastructure and cloud resources. This eliminates the need for polling and ensures your systems stay synchronized with infrastructure changes, deployments, and resource modifications across all integrated platforms.
Unizo normalizes webhook events from AWS, Azure, Google Cloud, Terraform, Kubernetes, and other infrastructure providers into a consistent format. This means you write your webhook handler once and it works with all supported platforms.
Webhook Configuration
To set up webhooks for your integration, visit the Unizo Console Webhooks section for step-by-step configuration guide.
These are the event types currently supported by Unizo's Public Cloud (Infra) webhooks. The list keeps growing as we add support for more events across different platforms.
Event Type
Description
Trigger Conditions
resource:created
A new resource has been created
VM, container, database, or other resource creation
resource:updated
Resource configuration has been modified
Configuration changes, scaling, or tag updates
resource:deleted
A resource has been deleted
Resource termination or removal
deployment:started
Deployment process has started
Application or infrastructure deployment initiation
deployment:completed
Deployment successfully completed
Successful deployment completion
deployment:failed
Deployment failed
Deployment errors or rollback
scaling:triggered
Auto-scaling event triggered
Scale up or scale down based on metrics
maintenance:scheduled
Maintenance window scheduled
Planned maintenance or updates
cost:alert
Cost threshold exceeded
Budget alerts or cost anomalies
Webhook Security
All webhooks from Unizo include security headers to verify authenticity:
Headers
Header
Description
x-unizo-event-type
The type of event that triggered the webhook
x-unizo-signature
HMAC SHA-256 signature for request validation
x-unizo-timestamp
Unix timestamp when the event was sent
x-unizo-delivery-id
Unique identifier for this webhook delivery
Signature Verification
Verify the authenticity of incoming webhooks using HMAC SHA-256:
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/infrastructure - Route by category (infrastructure, ticketing, etc.) for microservices architecture
Headers
Name
Type
Required
Description
Content-Type
string
Yes
Always application/json
x-unizo-event-type
string
Yes
Event type: resource:created
x-unizo-webhook-id
string
Yes
Unique webhook configuration ID
x-unizo-delivery-id
string
Yes
Unique delivery ID for idempotency
x-unizo-signature
string
Yes
HMAC SHA-256 signature
Request Body Schema
Property
Type
Required
Description
type
string
Yes
Event type identifier
version
string
Yes
Webhook payload version
resource.id
string
Yes
Unique resource identifier
resource.name
string
Yes
Resource name
resource.type
string
Yes
Resource type (vm, container, database, etc.)
resource.region
string
Yes
Deployment region
resource.provider
string
Yes
Cloud provider
resource.configuration
object
Yes
Resource configuration
resource.tags
object
No
Resource tags
resource.createdDateTime
string
Yes
ISO 8601 timestamp
resource.createdBy
object
No
User or system that created the resource
integration
object
Yes
Integration details
Example Payload
{
"type":"resource:created",
"version":"1.0.0",
"resource":{
"id":"i-1234567890abcdef0",
"name":"prod-web-server-01",
"type":"vm",
"region":"us-east-1",
"provider":"aws",
"configuration":{
"instanceType":"t3.medium",
"imageId":"ami-0123456789",
"vpcId":"vpc-12345",
"subnetId":"subnet-67890",
"securityGroups":[
"sg-web-prod"
]
},
"tags":{
"Environment":"production",
"Application":"web-app",
"Owner":"platform-team"
},
"createdDateTime":"2024-01-15T14:00:00Z",
"createdBy":{
"id":"user-123",
"email":"devops@example.com",
"type":"user"
}
},
"integration":{
"type":"INFRASTRUCTURE",
"id":"int_123456",
"name":"AWS Production",
"provider":"aws"
}
}
Response
200 OK
Webhook processed successfully
400 Bad Request
Invalid webhook payload
401 Unauthorized
Invalid or missing signature
Resource Updated
resource:updated
Triggered when a resource configuration is modified
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture
Headers
Name
Type
Required
Description
Content-Type
string
Yes
Always application/json
x-unizo-event-type
string
Yes
Event type: resource:updated
x-unizo-webhook-id
string
Yes
Unique webhook configuration ID
x-unizo-delivery-id
string
Yes
Unique delivery ID for idempotency
x-unizo-signature
string
Yes
HMAC SHA-256 signature
Request Body Schema
Property
Type
Required
Description
type
string
Yes
Event type identifier
version
string
Yes
Webhook payload version
resource.id
string
Yes
Unique resource identifier
resource.name
string
Yes
Resource name
resource.type
string
Yes
Resource type
resource.changes
object
Yes
Object containing changed fields
resource.updatedDateTime
string
Yes
ISO 8601 timestamp
resource.updatedBy
object
No
User or system that updated the resource
integration
object
Yes
Integration details
Example Payload
{
"type":"resource:updated",
"version":"1.0.0",
"resource":{
"id":"i-1234567890abcdef0",
"name":"prod-web-server-01",
"type":"vm",
"changes":{
"instanceType":{
"from":"t3.medium",
"to":"t3.large"
},
"tags":{
"added":{
"ScalingGroup":"web-asg-prod"
},
"removed":{},
"modified":{
"LastModified":{
"from":"2024-01-01",
"to":"2024-01-15"
}
}
}
},
"updatedDateTime":"2024-01-15T15:00:00Z",
"updatedBy":{
"id":"auto-scaling",
"type":"system"
}
},
"integration":{
"type":"INFRASTRUCTURE",
"id":"int_123456",
"name":"AWS Production",
"provider":"aws"
}
}
Response
200 OK
Webhook processed successfully
400 Bad Request
Invalid webhook payload
401 Unauthorized
Invalid or missing signature
Resource Deleted
resource:deleted
Triggered when a resource is terminated or deleted
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture
Application or infrastructure deployment initiation
deployment:completed
Deployment successfully completed
Successful deployment completion
deployment:failed
Deployment failed
Deployment errors or rollback
Deployment Started
deployment:started
Triggered when a deployment process begins
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture
Headers
Name
Type
Required
Description
Content-Type
string
Yes
Always application/json
x-unizo-event-type
string
Yes
Event type: deployment:started
x-unizo-webhook-id
string
Yes
Unique webhook configuration ID
x-unizo-delivery-id
string
Yes
Unique delivery ID for idempotency
x-unizo-signature
string
Yes
HMAC SHA-256 signature
Request Body Schema
Property
Type
Required
Description
type
string
Yes
Event type identifier
version
string
Yes
Webhook payload version
deployment.id
string
Yes
Unique deployment identifier
deployment.name
string
Yes
Deployment name
deployment.environment
string
Yes
Target environment
deployment.version
string
Yes
Application or configuration version
deployment.type
string
Yes
Deployment type (rolling, blue-green, canary)
deployment.startedDateTime
string
Yes
ISO 8601 timestamp
deployment.initiatedBy
object
Yes
User or system that initiated deployment
integration
object
Yes
Integration details
Example Payload
{
"type":"deployment:started",
"version":"1.0.0",
"deployment":{
"id":"deploy-789",
"name":"web-app-v2.5.0",
"environment":"production",
"version":"2.5.0",
"type":"rolling",
"startedDateTime":"2024-01-15T14:00:00Z",
"initiatedBy":{
"id":"ci-system",
"name":"Jenkins Pipeline",
"type":"system"
}
},
"integration":{
"type":"INFRASTRUCTURE",
"id":"int_123456",
"name":"Kubernetes Production",
"provider":"kubernetes"
}
}
Response
200 OK
Webhook processed successfully
400 Bad Request
Invalid webhook payload
401 Unauthorized
Invalid or missing signature
Deployment Completed
deployment:completed
Triggered when a deployment successfully completes
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture
Triggered when auto-scaling adjusts resource capacity
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture
Triggered when cloud costs exceed defined thresholds
POSThttps://api.yourapp.com/webhooks/unizo/scm
Best Practice: Use a dedicated webhook endpoint that can handle multiple event types. You have two architectural options: • Single endpoint:https://api.yourapp.com/webhooks/unizo - Route all events to one handler • Category-based endpoints:https://api.yourapp.com/webhooks/unizo/scm - Route by category (scm, ticketing, etc.) for microservices architecture