---
title: "Delta"
method: GET
path: "/v1/calibration/delta"
---

# Delta

`GET /v1/calibration/delta`

## Request

- Base URL: `https://api.forgeorbital.com`
- URL: `https://api.forgeorbital.com/v1/calibration/delta`
- Auth: one of:
  - API key in header `X-API-Key`
  - OAuth 2 (client credentials, token URL `/oauth/token`, scopes: `decision_records`)
  - HTTP bearer

Calibration delta — what changed in the partner cohort
between ``since_iso`` and now.

Read-only. Returns the Brier + reliability-bins before AND
after the cutoff, plus a derived delta block (samples
change, Brier change, status change). Useful for the
partner's monthly review meeting.

## Query parameters

- `industry` string, required: Vertical (e.g. insurance_decision, cyber_threat_intel).
- `since_iso` string, date-time, nullable: ISO-8601 cutoff. Entries with created_at strictly later than this go in 'after'. If omitted, partitions at the median created_at.
- `client_id` string, nullable: Optional tenant assertion; when supplied, it must match the authenticated org_id.
- `workflow_type` string
- `system_version` string
- `rubric_version` string
- `engine_identity_sha256` string: Exact signed engine identity. Supply it to prevent a drift comparison from mixing engine/config/prior populations.
- `row_limit` integer: Maximum retained calibration rows in this bounded view.
- `snapshot_max_id` integer, nullable
- `before_id` integer, nullable

## Response `200`

Successful Response

- CalibrationDeltaResponse
  - `schema_version` 'forge-calibration-ops/v1', required
  - `tenant_id` string, required
  - `industry` string, required
  - `view` 'calibration_delta', required
  - `partition_mode` 'balanced_ordered_halves' | 'explicit_timestamp_cutoff', required
  - `since_iso` string, nullable, required
  - `calibration_scope` object, required
  - `scope_mismatch_rows_excluded` integer, required
  - `engine_identities_observed` string[], required
  - `engine_identity_mixing_warning` boolean, required
  - `engine_identity_missing_rows` integer
  - `engine_identity_population_complete` boolean
  - `before` CalibrationMetricsResponse, required
    - `samples` integer, required
    - `outcome_rows_total` integer
    - `inference_skipped_outcomes_excluded` integer
    - `brier_methodology` object
    - `scored_samples` integer, nullable
    - `brier_score` number, nullable, required
    - `reliability_bins` CalibrationReliabilityBinResponse[], required
      - `bucket` string, required
      - `predicted_mean` number, required
      - `observed_rate` number, required
      - `n` integer, required
      - `n_semantics` string, required
    - `status` string, required
    - `validation_threshold_n` integer, nullable
    - `brier_quality_threshold` number, nullable
    - `validation_requirements` CalibrationValidationRequirementsResponse
      - `scored_samples` integer, required
      - `minimum_scored_samples` integer, required
      - `brier_score` number, required
      - `maximum_brier_score` number, required
      - `meets_sample_threshold` boolean, required
      - `meets_brier_quality_threshold` boolean, required
    - `skipped_unmatchable_outcomes` integer, required
    - `ambiguous_outcome_labels_dropped` integer
    - `non_finite_posteriors_dropped` integer, required
    - `out_of_range_posteriors_dropped` integer, required
    - `invalid_probability_vectors_dropped` integer
    - `reliability_rating` object, required
  - `after` CalibrationMetricsResponse, required
    - `samples` integer, required
    - `outcome_rows_total` integer
    - `inference_skipped_outcomes_excluded` integer
    - `brier_methodology` object
    - `scored_samples` integer, nullable
    - `brier_score` number, nullable, required
    - `reliability_bins` CalibrationReliabilityBinResponse[], required
      - `bucket` string, required
      - `predicted_mean` number, required
      - `observed_rate` number, required
      - `n` integer, required
      - `n_semantics` string, required
    - `status` string, required
    - `validation_threshold_n` integer, nullable
    - `brier_quality_threshold` number, nullable
    - `validation_requirements` CalibrationValidationRequirementsResponse
      - `scored_samples` integer, required
      - `minimum_scored_samples` integer, required
      - `brier_score` number, required
      - `maximum_brier_score` number, required
      - `meets_sample_threshold` boolean, required
      - `meets_brier_quality_threshold` boolean, required
    - `skipped_unmatchable_outcomes` integer, required
    - `ambiguous_outcome_labels_dropped` integer
    - `non_finite_posteriors_dropped` integer, required
    - `out_of_range_posteriors_dropped` integer, required
    - `invalid_probability_vectors_dropped` integer
    - `reliability_rating` object, required
  - `delta` CalibrationDeltaSummaryResponse, required
    - `samples_change` integer, required
    - `brier_score_change` number, nullable, required
    - `status_change` string, required
  - `honest_disclosures` string[], required
  - `read_window` object, nullable

## Other responses

- `422`: Stable, sanitized product API error.
- `default`: Stable, sanitized product API error.

---

[API](https://skmtc.dev/forgeorbital/apis/forge-decision-records-api.md) · [All operations](https://skmtc.dev/forgeorbital/apis/forge-decision-records-api/llms.txt) · [OpenAPI document](https://skmtc.dev/forgeorbital/apis/forge-decision-records-api/revisions/4410e0e5c86a?raw)
