Skip to content
POST/api/v1/forensics/baseline-compare

Baseline Variance Analysis

Compares the current schedule against an approved baseline to detect variance, drift, and execution performance signals.\n\nPerformance indicators: BEI, Critical Path BEI, SPI(t), variance severity, on-track percentage.\n\nOptional analysis:\n- include_trends — multi-period variance trend analysis\n- include_evms_trends — EVMS SPI/CPI/EAC indices over time\n- include_forecast_trends — EAC forecast stability tracking\n- include_logic_changes — dependency graph drift detection\n\nMatch strategies: id (default), id_and_wbs, wbs_hierarchy, fuzzy_id.\n\nTier access: Starter and above.\n\nStandards: GAO BP-10, DCMA Check #14 (BEI), AACE RP 29R-03.

Request example

json
json
{
  "tasks": [
    {
      "id": "T1",
      "duration_days": 5
    }
  ]
}

Request fields from OpenAPI contract

Required fields and the optional fields that change this call are listed here. The shared task model stays on the task schema guide.

This table is generated from the endpoint schema in openapi.json.

FieldTypeRequiredDescription
current_scheduleobjectRequiredCurrent schedule snapshot for baseline comparison.
current_schedule.tasksarray<unknown>RequiredNo description in OpenAPI contract.
current_schedule.tasks[].idstringRequiredUnique task identifier
current_schedule.status_datestringRequiredNo description in OpenAPI contract.
baseline_scheduleobjectRequiredApproved baseline schedule for comparison.
baseline_schedule.tasksarray<unknown>RequiredNo description in OpenAPI contract.
baseline_schedule.tasks[].idstringRequiredUnique task identifier
baseline_schedule.baseline_datestringRequiredNo description in OpenAPI contract.
schedule_historyarray<unknown>OptionalNo description in OpenAPI contract.
schedule_history[].snapshot_datestringOptionalNo description in OpenAPI contract.
schedule_history[].tasksarray<unknown>OptionalNo description in OpenAPI contract.
schedule_history[].tasks[].idstringOptionalUnique task identifier
schedule_history[].tasks[].duration_daysnumberOptionalTask duration in days
schedule_history[].tasks[].predecessorsarray<string | object | unknown>OptionalList of predecessor task IDs or dependency links. Supports: 'T1', 'T1FS+5 d', 'T2SS-2 d', or DependencyLink objects
schedule_history[].tasks[].namestring | nullOptionalTask name
schedule_history[].tasks[].resourcestring | nullOptionalResource assigned to task
schedule_history[].tasks[].resourcesarray<string>OptionalList of resources assigned (for multi-resource tasks)
schedule_history[].tasks[].percent_completenumberOptionalPercent complete (0-100)
schedule_history[].tasks[].physical_percent_completenumber | nullOptionalPhysical percent complete (0-100). Manual EVM entry by scheduler (MSP PhysicalPercentComplete). Authoritative for BCWP calculations. Captured separately from percent_complete on MSP imports.
schedule_history[].tasks[].planned_startstring | nullOptionalPlanned start date (ISO 8601)
schedule_history[].tasks[].planned_finishstring | nullOptionalPlanned finish date (ISO 8601)
schedule_history[].tasks[].actual_startstring | nullOptionalActual start date (ISO 8601)
schedule_history[].tasks[].actual_finishstring | nullOptionalActual finish date (ISO 8601)
schedule_history[].tasks[].baseline_startstring | nullOptionalBaseline start date (ISO 8601)
schedule_history[].tasks[].baseline_finishstring | nullOptionalBaseline finish date (ISO 8601)
schedule_history[].tasks[].constraint_typestring | nullOptionalConstraint type: ASAP, ALAP, SNET, SNLT, FNET, FNLT, MSO, MFO
schedule_history[].tasks[].constraint_datestring | nullOptionalConstraint date if applicable (ISO 8601)
schedule_history[].tasks[].task_typestring | nullOptionalTask type classification. Valid values: task (default), milestone, loe, summary, schedule_margin, planning_package, slpp, schedule_visibility. Drives DCMA check exclusions per PAM 200.1 § 3.2.
schedule_history[].tasks[].wbs_codestring | nullOptionalWBS code (e.g., '1.2.3')
schedule_history[].tasks[].organization_codestring | nullOptionalOrg/dept identifier for anomaly categorization (Progress Audit)
schedule_history[].tasks[].custom_field_mapobject | nullOptionalAll WBS/OBS-pattern custom fields discovered in this MS Project file, keyed by alias (e.g., 'CWBS', 'OBS'). Null for XER imports or when no matching aliases exist.
schedule_history[].tasks[].forecast_startstring | nullOptionalCurrent forecast start date (ISO 8601)
schedule_history[].tasks[].forecast_finishstring | nullOptionalCurrent forecast finish date (ISO 8601)
schedule_history[].tasks[].total_float_daysnumber | nullOptionalPre-computed total float in days. Auto-computed by CPM if absent.
schedule_history[].tasks[].baseline_duration_daysnumber | nullOptionalBaseline duration in days. Auto-computed from baseline dates if absent.
schedule_history[].tasks[].delay_categorystring | nullOptionalDelay attribution category. Valid values: owner, contractor, design, procurement, weather, force_majeure.
schedule_history[].tasks[].earned_valuenumber | nullOptionalEarned Value (BCWP) in cost units. Requires options.include_ev_validation.
schedule_history[].tasks[].budgeted_costnumber | nullOptionalBudgeted Cost of Work Scheduled (BCWS) in cost units.
schedule_history[].tasks[].approval_requiredboolean | nullOptionalWhether this task requires explicit approval before it can start.
schedule_history[].tasks[].approval_statusstring | nullOptionalApproval workflow state. Valid values: not_required, pending, approved, rejected.
schedule_history[].planned_value_totalnumber | nullOptionalNo description in OpenAPI contract.
schedule_history[].earned_value_totalnumber | nullOptionalNo description in OpenAPI contract.
schedule_history[].actual_cost_totalnumber | nullOptionalNo description in OpenAPI contract.
schedule_history[].budget_at_completionnumber | nullOptionalNo description in OpenAPI contract.
optionsobjectOptionalOptions controlling baseline compare analysis.
options.match_strategystringOptionalNo description in OpenAPI contract.
options.fuzzy_match_thresholdnumberOptionalNo description in OpenAPI contract.
options.variance_threshold_daysintegerOptionalNo description in OpenAPI contract.
options.include_task_variancesbooleanOptionalNo description in OpenAPI contract.
options.include_critical_path_onlybooleanOptionalNo description in OpenAPI contract.
options.include_logic_changesbooleanOptionalNo description in OpenAPI contract.
options.include_oos_impactbooleanOptionalNo description in OpenAPI contract.
options.include_trendsbooleanOptionalNo description in OpenAPI contract.
options.trend_analysis_periodsintegerOptionalNo description in OpenAPI contract.
options.include_evms_trendsbooleanOptionalNo description in OpenAPI contract.
options.eac_methodstringOptionalNo description in OpenAPI contract.
options.include_forecast_trendsbooleanOptionalNo description in OpenAPI contract.
options.variance_acceleration_thresholdnumberOptionalNo description in OpenAPI contract.
options.include_chart_databooleanOptionalNo description in OpenAPI contract.

Response example

json
json
{
  "score": 92,
  "grade": "A"
}

Response fields from OpenAPI contract

This table is generated from the endpoint response schema in openapi.json.

FieldTypeRequiredDescription
statusstringRequiredTop-level result status — always present in every response.
metadataobjectRequiredAudit trail and processing context — always present, never null.
metadata.task_countintegerRequiredNumber of tasks in the submitted schedule
metadata.endpointstringRequiredEndpoint path e.g. /api/v1/health/score

Schema

json-schema
{
  "$ref": "#/components/schemas/BellatorResponse_BaselineCompareData_"
}

Authentication

  • x-api-key header

Reference details

Operation ID
baseline_compare_api_v1_forensics_baseline_compare_post
Section
Forensics
Tags
Forensics
Playground link
/playground?endpoint=%2Fapi%2Fv1%2Fforensics%2Fbaseline-compare&method=post

Was this page helpful?

Your feedback helps us improve docs, reference pages, and Playground flows.

Topic: Baseline Variance Analysis · Page: /docs/api-reference/baseline_compare_api_v1_forensics_baseline_compare_post

TermsPrivacyContact

Schedule analysis guidance. Not legal advice. You remain responsible for contract and agency compliance.