Models
Segment analysis and scoring over large person datasets, with a federated query layer across every catalog.
partData203 operationsid models
How it sits
A part does one thing, and any other part can call it. The counts and the links below are from the platform's spec and the other services' own descriptions.
| Operations | 203 GET 114 · POST 75 · DELETE 7 · PATCH 6 · PUT 1 |
| Resources | 27 |
| Leaned on by | Banking, GroundGame, QuickBooks, Search, SME interviews, Stitch, Voice, Workspaces |
| Leans on | none named |
| In recipes | A region brief; A radio buy, ranked; A field team's turf pack; A post-event heat map |
What it can do
203 operations in 27 resources, as the spec declares them. Each row is one call; paths are relative to the part.
cc
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/cc/audit | Recent CC form writes (audit log) |
| POST | /api/v1/cc/commission | Create a commission row (audit-logged) |
| GET | /api/v1/cc/commission/{comm_id} | A single commission row (resolved) |
| PATCH | /api/v1/cc/commission/{comm_id} | Edit a commission row (audit-logged) |
| POST | /api/v1/cc/commission/{comm_id}/archive | Soft-delete / restore a commission |
| POST | /api/v1/cc/contact-audit | Start an audit of one email address |
| POST | /api/v1/cc/contact-audit/list-names | Names for Iterable list ids (local catalog) |
| POST | /api/v1/cc/contact-audit/read | Read an audit (POST: the record is PII) |
| POST | /api/v1/cc/contact-audit/recent | Recent audits, addresses masked |
| POST | /api/v1/cc/deployment | Create a deployment (audit-logged) |
| GET | /api/v1/cc/deployment/form-spec | Field spec for the launch form |
| PATCH | /api/v1/cc/deployment/{record_id} | Edit a deployment (audit-logged) |
| GET | /api/v1/cc/deployments | Deployment results (computed layer, filtered) |
| GET | /api/v1/cc/donations | Donation records with owner-match (paged) |
| GET | /api/v1/cc/donations/monthly | Monthly raised series (attributed split) |
| GET | /api/v1/cc/donations/spec | Donation QA sources + freshness |
| GET | /api/v1/cc/donations/summary | Attribution rollup for QA |
| GET | /api/v1/cc/ledger/{ledger} | A ledger's row for a month |
| POST | /api/v1/cc/ledger/{ledger} | Upsert a ledger month (audit-logged) |
| GET | /api/v1/cc/ledgers/spec | The three ledgers + their field specs |
| POST | /api/v1/cc/master/run | Launch the EOM Master build (background) |
| GET | /api/v1/cc/master/status | Status of the last Master run |
| POST | /api/v1/cc/owner | Create a list owner (audit-logged) |
| GET | /api/v1/cc/owner/{owner_id}/commissions | Commission rows for an owner |
| GET | /api/v1/cc/owner/{record_id} | A single owner (values + resolved links) |
| PATCH | /api/v1/cc/owner/{record_id} | Edit a list owner (audit-logged) |
| POST | /api/v1/cc/owner/{record_id}/archive | Soft-delete / restore an owner |
| GET | /api/v1/cc/owners | Browse/search list owners (snapshot) |
| GET | /api/v1/cc/owners/form-spec | Field spec for the List Owner form |
| GET | /api/v1/cc/owners/picker/{picker} | Searchable options for an owner link field |
| GET | /api/v1/cc/owners/rate-picker | Commission rate rows (Comm % options) |
| POST | /api/v1/cc/owners/sync | Trigger a base resync (Airtable → snapshot) |
| GET | /api/v1/cc/owners/sync-status | When the owner snapshot was last synced |
| GET | /api/v1/cc/picker/{picker} | Searchable options for a link field |
| GET | /api/v1/cc/prospecting | Prospecting rows (paged) |
| GET | /api/v1/cc/prospecting/spec | Prospecting columns + clients + freshness |
| GET | /api/v1/cc/prospecting/summary | Prospecting totals + per-client rollup |
| GET | /api/v1/cc/reconcile | Local mirror vs Airtable system-of-record |
| GET | /api/v1/cc/reports/requests | Report requests, newest first (filter by status or requester) |
| POST | /api/v1/cc/reports/requests | File a report request |
| GET | /api/v1/cc/reports/requests/{request_id} | One report request |
| PATCH | /api/v1/cc/reports/requests/{request_id} | Change a request's status, assignee, link or note |
| GET | /api/v1/cc/results-spec | Editable-field spec + filter options |
| GET | /api/v1/cc/segments | Segments, each with its last run and whether it is running |
| POST | /api/v1/cc/segments | Create a segment |
| GET | /api/v1/cc/segments/presets | Preset names, param schema and defaults |
| DELETE | /api/v1/cc/segments/{segment_id} | Delete a segment (soft delete) |
| GET | /api/v1/cc/segments/{segment_id} | One segment with its last 20 runs and exports |
| PATCH | /api/v1/cc/segments/{segment_id} | Change a segment's params |
| POST | /api/v1/cc/segments/{segment_id}/refresh | Refresh a segment now |
| POST | /api/v1/cc/segments/{segment_id}/runs/{run_id}/export | Upload a run's CSV and mint a 7-day short download link |
| GET | /api/v1/cc/store/counts | Local mirror store size |
| GET | /api/v1/cc/suppression/jobs | Jobs List |
| POST | /api/v1/cc/suppression/jobs | Create Job |
| GET | /api/v1/cc/suppression/jobs/{job_id} | Job Get |
| POST | /api/v1/cc/suppression/jobs/{job_id}/arm | Job Arm |
| POST | /api/v1/cc/suppression/jobs/{job_id}/discard | Job Discard |
| GET | /api/v1/cc/suppression/spec | Suppression Spec |
| GET | /api/v1/cc/suppression/topup | Suppression top-up: running?, recent passes, backlog |
| POST | /api/v1/cc/suppression/topup | Start a suppression top-up pass now |
| GET | /api/v1/cc/warmup/drops | Lists dropped through the Connector |
| POST | /api/v1/cc/warmup/drops | Drop a list file for warmup |
| GET | /api/v1/cc/warmup/queue | New List Data Inbound on the warmup ladder (live) |
| GET | /api/v1/cc/warmup/targets | Existing lists a new list can merge into |
64 operations
fabric
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/fabric/datasets | List Datasets |
| GET | /api/v1/fabric/datasets/unclaimed | List Unclaimed Datasets |
| GET | /api/v1/fabric/datasets/{dataset_id} | Dataset Detail |
| POST | /api/v1/fabric/datasets/{dataset_id}/claim | Claim Dataset |
| GET | /api/v1/fabric/datasets/{dataset_id}/grants | List Grants |
| POST | /api/v1/fabric/datasets/{dataset_id}/grants | Upsert Grant |
| DELETE | /api/v1/fabric/datasets/{dataset_id}/grants/{grantee_tenant} | Revoke Grant |
| GET | /api/v1/fabric/datasets/{dataset_id}/schema | Dataset Schema |
| POST | /api/v1/fabric/datasets/{dataset_id}/transfer | Transfer Dataset |
| GET | /api/v1/fabric/export | Export Fabric |
| GET | /api/v1/fabric/flavors | Flavors |
| GET | /api/v1/fabric/grants | List Grants For Tenant |
| GET | /api/v1/fabric/mappings | Mappings |
| POST | /api/v1/fabric/materialize/{driver_name} | Materialize |
| GET | /api/v1/fabric/materialize/{driver_name}/last | Materialize Last |
| GET | /api/v1/fabric/pipelines | List Pipelines |
| POST | /api/v1/fabric/pipelines | Create Pipeline |
| GET | /api/v1/fabric/pipelines/runs/{run_id} | Run Detail |
| POST | /api/v1/fabric/pipelines/sweep | Sweep |
| DELETE | /api/v1/fabric/pipelines/{pipeline_id} | Delete Pipeline |
| GET | /api/v1/fabric/pipelines/{pipeline_id} | Pipeline Detail |
| PATCH | /api/v1/fabric/pipelines/{pipeline_id} | Set Visibility |
| POST | /api/v1/fabric/pipelines/{pipeline_id}/compile | Dry Compile |
| POST | /api/v1/fabric/pipelines/{pipeline_id}/run | Run |
| GET | /api/v1/fabric/pipelines/{pipeline_id}/runs | Run History |
| POST | /api/v1/fabric/pipelines/{pipeline_id}/versions | Add Version |
| GET | /api/v1/fabric/profiles | Profiles |
| GET | /api/v1/fabric/reports/{name} | Report |
| GET | /api/v1/fabric/staleness | Staleness Report |
29 operations
master
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/master/airtable-sync | Airtable Sync |
| GET | /api/v1/master/airtable-sync/status | Airtable Sync Status |
| GET | /api/v1/master/freshness | Freshness |
| GET | /api/v1/master/inbox | Inbox |
| GET | /api/v1/master/months | List Months |
| POST | /api/v1/master/months | Add Month |
| DELETE | /api/v1/master/months/{month} | Delete Month |
| GET | /api/v1/master/months/{month} | Get Month |
| POST | /api/v1/master/months/{month}/cohort | Set Cohort |
| GET | /api/v1/master/months/{month}/dashboard | Get Dashboard Link |
| POST | /api/v1/master/months/{month}/final-file | Register Final File |
| POST | /api/v1/master/months/{month}/gates/{gate} | Set Gate |
| GET | /api/v1/master/months/{month}/list-owner-cut | Get List Owner Cut |
| GET | /api/v1/master/months/{month}/log | Tail the build log for a month's run |
| POST | /api/v1/master/months/{month}/matrix | Set Matrix Of Record |
| GET | /api/v1/master/months/{month}/qa | Get Qa Classification |
| GET | /api/v1/master/months/{month}/readiness | Get Readiness |
| POST | /api/v1/master/months/{month}/reopen | Reopen |
| POST | /api/v1/master/months/{month}/reship | Reship |
| POST | /api/v1/master/months/{month}/send-back | Send Back |
| POST | /api/v1/master/months/{month}/ship | Ship |
| GET | /api/v1/master/months/{month}/summary | Get Summary |
| POST | /api/v1/master/months/{month}/trigger-build | Trigger Build |
| GET | /api/v1/master/months/{month}/workbook | Get Workbook Link |
24 operations
govmodel
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/govmodel/races | List Races |
| GET | /api/v1/govmodel/races/{race}/by-county | Race By County |
| POST | /api/v1/govmodel/runs | Start Run |
| GET | /api/v1/govmodel/versions | List Versions |
| DELETE | /api/v1/govmodel/versions/{name} | Remove Version |
| GET | /api/v1/govmodel/versions/{name} | Get Version |
| POST | /api/v1/govmodel/versions/{name}/retrain | Retrain Version |
| GET | /api/v1/govmodel/versions/{name}/rollup | Get Rollup |
| GET | /api/v1/govmodel/waves | List Waves |
| POST | /api/v1/govmodel/waves | Register Wave |
| DELETE | /api/v1/govmodel/waves/{wave_key} | Remove Wave |
11 operations
voters
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/voters/api-count | Query i360 API for voter counts (any US state) |
| POST | /api/v1/voters/batch | Get multiple voters by SVID (Michigan only) |
| POST | /api/v1/voters/count | Count voters matching filters |
| POST | /api/v1/voters/count/report | Count voters and build a shareable report |
| GET | /api/v1/voters/dictionary | Get data dictionary for LLM prompts |
| GET | /api/v1/voters/filters | Get available filter options (Michigan only) |
| GET | /api/v1/voters/schema | Get auto-discovered schema |
| POST | /api/v1/voters/search | Search voters with filters (Michigan only) |
| GET | /api/v1/voters/stats | Get voter database statistics (Michigan only) |
| GET | /api/v1/voters/tool-schema | Get MCP tool definition |
| GET | /api/v1/voters/{svid} | Get voter by SVID (Michigan only) |
11 operations
websources
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/websources | List Specs |
| POST | /api/v1/websources | Create Spec |
| POST | /api/v1/websources/compile | Compile Endpoint |
| DELETE | /api/v1/websources/{name} | Delete Spec |
| GET | /api/v1/websources/{name} | Get Spec |
| PUT | /api/v1/websources/{name} | Update Spec |
| GET | /api/v1/websources/{name}/health | Health Spec |
| POST | /api/v1/websources/{name}/refresh | Refresh Spec |
8 operations
intake
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/intake/credentials/{probe_id} | Submit credentials and re-probe |
| POST | /api/v1/intake/ingest | Commit a probed source to a dataset |
| GET | /api/v1/intake/jobs/{job_id} | Poll ingest job status |
| POST | /api/v1/intake/probe | Probe a source |
| POST | /api/v1/intake/probe-file | Probe an uploaded file (multipart) |
| GET | /api/v1/intake/probes | List caller's recent probes |
| GET | /api/v1/intake/probes/{probe_id} | Fetch a probe report |
7 operations
elections
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/elections/{channel}/early-vote | Channel Early Vote |
| GET | /api/v1/elections/{channel}/projection | Latest projection for a channel |
| POST | /api/v1/elections/{channel}/projection/recompute | Force a recompute now |
| GET | /api/v1/elections/{channel}/projection/versions | Stored projection versions |
| GET | /api/v1/elections/{channel}/projection/{version} | Projection at a specific version |
5 operations
s3
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/s3/sources | List all configured S3 sources |
| GET | /api/v1/s3/sources/{name}/browse | Browse objects/prefixes under an S3 source |
| GET | /api/v1/s3/sources/{name}/info | Bucket summary stats for an S3 source |
| GET | /api/v1/s3/sources/{name}/status | Current sync state for an S3 source |
| POST | /api/v1/s3/sources/{name}/sync | Trigger S3 source sync |
5 operations
airtable
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/airtable/query | Execute SQL against synced Airtable data |
| GET | /api/v1/airtable/schema/{tenant_id}/{base_id} | Get schema for an Airtable base |
| GET | /api/v1/airtable/sources | List Airtable data sources |
| POST | /api/v1/airtable/sync | Trigger Airtable base sync |
4 operations
behavioral
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/behavioral/affinity | Get client affinity rankings |
| POST | /api/v1/behavioral/enrich | Enrich segment with behavioral data |
| POST | /api/v1/behavioral/propensity | Score donor propensity |
| GET | /api/v1/behavioral/status | Check behavioral data status |
4 operations
campaign
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/campaign/duplicates | Find cross-source duplicates |
| POST | /api/v1/campaign/enrich | Enrich contacts with campaign data |
| POST | /api/v1/campaign/lookup | Find campaign records by email or phone |
| GET | /api/v1/campaign/sources | List all campaign sources for tenant |
4 operations
health
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/health | Check API health status |
| GET | /api/v1/health/i360-portal | i360 portal search smoke test |
| GET | /health | Basic health check |
| GET | /health/detailed | Detailed health check |
4 operations
baseline
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/baseline/summary | Get baseline model summary |
| GET | /api/v1/baseline/table/{table_name} | Get table baseline statistics |
| GET | /api/v1/baseline/tables | List all tables in baseline |
3 operations
cards
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/cards/catalogs | Card Catalog: connected data sources |
| GET | /api/v1/cards/intents | Card Catalog: MCP tool intents |
| GET | /api/v1/cards/models | Card Catalog: trained models |
3 operations
federation
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/federation/catalogs | List all federated data catalogs |
| POST | /api/v1/federation/query | Execute cross-catalog SQL query |
| POST | /api/v1/federation/query/export | Run a query and export the FULL result set to a download link |
3 operations
creative
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/creative/model_info | Routing model version + health |
| POST | /api/v1/creative/route_template | Recommend list_owners to route a creative to |
2 operations
hygiene
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/hygiene/address/clean | Clean and geocode a single address |
| POST | /api/v1/hygiene/address/clean/batch | Clean and geocode multiple addresses |
2 operations
r
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/r/install | Install R packages from CRAN |
| POST | /api/v1/r/run | Run an R script in a sandboxed subprocess |
2 operations
i360
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/i360/portal-search | Search i360 voter portal (all 50 states) |
1 operation
prime
| Method | Path | Does |
|---|---|---|
| GET | /prime | Prime application caches |
1 operation
radio
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/radio/datasoup-coverage | Datasoup Coverage |
1 operation
segment
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/segment/analyze | Analyze voter segment against baseline |
1 operation
status
| Method | Path | Does |
|---|---|---|
| GET | /status | Service status overview |
1 operation
usage
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/usage | Get API usage statistics |
1 operation
version
| Method | Path | Does |
|---|---|---|
| GET | /api/version | Running build identity |
1 operation
vt
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/vt/org-summary | Victory Text summary for one organization |
1 operation
All the partsDataThe platform's own id for this service is cbmodels.
forge-catalog.json, generated Oct 30, 2026