Skip to content

Client Pricing Admin API

Admin pricing endpoints reconstruct and validate client billing metrics.

Backfill metrics from historical steps

  • POST /api/admin/client-pricing/backfill

Recompute one job’s billing metrics from stored scriptRunSteps.metadata.

Access control:

  • Require authenticated admin or super_admin role.

Request body

{
"job_id": "uuid-job",
"create_default_model": true,
"force": false
}

Fields:

  • job_id (required): target job ID.
  • create_default_model (optional): create default org pricing model when missing.
  • force (optional): replace existing metrics record for the job.

Backfill logic

  • Parse claim_result metadata rows ordered by stepOrder.
  • Count only one claim per (npi, claim_id) or (npi, claim_submission_id) pair.
  • Track total candidate claim-result steps before dedup.
  • Fallback to select_org_provider metadata if no claim_result rows are found.

This prevents duplicate step callbacks from inflating per-NPI claim counts and overcharging.

Success response

{
"success": true,
"replaced_existing": false,
"metric_id": "uuid-metric",
"organization_id": "uuid-org",
"npi_count": 2,
"total_claims": 17,
"total_steps_before_dedup": 19,
"duplicates_removed": 2,
"claims_per_npi": {
"1234567890": 9,
"9876543210": 8
},
"calculated_charge_usd": 2.8,
"charge_breakdown": {
"pricingType": "npi_claim_block"
}
}

Error responses

  • 400 invalid body or unresolved organization for job.
  • 403 forbidden role.
  • 404 job not found, or no NPI/claim metadata found.
  • 409 billing record already exists and force was not provided.

Operational notes

  • Keep this endpoint admin-only and use it for reconciliation or migration tasks.
  • Preserve RPA-first telemetry quality by ensuring workers emit stable claim_id or claim_submission_id values.