Skip to content

Compliance Reporting

Compliance reports demonstrate adherence to policies and license terms. Reports can cover license usage, policy compliance, release approvals, and access patterns. Reports are exportable and verifiable through audit logs.

  • API credentials with report generation permissions
  • Understanding of your organization’s compliance requirements
  • Access to audit logs and license usage data

Compliance reports provide:

  • License usage — Active licenses, usage patterns, seat utilization
  • Policy compliance — Adherence to update policies and blocklists
  • Release approvals — Approval history and compliance with approval workflows
  • Access patterns — User access, role assignments, permission usage
  • Audit trails — Complete history of administrative actions

Reports can be generated for:

  • Specific time periods
  • Individual tenants or products
  • License entitlements
  • Policy configurations

Generate a report of license usage for a tenant:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/license-usage" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z",
"format": "json"
}'

Response:

{
"report_id": "rpt_abc123",
"type": "license_usage",
"status": "completed",
"generated_at": "2024-01-15T10:30:00Z",
"data": {
"tenant_id": "tenant_abc123",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"entitlements": [
{
"entitlement_id": "ent_xyz789",
"product_id": "prod_xyz789",
"policy": {
"type": "per_user",
"max_seats": 50
},
"usage": {
"total_seats": 45,
"peak_concurrent": 42,
"average_concurrent": 38,
"lease_count": 1234
}
}
],
"summary": {
"total_entitlements": 1,
"total_seats": 50,
"used_seats": 45,
"utilization_percent": 90.0
}
}
}

Generate a report showing policy compliance:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/policy-compliance" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z"
}'

Response:

{
"report_id": "rpt_xyz789",
"type": "policy_compliance",
"status": "completed",
"generated_at": "2024-01-15T10:30:00Z",
"data": {
"tenant_id": "tenant_abc123",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"policies": [
{
"product_id": "prod_xyz789",
"channel": "stable",
"mode": "NOTIFY_ONLY",
"pinned_range": ">=1.2.0,<2.0.0",
"compliance": {
"total_decisions": 1234,
"compliant_decisions": 1234,
"non_compliant_decisions": 0,
"compliance_percent": 100.0
}
}
],
"summary": {
"total_policies": 1,
"compliant_policies": 1,
"non_compliant_policies": 0
}
}
}

Generate a report of release approvals:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/release-approvals" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z"
}'

Response:

{
"report_id": "rpt_def456",
"type": "release_approvals",
"status": "completed",
"generated_at": "2024-01-15T10:30:00Z",
"data": {
"tenant_id": "tenant_abc123",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"releases": [
{
"release_id": "rel_abc123",
"product_id": "prod_xyz789",
"version": "1.2.3",
"channel": "stable",
"status": "approved",
"approved_at": "2024-01-15T10:30:00Z",
"approved_by": "admin@example.com",
"approval_notes": "Reviewed release notes and verified artifacts."
}
],
"summary": {
"total_releases": 10,
"approved": 9,
"rejected": 1,
"pending": 0
}
}
}

Generate a report of access patterns and role assignments:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/access-audit" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z"
}'

Response:

{
"report_id": "rpt_ghi789",
"type": "access_audit",
"status": "completed",
"generated_at": "2024-01-15T10:30:00Z",
"data": {
"tenant_id": "tenant_abc123",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"role_assignments": [
{
"user_id": "user@example.com",
"role_id": "role_abc123",
"role_name": "release-manager",
"assigned_at": "2024-01-01T00:00:00Z",
"assigned_by": "admin@example.com"
}
],
"access_events": [
{
"user_id": "user@example.com",
"action": "release_created",
"timestamp": "2024-01-15T10:30:00Z",
"resource": "rel_abc123"
}
],
"summary": {
"total_users": 5,
"total_roles": 3,
"total_access_events": 1234
}
}
}

Export a report in a specific format:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/rpt_abc123/export" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"format": "csv"
}'

Response:

{
"export_id": "exp_abc123",
"report_id": "rpt_abc123",
"format": "csv",
"status": "completed",
"download_url": "https://storage.example.com/exports/exp_abc123.csv",
"expires_at": "2024-01-22T10:30:00Z"
}

Supported formats:

  • json — JSON format (default)
  • csv — CSV format for spreadsheet import
  • pdf — PDF format for documentation

Schedule a report to be generated automatically:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/schedules" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"report_type": "license_usage",
"tenant_id": "tenant_abc123",
"schedule": {
"frequency": "monthly",
"day_of_month": 1,
"time": "00:00:00Z"
},
"recipients": [
"compliance@example.com"
]
}'

Response:

{
"schedule_id": "sched_abc123",
"report_type": "license_usage",
"tenant_id": "tenant_abc123",
"schedule": {
"frequency": "monthly",
"day_of_month": 1,
"time": "00:00:00Z"
},
"recipients": [
"compliance@example.com"
],
"next_run": "2024-02-01T00:00:00Z",
"created_at": "2024-01-15T10:30:00Z"
}

Demonstrates license compliance for vendor audits:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/license-audit" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z",
"include_history": true
}'

Identifies policy violations:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/policy-violations" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z"
}'

Shows release approval compliance:

Terminal window
curl -X POST "${BP_BASE_URL}/v1/reports/release-compliance" \
-H "Authorization: Bearer $BP_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tenant_id": "tenant_abc123",
"start_time": "2024-01-01T00:00:00Z",
"end_time": "2024-01-31T23:59:59Z",
"require_approval": true
}'

Reports can be verified against audit logs:

Terminal window
curl "${BP_BASE_URL}/v1/reports/rpt_abc123/verify" \
-H "Authorization: Bearer $BP_API_TOKEN"

Response:

{
"report_id": "rpt_abc123",
"verified": true,
"verification_timestamp": "2024-01-15T10:30:00Z",
"audit_log_checksum": "sha256:abc123...",
"report_checksum": "sha256:def456..."
}

Regular generation: Generate compliance reports regularly to monitor adherence.

Schedule reports: Use scheduled reports to automate compliance monitoring.

Verify reports: Verify reports against audit logs to ensure accuracy.

Secure storage: Store exported reports securely with appropriate access controls.

Document findings: Document any compliance issues and remediation steps.

Review trends: Review report trends over time to identify patterns or issues.