generated: '2026-10-18' method: derived generator: derive-vocabulary.py source: - openapi/dev-plainrouter-openapi.json - openapi/plainrouter-openapi.json vocabulary: name: Plainrouter Domain Vocabulary description: 'Terms declared by Plainrouter''s own API contract: its resource groups, objects and enumerations, with the contract''s definitions. Derived, not authored.' version: '2026-10-18' terms: - term: ActionBatchRead definition: 'Object declared by the contract with fields: data.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionBatchRead - term: ActionCurrentDisposition definition: 'Object declared by the contract with fields: receipt_status, outcome_payload, outcome_status, outcome_reason_code, outcome_checked_at, compensation_reason_code, recovery_disposition, late_restored.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionCurrentDisposition - term: ActionDecisionReceiptRead definition: 'Object declared by the contract with fields: document, document_sha256, chain_entry, disposition.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionDecisionReceiptRead - term: ActionDetailRead definition: 'Object declared by the contract with fields: data.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionDetailRead - term: ActionDryRunRead definition: 'Object declared by the contract with fields: dry_run.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionDryRunRead - term: ActionListRead definition: 'Object declared by the contract with fields: data, meta.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionListRead - term: ActionPolicyRead definition: 'Object declared by the contract with fields: data.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionPolicyRead - term: ActionPolicyResult definition: 'Object declared by the contract with fields: id, policy_id, policy_version, phase, outcome, reasons, reason_details, requested_minor, evaluated_at.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionPolicyResult - term: ActionProposalInput definition: 'Object declared by the contract with fields: actions, rationale, idempotency_key, evidence, target_source, account_id, workspace_id.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionProposalInput - term: ActionProposalRead definition: 'Object declared by the contract with fields: proposal.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionProposalRead - term: ActionReadItem definition: 'Object declared by the contract with fields: id, batch_id, workspace_id, type, target_entity_type, target_entity_id, target_entity_name, params, rationale, proposer, evidence, status. (6 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ActionReadItem - term: AdTest definition: 'Object declared by the contract with fields: id, workspace_id, platform_ad_account_id, ad_set_id, axis, event_name, arrivals_floor, minimum_conversions, maximum_days, maximum_spend_minor, anomaly_threshold_percent, currency. (5 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTest - term: AdTestCreateRead definition: 'Object declared by the contract with fields: test.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestCreateRead - term: AdTestDailyFactRead definition: 'Object declared by the contract with fields: date, ad_test_member_id, ad_id, spend_minor, spend, impressions, inline_link_clicks, counted_arrivals, recorded_conversions, admitted_conversions.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestDailyFactRead - term: AdTestEventChoice definition: 'Object declared by the contract with fields: event_name, recorded_count.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestEventChoice - term: AdTestListRead definition: 'Object declared by the contract with fields: tests, observed_conversion_events_available, observed_conversion_events.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestListRead - term: AdTestRead definition: 'Object declared by the contract with fields: id, workspace_id, platform_ad_account_id, ad_set_id, axis, event_name, arrivals_floor, count_health_click_threshold, minimum_conversions, maximum_days, maximum_spend_minor, anomaly_threshold_percent. (7 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestRead - term: AdTestShowRead definition: 'Object declared by the contract with fields: test.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestShowRead - term: AdTestVerdictMemberRead definition: 'Object declared by the contract with fields: ad_id, state, rank, spend, impressions, counted_arrivals, recorded_conversions, admitted_conversions, spend_per_recorded_conversion, covered_days.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestVerdictMemberRead - term: AdTestVerdictRead definition: 'Object declared by the contract with fields: outcome, winner_ad_id, reason, halt_details, window_start, window_end, concluded_at, members, daily_facts.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AdTestVerdictRead - term: AgentCredentialError definition: 'Object declared by the contract with fields: error, error_description.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/AgentCredentialError - term: ApiRouteNotFound definition: 'Object declared by the contract with fields: error, request, resources.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ApiRouteNotFound - term: CookieDeclaration definition: 'Object declared by the contract with fields: scan_date, categories.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/CookieDeclaration - term: CookieDeclarationItem definition: 'Object declared by the contract with fields: name, provider_domain, party, expiry, purpose.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/CookieDeclarationItem - term: CreativeIntakeRead definition: 'Object declared by the contract with fields: creative.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/CreativeIntakeRead - term: CreativeIntakeRejected definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/CreativeIntakeRejected - term: CreativeIntakeTags definition: Optional flat map of at most 32 string tags; reserved keys count toward the cap. For a creative from an outside tool, set generator and generator_job, plus parent_creative for a variation. Values are stored unchanged. PlainRouter’s own creative tools will set these on every creative they make; intake performs no generation, rendering or scoring. tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/CreativeIntakeTags - term: DeliveryStatus definition: 'Enumeration declared by the contract with values: queued, sent, accepted, retrying, failed:auth, failed:permanent, failed:unknown, expired, skipped:consent, skipped:no_destination, skipped:duplicate.' tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/DeliveryStatus - term: DeploymentPlan definition: 'Object declared by the contract with fields: id, workspace_id, platform_ad_account_id, platform, campaign_ref, campaign_spec, ad_set_ref, ad_set_spec, budget_type, budget_amount_minor, currency, copy. (12 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/DeploymentPlan - term: DeploymentPlanRead definition: 'Object declared by the contract with fields: name, id, platform_ad_account_id, review_version, copy, landing_page, creatives.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/DeploymentPlanRead - term: Destination definition: 'Object declared by the contract with fields: id, workspace_id, signal_tracker_id, platform_ad_account_id, type, credential_source, config, status, created_at, updated_at.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/Destination - term: DestinationCredentialSource definition: 'Enumeration declared by the contract with values: oauth_connection.' tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/DestinationCredentialSource - term: DestinationStatus definition: 'Enumeration declared by the contract with values: active, inactive.' tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/DestinationStatus - term: DestinationType definition: 'Enumeration declared by the contract with values: meta, google_ads.' tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/DestinationType - term: EmqSnapshot definition: 'Object declared by the contract with fields: id, workspace_id, signal_tracker_id, destination_id, score, week_over_week_change, alerted, platform_response, measured_at, created_at, updated_at.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/EmqSnapshot - term: ErrorMessage definition: 'Object declared by the contract with fields: message.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ErrorMessage - term: Event definition: 'Object declared by the contract with fields: id, parent_event_id, event_name, event_time, action_source, event_class, order_id, value_amount, value_currency, created_at, consent_basis, measurement_class. (16 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/Event - term: ExecuteDeploymentPlanRequest definition: 'Object declared by the contract with fields: review_version, intent_key.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ExecuteDeploymentPlanRequest - term: IngestionWarningCode definition: The closed set of non-rejection warnings returned by POST /events. tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/IngestionWarningCode - term: JurisdictionPolicyClass definition: The two policy classes used by the single Signals collector. The enum intentionally has no country or region members. Country evidence is an edge input used to derive a policy class and is never a ledger value. tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/JurisdictionPolicyClass - term: LaunchIntentRead definition: 'Object declared by the contract with fields: intent.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/LaunchIntentRead - term: LaunchIntentStatus definition: 'Enumeration declared by the contract with values: approval_required, approved, executing, verified, failed, drifted, partial, blocked.' tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/LaunchIntentStatus - term: PlanCopyForbidden definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanCopyForbidden - term: PlanCopyNotFound definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanCopyNotFound - term: PlanCopyRead definition: 'Object declared by the contract with fields: plan.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanCopyRead - term: PlanCopyRejected definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanCopyRejected - term: PlanExecuteConflict definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanExecuteConflict - term: PlanExecuteRejected definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/PlanExecuteRejected - term: ProposalReplayConflict definition: 'Object declared by the contract with fields: message, errors.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ProposalReplayConflict - term: ReconciliationReport definition: 'Object declared by the contract with fields: id, workspace_id, signal_tracker_id, destination_id, report_date, accepted_count, meta_count, observed_gap, event_counts, buckets, unexplained_residual, status. (3 more)' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ReconciliationReport - term: StoreCreativeFromUrlRequest definition: 'Object declared by the contract with fields: url, source_ref, tags.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/StoreCreativeFromUrlRequest - term: StoreCreativeRequest definition: 'Object declared by the contract with fields: file, source_ref, tags.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/StoreCreativeRequest - term: TrafficClass definition: The only persisted traffic verdicts for passive document arrivals. Request facts and classifier reasons never cross the stripping boundary. tags: - Enumeration source: openapi/dev-plainrouter-openapi.json#/components/schemas/TrafficClass - term: ValidationError definition: 'Object declared by the contract with fields: message, errors.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/ValidationError - term: WorkspaceLockTimeout definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/dev-plainrouter-openapi.json#/components/schemas/WorkspaceLockTimeout - term: ActionReceiptUnavailable definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/ActionReceiptUnavailable - term: ActionRuleDetailRead definition: 'Object declared by the contract with fields: rule.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/ActionRuleDetailRead - term: ActionRuleWriteRead definition: 'Object declared by the contract with fields: rule.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/ActionRuleWriteRead - term: AgentContextAuthError definition: 'Object declared by the contract with fields: error, error_description.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/AgentContextAuthError - term: CreativeMcpGrantOperation definition: 'Workspace grants alone authorize creative MCP tools. Read: list_templates, get_render, list_creatives, preview_creatives. Write: render_ad, resume_render. No advertising account is required; account_id and platform_ad_account_id are refused. Images enter the library by upload or launch.creatives.store-from-url; render_ad renders a template over a library image.' tags: - Enumeration source: openapi/plainrouter-openapi.json#/components/schemas/CreativeMcpGrantOperation - term: CreativeMcpPreview definition: Missing derivatives return pending and queue a creative-queue build, including creatives created before these tools shipped. No image bytes are sent to the model. tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/CreativeMcpPreview - term: CreativeMcpRefusal definition: 'Enumeration declared by the contract with values: request_key_conflict, rate_limited, invalid_arguments, insufficient_scope, invalid_token, not_found, workspace_required.' tags: - Enumeration source: openapi/plainrouter-openapi.json#/components/schemas/CreativeMcpRefusal - term: CreativeMcpTool definition: 'Rendering: 6/minute per grant and 12/minute per workspace. Reads and preview signing share 60/minute per grant. list_creatives returns metadata and unchanged Library provenance, accepts kind/status filters and an ID cursor, and returns at most 50 items per page without storage keys or URLs. Matching request_key replays return the original job without reservation, queueing or write-limit counting. ' tags: - Enumeration source: openapi/plainrouter-openapi.json#/components/schemas/CreativeMcpTool - term: DraftBatchFileImportRequest definition: 'Object declared by the contract with fields: file, source_adset_id, source_ad_id, mode, folder_to_adset, grouping_enabled, account_id, workspace_id.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/DraftBatchFileImportRequest - term: DraftBatchMode definition: 'Enumeration declared by the contract with values: duplicate_adset, duplicate_adset_per_media, add_to_adset.' tags: - Enumeration source: openapi/plainrouter-openapi.json#/components/schemas/DraftBatchMode - term: LaunchPolicy definition: 'Object declared by the contract with fields: id, workspace_id, kind, name, version, body, status, created_at, updated_at.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/LaunchPolicy - term: PlanValidateRejected definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/PlanValidateRejected - term: ProposalUnavailable definition: 'Object declared by the contract with fields: error.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/ProposalUnavailable - term: StoreDeploymentPlanRequest definition: 'Object declared by the contract with fields: name, platform_ad_account_id, platform, campaign_ref, campaign_spec, ad_set_ref, ad_set_spec, budget_type, budget_amount_minor, currency, copy, landing_page. (4 more)' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/StoreDeploymentPlanRequest - term: StoreLaunchPolicyRequest definition: 'Object declared by the contract with fields: kind, name, body.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/StoreLaunchPolicyRequest - term: UpdateCreativeStatusRequest definition: 'Object declared by the contract with fields: status.' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/UpdateCreativeStatusRequest - term: UpdateDeploymentPlanRequest definition: 'Object declared by the contract with fields: name, platform_ad_account_id, platform, campaign_ref, campaign_spec, ad_set_ref, ad_set_spec, budget_type, budget_amount_minor, currency, copy, landing_page. (4 more)' tags: - Object source: openapi/plainrouter-openapi.json#/components/schemas/UpdateDeploymentPlanRequest - term: ActionDryRunApi definition: 'Resource group in the contract; its operation POST /agent/workspaces/{workspace}/actions/dry-run: Preview policy decisions and execution diffs for the approved account without saving a proposal.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: ActionProposalApi definition: 'Resource group in the contract; its operation POST /agent/workspaces/{workspace}/actions: Submit or replay a governed proposal for an account available to this key.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: ActionReadApi definition: 'Resource group in the contract; its operation GET /agent/workspaces/{workspace}/actions: Read persisted Actions data for an account available to this workspace key.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: AdTestApi definition: 'Resource group in the contract; its operation GET /agent/workspaces/{workspace}/tests: Lists scoped Tests, their loser pause candidate status and reasons, and observed conversion event choices with last-30-day recorded counts.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: Creative definition: 'Resource group in the contract; its operation POST /workspaces/{workspace}/admin/creatives: Store a creative in the credential-bound workspace.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: MetaInventoryExposure definition: 'Resource group in the contract; its operation GET /workspaces/{workspace}/admin/ad-accounts/{account_id}/inventory/metrics: Compare daily Meta metrics with PlainRouter arrivals in the account timezone, within plan retention.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: Operations definition: 'Resource group in the contract; its operation GET /dashboard/events: Returns retained customer-readable events with stable pagination and aggregate destination-delivery acceptance metrics for the workspace.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json - term: Sandbox definition: 'Resource group in the contract; its operation GET /sandbox: Returns a ready-to-run synthetic event example that needs no account or key and cannot persist data or contact an advertising provider.' tags: - Resource Group source: openapi/dev-plainrouter-openapi.json