Reference

Response shapes

Non-entity response types returned by the Bedrock API — governance reports, drift signals, breakdown rows, and the other structured payloads the endpoints hand back.

These shapes are sourced directly from the public OpenAPI spec at apps/marketing/public/openapi.json — any schema under components.schemas that isn't an enum or a top-level data-model entity lands on this page automatically. Add a schema to the spec and it shows up here on the next build.

For the stored entities (Firm, User, ReviewJob, LedgerRecord, Incident, etc.) see the data model reference. For enum values see the enums reference.

BiasFlag

FieldTypeReqDescription
segmentstringYes
valuestringYes
metricstringYes
rejectionRatemodificationRate
kindstringYes'divergence' — rate differs materially from the dimension baseline; 'absolute' — rate exceeds the configured absolute rejection threshold.
divergenceabsolute
observednumber (float)Yes
baselinenumber (float)Yes
deltanumber (float)Yes
severitystringYes
infowarningalert
sampleSizeintegerYes

BiasReport

FieldTypeReqDescription
periodFromstring (date-time)Yes
periodTostring (date-time)YesInclusive end of the reporting period (23:59:59.999 UTC for date-only inputs).
totalRecordsintegerYes
overallRejectionRatenumber (float)YesOverall rejection rate across every completed job in the period, regardless of which segment dimensions each job populates.
dimensionsSegmentDimension[]Yes
flagsBiasFlag[]YesAll flags raised, aggregated across dimensions.
thresholdsobjectYesDivergence thresholds, absolute delta from baseline.
rejectionAlertThresholdnumber (float)YesAbsolute rejection-rate threshold used to raise 'absolute' flags.
trendBiasTrendPoint[]Yes

BiasTrendPoint

FieldTypeReqDescription
bucketstringYesTime bucket identifier (e.g. YYYY-MM).
segmentstringYes
valuestringYes
totalintegerYes
rejectionRatenumber (float)Yes

ConsumerDutyMetrics

FieldTypeReqDescription
outcomesOutcomeBreakdownYes
slaSlaMetricsYes
reviewerWorkloadReviewerWorkload[]Yes
documentTypeBreakdownDocumentTypeBreakdown[]Yes
controlEvidenceControlEvidenceYes
monthlyBucketsMonthlyOutcomeBucket[]Yes
cryptoAnchorCryptoAnchorYes
previousPeriodobject | nullSame window length immediately before the reporting period, for comparison.

ConsumerDutyReportResponse

FieldTypeReqDescription
periodFromstring (date-time)Yes
periodTostring (date-time)YesInclusive end of the reporting period.
metricsConsumerDutyMetricsYes

ControlEvidence

FieldTypeReqDescription
totalReviewActionsintegerYes
totalChecklistItemsCheckedintegerYes
totalAnnotationsintegerYes
averageActionsPerJobnumber (float)Yes
averageReadCompletionRatenumber (float)Yes0 to 1 — average share of a document read before a decision was recorded.

CreateImpactAssessmentParams

FieldTypeReqDescription
useCasestringYes
descriptionstringYes
modelProviderstring | nullOptional. Pair with modelVersion to tie this assessment to a specific model and feed the enforcement gate on job submission.
modelVersionstring | null
outcomesImpactAssessmentOutcomesOptional. When omitted, the draft is seeded with empty responses and a LOW risk rating per outcome.

CreateIncidentParams

FieldTypeReqDescription
titlestringYes
descriptionstringYes
severityIncidentSeverityYes
categoryIncidentCategoryYes
affectedReviewJobIdsstring[]
affectedLedgerRecordIdsstring[]

CreateRemediationParams

FieldTypeReqDescription
descriptionstringYes
ownerNamestring
dueAtstring (date-time)

CreateReportLogParams

FieldTypeReqDescription
typeReportTypeYes
periodFromstring (date-time)Yes
periodTostring (date-time)Yes
metadataobject

CryptoAnchor

Immutable-ledger anchor for the reporting period, proving the metrics were computed over a specific tamper-evident record range.

FieldTypeReqDescription
firstSequenceNumberinteger | null
lastSequenceNumberinteger | null
lastChainHashstring | null
recordCountintegerYes

DocumentTypeBreakdown

FieldTypeReqDescription
documentTypestringYes
totalintegerYes
approvedintegerYes
rejectedintegerYes
modifiedintegerYes

ImpactAssessmentOutcomes

Responses for all four PRIN 2A outcomes. Template v1 covers products & services, price & value, consumer understanding and consumer support.

FieldTypeReqDescription
products_servicesOutcomeResponseYes
price_valueOutcomeResponseYes
consumer_understandingOutcomeResponseYes
consumer_supportOutcomeResponseYes

IncidentStats

FieldTypeReqDescription
totalintegerYes
openintegerYesIncidents in OPEN, INVESTIGATING, or REMEDIATING state.
resolvedintegerYesIncidents in RESOLVED or CLOSED state.
criticalintegerYesIncidents with severity CRITICAL (any status).
byCategoryobjectYesCount of incidents per category.
trendobject[]YesTrailing 12 months of incident volume, oldest first.

ModelDriftReport

FieldTypeReqDescription
signalsModelDriftSignal[]All triggered drift signals, sorted by severity (alert > warning > info).
thresholdsobject
baselineWindowDaysinteger
currentWindowDaysinteger

ModelDriftSignal

A single drift signal for one (provider, version, metric) tuple.

FieldTypeReqDescription
providerstring
versionstring
metricstring
rejectionRatemodificationRateannotationFrequency
currentnumber (float)Value of the metric in the current window.
baselinenumber (float)Value of the metric in the baseline window.
deltanumber (float)Signed difference (current - baseline).
severitystring
infowarningalert
sampleSizeintegerNumber of completed jobs in the current window for this model.

ModelSummary

Aggregate stats for a single (provider, version) pair across all completed jobs the firm has submitted.

FieldTypeReqDescription
providerstring
versionstring
totalJobsintegerTotal review jobs tagged with this model (any status).
approvedinteger
approvedWithModificationsinteger
rejectedinteger
pendingintegerJobs still in queue, assigned, or in review (no terminal outcome yet).
approvalRatenumber (float)Approved / completed (where completed = approved + modified + rejected).
modificationRatenumber (float)
rejectionRatenumber (float)
firstSeenAtstring (date-time)
lastUsedAtstring (date-time)

ModelTimelinePoint

Aggregate stats for one ISO week, used to plot per-model quality over time.

FieldTypeReqDescription
bucketstring (date-time)ISO timestamp of the Monday that starts the week.
totalinteger
approvedinteger
approvedWithModificationsinteger
rejectedinteger
approvalRatenumber (float)
modificationRatenumber (float)
rejectionRatenumber (float)
annotationCountintegerNumber of NOTE_ADDED reviewer actions on jobs completed in this week.

MonthlyOutcomeBucket

FieldTypeReqDescription
monthstringYesYYYY-MM.
totalintegerYes
approvedintegerYes
approvedWithModificationsintegerYes
rejectedintegerYes

OutcomeBreakdown

FieldTypeReqDescription
totalintegerYes
approvedintegerYes
approvedWithModificationsintegerYes
rejectedintegerYes
approvalRatenumber (float)Yes
modificationRatenumber (float)Yes
rejectionRatenumber (float)Yes

OutcomeResponse

A firm's response for one PRIN 2A outcome area inside an impact assessment.

FieldTypeReqDescription
responsesobjectYesFree-text answers keyed by the template question id (e.g. 'ps_target_market').
riskRatingRiskRatingYes
narrativestringYesPlain-English summary of the firm's position on this outcome.

ReviewerWorkload

FieldTypeReqDescription
reviewerIdstringYes
reviewerNamestringYes
fcaRefstring | null
jobsCompletedintegerYes
jobsApprovedintegerYes
jobsRejectedintegerYes
jobsModifiedintegerYes
averageHoursToCompletenumber (float) | null

SegmentDimension

FieldTypeReqDescription
segmentstringYes
valuesSegmentOutcome[]Yes
baselineRejectionRatenumber (float)Yes
flagsBiasFlag[]Yes

SegmentOutcome

FieldTypeReqDescription
segmentstringYesSegment dimension key (e.g. ageBand, riskProfile, productType).
valuestringYesSegment value within the dimension.
totalintegerYes
approvedintegerYes
approvedWithModificationsintegerYes
rejectedintegerYes
approvalRatenumber (float)Yes
modificationRatenumber (float)Yes
rejectionRatenumber (float)Yes

SlaMetrics

FieldTypeReqDescription
totalCompletedintegerYes
metDeadlineintegerYes
breachedDeadlineintegerYes
complianceRatenumber (float)Yes
averageHoursToCompletenumber (float) | null
p50HoursToCompletenumber (float) | null
p95HoursToCompletenumber (float) | null

UpdateImpactAssessmentParams

Partial update for a draft/pending assessment and/or a status transition. APPROVED and SUPERSEDED assessments accept status-only transitions (SUPERSEDED) — any content edit returns 409 CONFLICT. Approving transitions require an authenticated LEAD_REVIEWER or FIRM_ADMIN.

FieldTypeReqDescription
useCasestring
descriptionstring
modelProviderstring | null
modelVersionstring | null
outcomesImpactAssessmentOutcomes
statusImpactAssessmentStatus

UpdateIncidentParams

FieldTypeReqDescription
statusIncidentStatus
rootCausestring | nullPass null to clear a previously-set root cause. resolvedAt is server-controlled and cannot be set via this endpoint.

UpdateRemediationParams

FieldTypeReqDescription
statusRemediationStatus

VulnerabilityFlagBreakdown

FieldTypeReqDescription
flagVulnerabilityFlagYes
totalintegerYes
approvedintegerYes
approvedWithModificationsintegerYes
rejectedintegerYes
pendingintegerYes
approvalRatenumber (float)Yes
modificationRatenumber (float)Yes
rejectionRatenumber (float)Yes

VulnerabilityReport

FieldTypeReqDescription
totalFlaggedJobsintegerYes
totalUnflaggedJobsintegerYes
flagBreakdownVulnerabilityFlagBreakdown[]Yes
specialistReviewerCountintegerYesReviewers trained to handle vulnerable clients.
totalReviewerCountintegerYes
awaitingSeniorSignOffintegerYesFlagged jobs still awaiting senior reviewer sign-off.
recentFlaggedJobsobject[]Yes