Events API
Query and retrieve system events and activity logs via the API.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/events | List events |
| GET | /v1/events/:id | Get single event |
| GET | /v1/requests/:id/events | Request events |
List Events
Request
GET /v1/events
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Event type filter |
resourceType | string | Resource type |
resourceId | string | Specific resource |
userId | string | Events by user |
since | datetime | Events after date |
until | datetime | Events before date |
page | number | Page number |
limit | number | Items per page |
Example
curl -X GET "https://api.dzdesk.com/v1/events?resourceType=request&since=2024-01-15T00:00:00Z" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
{
"success": true,
"data": {
"events": [
{
"id": "evt_abc123",
"type": "request.status_changed",
"resourceType": "request",
"resourceId": "req_123",
"actor": {
"id": "usr_456",
"name": "Jane Smith",
"email": "jane@company.com"
},
"changes": {
"status": {
"from": "open",
"to": "in_progress"
}
},
"timestamp": "2024-01-15T14:30:00Z",
"ipAddress": "192.168.1.100"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"pages": 8
}
}
}
Get Single Event
Request
GET /v1/events/:id
Example
curl -X GET "https://api.dzdesk.com/v1/events/evt_abc123" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
{
"success": true,
"data": {
"id": "evt_abc123",
"type": "request.status_changed",
"resourceType": "request",
"resourceId": "req_123",
"actor": {
"id": "usr_456",
"name": "Jane Smith",
"email": "jane@company.com",
"role": "agent"
},
"changes": {
"status": {
"from": "open",
"to": "in_progress"
}
},
"metadata": {
"userAgent": "Mozilla/5.0...",
"source": "web"
},
"timestamp": "2024-01-15T14:30:00Z",
"ipAddress": "192.168.1.100"
}
}
Request Events
Get events for a specific request:
Request
GET /v1/requests/:id/events
Example
curl -X GET "https://api.dzdesk.com/v1/requests/req_123/events" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
{
"success": true,
"data": {
"events": [
{
"id": "evt_001",
"type": "request.created",
"timestamp": "2024-01-15T10:00:00Z",
"actor": {
"id": "usr_123",
"name": "John Doe"
}
},
{
"id": "evt_002",
"type": "request.assigned",
"timestamp": "2024-01-15T10:30:00Z",
"actor": {
"id": "usr_456",
"name": "Jane Smith"
},
"changes": {
"assignedTo": {
"from": null,
"to": "usr_456"
}
}
},
{
"id": "evt_003",
"type": "request.comment_added",
"timestamp": "2024-01-15T11:00:00Z",
"actor": {
"id": "usr_456",
"name": "Jane Smith"
}
}
]
}
}
Event Types
Request Events
| Type | Description |
|---|---|
request.created | Request created |
request.updated | Request modified |
request.status_changed | Status change |
request.assigned | Assignment change |
request.priority_changed | Priority change |
request.comment_added | Comment added |
request.attachment_added | File attached |
request.deleted | Request deleted |
User Events
| Type | Description |
|---|---|
user.created | User created |
user.updated | User modified |
user.role_changed | Role changed |
user.deactivated | User deactivated |
user.login | User logged in |
user.logout | User logged out |
System Events
| Type | Description |
|---|---|
system.sla_warning | SLA warning triggered |
system.sla_breach | SLA breached |
system.sync_completed | Identity sync done |
system.config_changed | Setting changed |
Filtering by Event Type
Multiple Types
GET /v1/events?type=request.created,request.status_changed
Category Filter
GET /v1/events?resourceType=request
GET /v1/events?resourceType=user
GET /v1/events?resourceType=system
Event Details
Each event includes:
| Field | Description |
|---|---|
id | Unique event ID |
type | Event type |
resourceType | Type of resource |
resourceId | ID of affected resource |
actor | Who performed action |
changes | Before/after values |
metadata | Additional context |
timestamp | When it occurred |
ipAddress | Origin IP (if applicable) |
Use Cases
Audit Trail
# All admin actions today
GET /v1/events?actor.role=admin&since=2024-01-15T00:00:00Z
Request History
# Full history for request
GET /v1/requests/req_123/events
User Activity
# User's actions this week
GET /v1/events?userId=usr_456&since=2024-01-08T00:00:00Z
Security Monitoring
# Login events
GET /v1/events?type=user.login&since=2024-01-15T00:00:00Z
Pagination
Events are paginated by default:
{
"pagination": {
"page": 1,
"limit": 20,
"total": 1000,
"pages": 50,
"hasMore": true
}
}
Use page and limit parameters to navigate.
Rate Limits
Events API has specific limits:
- Standard: 30 requests/minute
- Professional: 120 requests/minute
- Enterprise: Custom
Related Topics
- Authentication - API authentication
- Webhooks - Real-time events
- Audit Logs - Audit guide