Rest API Overview
REST API Overview
CIB ins7ght exposes a REST API for accessing process analytics, statistics, and configuration data. All endpoints are accessible without authentication.
Base URL: http://localhost:8899 (configurable via server.port)
API Categories
1. Overview Statistics API
Base Path: /overview
Provides aggregated metrics and time-series data for process instances.
Endpoints:
GET /overview- Get summary statisticsGET /overview/graph/started-instances- Time series of started instancesGET /overview/graph/finalized-instances- Time series of finalized instancesGET /overview/graph/successful-instances- Time series of successful instancesGET /overview/graph/canceled-instances- Time series of canceled instancesGET /overview/graph/incident-instances- Time series of instances with incidents
2. Process Analysis API
Base Path: /process-analysis
Provides detailed activity-level metrics, bottleneck detection, and outlier identification.
Endpoints:
GET /process-analysis/activity- Activity-level statisticsGET /process-analysis/activity-duration- Duration between activitiesGET /process-analysis/outliers- Outlier process instancesGET /process-analysis/duration- Duration distributionGET /process-analysis/thresholds- Calculated outlier thresholdsGET /process-analysis/version-duration- Version comparison statistics
3. Process API
Base Path: /process
Provides access to process definitions, versions, and BPMN diagrams.
Endpoints:
GET /process- List all process definitionsGET /process/{processKey}/version- Get versions for a processGET /process/bpmn- Get BPMN XML diagram
4. Info API
Base Path: /info
Provides application metadata and configuration.
Endpoints:
GET /info- Get application versionGET /info/properties- Get configuration properties
5. Polling Info API
Base Path: /pollinfo
Provides polling status and data synchronization information.
Endpoints:
GET /pollinfo- Get polling status and timestamps
Quick Start
Get Application Version
curl -X GET "http://localhost:8899/info"
Get All Processes
curl -X GET "http://localhost:8899/process"
Get Overview Statistics
curl -X GET "http://localhost:8899/overview?processKey=invoice-process&version=1"
Get Activity Analysis
curl -X GET "http://localhost:8899/process-analysis/activity?processKey=invoice-process&version=1"
Check Polling Status
curl -X GET "http://localhost:8899/pollinfo"
Common Parameters
Most endpoints support the following query parameters for filtering:
| Parameter | Type | Description |
|---|---|---|
processKey |
string | Process definition key (e.g., invoice-process) |
version |
string | Process version (e.g., 1, 2) |
startDate |
string | Start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z) |
endDate |
string | End date in ISO 8601 format (e.g., 2025-01-31T23:59:59Z) |
Response Formats
JSON
Most endpoints return JSON data.
{
"field": "value",
"numericField": 123,
"arrayField": [1, 2, 3]
}
Plain Text
The /info endpoint returns plain text.
0.0.2-SNAPSHOT 2025-01-29-1200
Binary (XML)
The /process/bpmn endpoint returns BPMN XML as binary data.
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions ...>
...
</bpmn:definitions>
Data Types
Timestamps
- Format: ISO 8601 with timezone (e.g.,
2025-01-29T10:30:00Z) - Unix Epoch: Long integers representing milliseconds since 1970-01-01 (e.g.,
1704067200000)
Durations
- Format: Long integers representing milliseconds
- Example:
3600000(1 hour)
Process Identifiers
- Process Key: String identifier for a process definition (e.g.,
invoice-process) - Version: String representing version number (e.g.,
1,2) - Process ID: Full process definition ID from CIB seven (e.g.,
invoice-process:1:abc123)
Error Handling
Successful Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": "..."
}
Error Response
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"timestamp": "2025-01-29T10:30:00.000+00:00",
"status": 500,
"error": "Internal Server Error",
"message": "No Process Key provided",
"path": "/process-analysis/activity"
}
Common Error Scenarios:
- Missing required parameters → 500 error with descriptive message
- Invalid process key/version → Empty array or
nullresponse - Database connection issues → 500 error
CORS
CIB ins7ght does not configure CORS headers. If cross-origin access is required, configure CORS at the reverse proxy level.
Authentication
CIB ins7ght does not implement API authentication. All endpoints are publicly accessible.
Access control must be implemented through:
- Network-level security (firewalls, VPNs)
- Reverse proxy authentication
- Infrastructure security controls
See Security Instructions for details.
Rate Limiting
No rate limiting is implemented. Consider implementing rate limiting at the reverse proxy or infrastructure level if needed.
API Versioning
The REST API is not versioned. Breaking changes will be documented in release notes.
Testing the API
Using cURL
# Simple GET request
curl -X GET "http://localhost:8899/overview"
# With query parameters
curl -X GET "http://localhost:8899/overview?processKey=invoice-process&version=1&startDate=2025-01-01T00:00:00Z"
# Pretty print JSON response
curl -X GET "http://localhost:8899/overview" | jq .
Using Browser
Most GET endpoints can be accessed directly in a browser:
http://localhost:8899/process
http://localhost:8899/pollinfo
http://localhost:8899/info/properties
API Documentation by Category
- Overview Statistics API - Aggregated metrics and time-series data
- Process Analysis API - Activity analysis and bottleneck detection
- Process API - Process definitions and BPMN diagrams
- Info API - Application metadata and configuration
- Polling Info API - Polling status and synchronization
Need Help?
- Check individual API documentation pages for detailed endpoint information
- Review JSON examples for expected request/response formats
- Consult Configuration Guide for server configuration
- See Troubleshooting for common issues