Skip to main content

BrainPredict Controlling: API Reference

Complete API documentation for BrainPredict Controlling with 80+ endpoints across 10 categories. All endpoints support JSON request/response format.

API Overview

80+
API Endpoints
10
Categories
REST
API Standard

Authentication

All API requests require authentication using an API key. Include your API key in the Authorization header:

Authorization: Bearer bp_controlling_live_xxx

Base URL: https://api.brainpredict.ai/v1

Rate Limits: 1,000 requests per hour (Professional), 5,000 requests per hour (Enterprise)

API Endpoints by Category

BrainPredict Controlling provides 80+ REST API endpoints organized into 10 functional categories:

KPI Management

POST
/api/v1/controlling/kpis

Create new KPI

GET
/api/v1/controlling/kpis

List all KPIs

GET
/api/v1/controlling/kpis/{id}

Get KPI details

PUT
/api/v1/controlling/kpis/{id}

Update KPI

DELETE
/api/v1/controlling/kpis/{id}

Delete KPI

POST
/api/v1/controlling/kpis/analyze

Analyze KPIs with AI

POST
/api/v1/controlling/kpis/predict

Predict KPI values

GET
/api/v1/controlling/kpis/dashboard

Get KPI dashboard

Performance Forecasting

POST
/api/v1/controlling/forecasts

Create forecast

GET
/api/v1/controlling/forecasts

List forecasts

GET
/api/v1/controlling/forecasts/{id}

Get forecast details

POST
/api/v1/controlling/forecasts/rolling

Create rolling forecast

POST
/api/v1/controlling/forecasts/predict

AI-powered forecast

GET
/api/v1/controlling/forecasts/accuracy

Get forecast accuracy

Variance Analysis

POST
/api/v1/controlling/analytics/variance

Analyze variances

POST
/api/v1/controlling/analytics/root-cause

Detect root causes

POST
/api/v1/controlling/analytics/trend

Analyze trends

POST
/api/v1/controlling/analytics/correlation

Analyze correlations

POST
/api/v1/controlling/analytics/anomaly

Detect anomalies

Scenario Planning

POST
/api/v1/controlling/scenarios

Create scenario

GET
/api/v1/controlling/scenarios

List scenarios

GET
/api/v1/controlling/scenarios/{id}

Get scenario details

POST
/api/v1/controlling/scenarios/simulate

Simulate scenario

POST
/api/v1/controlling/scenarios/compare

Compare scenarios

DELETE
/api/v1/controlling/scenarios/{id}

Delete scenario

Planning & Budgeting

POST
/api/v1/controlling/plans

Create plan

GET
/api/v1/controlling/plans

List plans

GET
/api/v1/controlling/plans/{id}

Get plan details

PUT
/api/v1/controlling/plans/{id}

Update plan

POST
/api/v1/controlling/plans/optimize

Optimize plan with AI

POST
/api/v1/controlling/plans/sync

Sync from ERP

Actuals Management

POST
/api/v1/controlling/actuals

Create actual record

GET
/api/v1/controlling/actuals

List actuals

GET
/api/v1/controlling/actuals/{id}

Get actual details

POST
/api/v1/controlling/actuals/sync

Sync from ERP

POST
/api/v1/controlling/actuals/validate

Validate actuals

Target Management

POST
/api/v1/controlling/targets

Create target

GET
/api/v1/controlling/targets

List targets

GET
/api/v1/controlling/targets/{id}

Get target details

PUT
/api/v1/controlling/targets/{id}

Update target

POST
/api/v1/controlling/targets/optimize

Optimize targets with AI

GET
/api/v1/controlling/targets/progress

Get target progress

Dashboards

POST
/api/v1/controlling/dashboards

Create dashboard

GET
/api/v1/controlling/dashboards

List dashboards

GET
/api/v1/controlling/dashboards/{id}

Get dashboard

POST
/api/v1/controlling/dashboards/generate

Auto-generate dashboard

PUT
/api/v1/controlling/dashboards/{id}

Update dashboard

AI Models

GET
/api/v1/controlling/ai-models

List all AI models

GET
/api/v1/controlling/ai-models/{id}

Get model details

POST
/api/v1/controlling/ai-models/{id}/predict

Run prediction

GET
/api/v1/controlling/ai-models/{id}/performance

Get model performance

Subscription

POST
/api/v1/controlling/subscription

Subscribe to platform

GET
/api/v1/controlling/subscription

Get subscription status

PUT
/api/v1/controlling/subscription

Update subscription

DELETE
/api/v1/controlling/subscription

Cancel subscription

Detailed Examples

1. Create KPI

Create a new KPI definition for tracking and monitoring.

Request:
POST /api/v1/controlling/kpis
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "kpi_code": "EBITDA_MARGIN",
  "kpi_name": "EBITDA Margin",
  "category": "Profitability",
  "unit": "percentage",
  "target_value": 25.0,
  "warning_threshold": 20.0,
  "critical_threshold": 15.0,
  "calculation_formula": "(EBITDA / Revenue) * 100",
  "frequency": "monthly",
  "owner": "CFO",
  "description": "EBITDA as percentage of revenue"
}
Response (200 OK):
{
  "success": true,
  "kpi_id": "kpi_abc123",
  "kpi_code": "EBITDA_MARGIN",
  "kpi_name": "EBITDA Margin",
  "status": "active",
  "created_at": "2025-11-09T10:30:00Z",
  "message": "KPI created successfully"
}

2. AI-Powered Forecast

Generate AI-powered performance forecast using the Performance Predictor model.

Request:
POST /api/v1/controlling/forecasts/predict
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "historical_months": 24,
  "forecast_months": 12,
  "kpis": ["revenue", "ebitda", "cash_flow"],
  "include_scenarios": true,
  "confidence_level": 0.95,
  "ai_model": "performance_predictor"
}
Response (200 OK):
{
  "success": true,
  "forecast_id": "fcst_xyz789",
  "accuracy": 94.2,
  "confidence": 95.0,
  "forecasts": {
    "revenue": {
      "12m_forecast": 125000000,
      "growth_rate": 8.5,
      "trend": "increasing"
    },
    "ebitda": {
      "12m_forecast": 31250000,
      "margin": 25.0,
      "trend": "stable"
    },
    "cash_flow": {
      "12m_forecast": 28000000,
      "conversion_rate": 89.6,
      "trend": "increasing"
    }
  },
  "scenarios": {
    "best_case": { "revenue": 135000000, "probability": 0.15 },
    "base_case": { "revenue": 125000000, "probability": 0.70 },
    "worst_case": { "revenue": 110000000, "probability": 0.15 }
  },
  "ai_insights": [
    "Revenue growth driven by product expansion",
    "EBITDA margin stable at target level",
    "Strong cash conversion expected"
  ],
  "created_at": "2025-11-09T10:35:00Z"
}

3. Variance Analysis

Analyze variances between actuals and plan with AI-powered root cause detection.

Request:
POST /api/v1/controlling/analytics/variance
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "period": "2025-10",
  "dimensions": ["cost_center", "product", "region"],
  "variance_threshold": 5.0,
  "include_root_cause": true,
  "ai_model": "variance_analyzer"
}
Response (200 OK):
{
  "success": true,
  "analysis_id": "var_def456",
  "period": "2025-10",
  "total_variance": -850000,
  "variance_percentage": -6.8,
  "significant_variances": [
    {
      "dimension": "cost_center",
      "entity": "CC-1001 (Sales)",
      "plan": 5000000,
      "actual": 5450000,
      "variance": -450000,
      "variance_pct": -9.0,
      "root_causes": [
        "Higher commission rates due to new incentive program",
        "Increased travel expenses for customer meetings"
      ],
      "impact": "high"
    },
    {
      "dimension": "product",
      "entity": "Product A",
      "plan": 8000000,
      "actual": 7600000,
      "variance": 400000,
      "variance_pct": 5.0,
      "root_causes": [
        "Lower than expected sales volume",
        "Pricing pressure from competitors"
      ],
      "impact": "medium"
    }
  ],
  "ai_recommendations": [
    "Review sales incentive program effectiveness",
    "Investigate Product A pricing strategy",
    "Monitor competitor activities closely"
  ],
  "accuracy": 93.5
}

4. Scenario Simulation

Simulate business scenarios with AI-powered what-if analysis.

Request:
POST /api/v1/controlling/scenarios/simulate
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "scenario_name": "Price Increase 5%",
  "base_period": "2025-10",
  "simulation_months": 12,
  "assumptions": [
    {
      "variable": "price",
      "change_type": "percentage",
      "change_value": 5.0
    },
    {
      "variable": "volume",
      "change_type": "percentage",
      "change_value": -2.0,
      "reason": "Expected volume decline due to price increase"
    }
  ],
  "ai_model": "scenario_simulator"
}
Response (200 OK):
{
  "success": true,
  "scenario_id": "scn_ghi789",
  "scenario_name": "Price Increase 5%",
  "simulation_results": {
    "revenue_impact": {
      "baseline": 120000000,
      "simulated": 123480000,
      "change": 3480000,
      "change_pct": 2.9
    },
    "ebitda_impact": {
      "baseline": 30000000,
      "simulated": 32370000,
      "change": 2370000,
      "change_pct": 7.9
    },
    "volume_impact": {
      "baseline": 1000000,
      "simulated": 980000,
      "change": -20000,
      "change_pct": -2.0
    }
  },
  "sensitivity_analysis": {
    "price_elasticity": -0.4,
    "break_even_volume_decline": -5.2
  },
  "ai_insights": [
    "Net positive impact on profitability despite volume decline",
    "EBITDA margin improves from 25.0% to 26.2%",
    "Recommended if volume decline stays below 5%"
  ],
  "confidence": 91.5,
  "created_at": "2025-11-09T10:40:00Z"
}

5. Rolling Forecast

Create continuous rolling forecasts that automatically update.

Request:
POST /api/v1/controlling/forecasts/rolling
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "forecast_horizon": 12,
  "update_frequency": "monthly",
  "kpis": ["revenue", "costs", "ebitda"],
  "auto_update": true,
  "ai_model": "rolling_forecast_engine"
}
Response (200 OK):
{
  "success": true,
  "rolling_forecast_id": "rf_jkl012",
  "forecast_horizon": 12,
  "update_frequency": "monthly",
  "next_update": "2025-12-01T00:00:00Z",
  "current_forecast": {
    "period": "2025-11 to 2026-10",
    "revenue": 125000000,
    "costs": 93750000,
    "ebitda": 31250000,
    "ebitda_margin": 25.0
  },
  "accuracy_trend": [
    { "month": "2025-08", "accuracy": 92.1 },
    { "month": "2025-09", "accuracy": 93.5 },
    { "month": "2025-10", "accuracy": 94.2 }
  ],
  "status": "active",
  "created_at": "2025-11-09T10:45:00Z"
}

6. Auto-Generate Dashboard

Let AI automatically generate optimized dashboards based on your KPIs.

Request:
POST /api/v1/controlling/dashboards/generate
Authorization: Bearer bp_controlling_live_xxx
Content-Type: application/json

{
  "dashboard_name": "Executive Dashboard",
  "target_audience": "C-Level",
  "kpis": ["revenue", "ebitda", "cash_flow", "working_capital"],
  "time_period": "last_12_months",
  "include_forecasts": true,
  "ai_model": "dashboard_generator"
}
Response (200 OK):
{
  "success": true,
  "dashboard_id": "dash_mno345",
  "dashboard_name": "Executive Dashboard",
  "layout": {
    "widgets": [
      {
        "type": "kpi_card",
        "kpi": "revenue",
        "position": { "row": 1, "col": 1 },
        "size": "medium"
      },
      {
        "type": "trend_chart",
        "kpi": "ebitda",
        "position": { "row": 1, "col": 2 },
        "size": "medium"
      },
      {
        "type": "forecast_chart",
        "kpis": ["revenue", "ebitda"],
        "position": { "row": 2, "col": 1 },
        "size": "large"
      }
    ]
  },
  "ai_recommendations": [
    "Added revenue trend for quick performance overview",
    "Included forecast comparison for forward-looking insights",
    "Optimized layout for executive viewing"
  ],
  "created_at": "2025-11-09T10:50:00Z"
}

Error Handling

The API uses standard HTTP status codes and returns detailed error messages:

400 Bad Request

Invalid request parameters or missing required fields

{
  "error": "validation_error",
  "message": "Invalid KPI code format",
  "details": {
    "field": "kpi_code",
    "constraint": "Must be uppercase alphanumeric with underscores"
  }
}
401 Unauthorized

Missing or invalid API key

{
  "error": "authentication_error",
  "message": "Invalid API key"
}
403 Forbidden

Insufficient permissions or subscription required

{
  "error": "permission_error",
  "message": "Controlling platform subscription required"
}
404 Not Found

Resource not found

{
  "error": "not_found",
  "message": "KPI with ID 'kpi_abc123' not found"
}
429 Too Many Requests

Rate limit exceeded

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded. Try again in 3600 seconds",
  "retry_after": 3600
}
500 Internal Server Error

Server error - contact support if persists

{
  "error": "internal_error",
  "message": "An unexpected error occurred",
  "request_id": "req_xyz789"
}

Webhooks

Subscribe to real-time events via webhooks for proactive monitoring:

controlling.forecast.updated

Triggered when a forecast is updated or regenerated

controlling.variance.detected

Triggered when significant variance is detected

controlling.target.missed

Triggered when a KPI target is missed

controlling.performance.alert

Triggered when performance alert threshold is reached

SDK Support

Official SDKs available for popular programming languages:

Python
pip install brainpredict-controlling
Node.js
npm install @brainpredict/controlling
Java
com.brainpredict:controlling:1.0.0
PHP
composer require brainpredict/controlling

Need Help?

Our support team is here to help you integrate BrainPredict Controlling: