{"openapi":"3.1.0","info":{"title":"MCP Harness — Idiomatic REST API","description":"A standards-shaped REST API over the same synthetic, seed-derived data the MCP tool server exposes. Reads are GET (resource paths, query filters, ordinal ids); creates are POST and return 201 (non-persisting stubs). Pass ?seed= or the X-Seed header for reproducible data. This is separate from the MCP face and its /capabilities mirror.","version":"1.0.0"},"paths":{"/insurance/policies":{"get":{"tags":["insurance"],"summary":"Search policies, optionally filtered by member and/or status, with offset/limit pagination in a stable order.","operationId":"list_insurance_search_policies_insurance_policies_get","parameters":[{"name":"member_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to policies owned by this member id (e.g. 'insurance/member/3' or a bare ordinal). Omit for no member filter.","title":"Member Id"},"description":"Restrict to policies owned by this member id (e.g. 'insurance/member/3' or a bare ordinal). Omit for no member filter."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to policies with this status (e.g. 'active'). Omit for no status filter.","title":"Status"},"description":"Restrict to policies with this status (e.g. 'active'). Omit for no status filter."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/claims/summary":{"get":{"tags":["insurance"],"summary":"Aggregate claim totals and per-status breakdown for a member or policy (or all claims when unfiltered).","operationId":"summary_insurance_claims_summary_insurance_claims_summary_get","parameters":[{"name":"member_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to claims for this member id (e.g. 'insurance/member/3' or a bare ordinal). Omit for all members.","title":"Member Id"},"description":"Restrict to claims for this member id (e.g. 'insurance/member/3' or a bare ordinal). Omit for all members."},{"name":"policy_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to claims against this policy id (e.g. 'insurance/policy/5' or a bare ordinal). Omit for all policies.","title":"Policy Id"},"description":"Restrict to claims against this policy id (e.g. 'insurance/policy/5' or a bare ordinal). Omit for all policies."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/claims":{"get":{"tags":["insurance"],"summary":"Search claims, optionally filtered by policy, status and filed-date range, with offset/limit pagination in a stable order.","operationId":"list_insurance_search_claims_insurance_claims_get","parameters":[{"name":"policy_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to claims filed against this policy id (e.g. 'insurance/policy/5' or a bare ordinal). Omit for no policy filter.","title":"Policy Id"},"description":"Restrict to claims filed against this policy id (e.g. 'insurance/policy/5' or a bare ordinal). Omit for no policy filter."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to claims with this status (e.g. 'open', 'paid'). Omit for no status filter.","title":"Status"},"description":"Restrict to claims with this status (e.g. 'open', 'paid'). Omit for no status filter."},{"name":"filed_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive lower bound on the claim filed_date (ISO date). Omit for no lower bound.","title":"Filed From"},"description":"Inclusive lower bound on the claim filed_date (ISO date). Omit for no lower bound."},{"name":"filed_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive upper bound on the claim filed_date (ISO date). Omit for no upper bound.","title":"Filed To"},"description":"Inclusive upper bound on the claim filed_date (ISO date). Omit for no upper bound."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["insurance"],"summary":"File a new insurance claim against a policy. In v1 this is a non-persisting write stub: it validates input and returns a seed-derived success response marked _mock=not_persisted.","operationId":"create_claim_insurance_claims_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileClaimInputWithSeed"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/policies/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up an insurance policy by id.","operationId":"get_policy_insurance_policies__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/policies/{ordinal}/coverages":{"get":{"tags":["insurance"],"summary":"List the coverage lines attached to a policy.","operationId":"list_insurance_policies__ordinal_int__coverages_insurance_policies__ordinal__coverages_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/members/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up an insurance member by id (own-records-only under enforce: member_id must equal the token's sub claim).","operationId":"get_member_insurance_members__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/claims/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up an insurance claim by id (assessors may read only claims they are assigned to; admins with an override scope may read any).","operationId":"get_claim_insurance_claims__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/claim-assessments/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claim assessment by id.","operationId":"get_claim_assessment_insurance_claim_assessments__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/claim-events/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claim lifecycle event by id.","operationId":"get_claim_event_insurance_claim_events__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/decisions/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claim decision by id.","operationId":"get_decision_insurance_decisions__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/quotes/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up an insurance quote by id (VIN-bearing for auto).","operationId":"get_quote_insurance_quotes__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/products/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up an insurance product (offering) by id.","operationId":"get_product_insurance_products__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/documents/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claim document by id.","operationId":"get_document_insurance_documents__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/assessors/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claims assessor by id.","operationId":"get_assessor_insurance_assessors__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/insurance/reserves/{ordinal}":{"get":{"tags":["insurance"],"summary":"Look up a claim reserve by id.","operationId":"get_reserve_insurance_reserves__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts":{"get":{"tags":["financial"],"summary":"List accounts, optionally filtered by status and/or type, with offset/limit pagination in a stable order.","operationId":"list_financial_list_accounts_financial_accounts_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to accounts with this status (e.g. 'active'). Omit for no status filter.","title":"Status"},"description":"Restrict to accounts with this status (e.g. 'active'). Omit for no status filter."},{"name":"account_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to accounts of this type (e.g. 'checking', 'savings', 'credit'). Omit for no type filter.","title":"Account Type"},"description":"Restrict to accounts of this type (e.g. 'checking', 'savings', 'credit'). Omit for no type filter."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/transactions":{"get":{"tags":["financial"],"summary":"Search transactions, optionally filtered by account, type, category and posted-date range, with offset/limit pagination in a stable order.","operationId":"list_financial_search_transactions_financial_transactions_get","parameters":[{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to transactions on this account id (e.g. 'financial/account/3' or a bare ordinal). Omit for no account filter.","title":"Account Id"},"description":"Restrict to transactions on this account id (e.g. 'financial/account/3' or a bare ordinal). Omit for no account filter."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to transactions of this type ('debit' or 'credit'). Omit for no type filter.","title":"Type"},"description":"Restrict to transactions of this type ('debit' or 'credit'). Omit for no type filter."},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to transactions in this category (e.g. 'groceries', 'salary'). Omit for no category filter.","title":"Category"},"description":"Restrict to transactions in this category (e.g. 'groceries', 'salary'). Omit for no category filter."},{"name":"posted_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive lower bound on the posted_date (ISO date). Omit for no lower bound.","title":"Posted From"},"description":"Inclusive lower bound on the posted_date (ISO date). Omit for no lower bound."},{"name":"posted_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive upper bound on the posted_date (ISO date). Omit for no upper bound.","title":"Posted To"},"description":"Inclusive upper bound on the posted_date (ISO date). Omit for no upper bound."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts/{ordinal}":{"get":{"tags":["financial"],"summary":"Look up a financial account by id (IBAN-bearing).","operationId":"get_account_financial_accounts__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts/{ordinal}/balance":{"get":{"tags":["financial"],"summary":"Get the current balance snapshot for an account.","operationId":"get_account_balance_financial_accounts__ordinal__balance_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts/{ordinal}/statements":{"get":{"tags":["financial"],"summary":"List the statements available for an account.","operationId":"list_financial_accounts__ordinal_int__statements_financial_accounts__ordinal__statements_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts/{ordinal}/transactions":{"get":{"tags":["financial"],"summary":"Search transactions, optionally filtered by account, type, category and posted-date range, with offset/limit pagination in a stable order.","operationId":"list_financial_accounts__ordinal_int__transactions_financial_accounts__ordinal__transactions_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/accounts/{ordinal}/spending-summary":{"get":{"tags":["financial"],"summary":"Aggregate transaction totals and a per-category spending breakdown for an account (or all transactions when unfiltered).","operationId":"list_financial_accounts__ordinal_int__spending_summary_financial_accounts__ordinal__spending_summary_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/statements/{ordinal}":{"get":{"tags":["financial"],"summary":"Look up an account statement by id.","operationId":"get_statement_financial_statements__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/financial/transfers":{"post":{"tags":["financial"],"summary":"Transfer funds between two accounts. In v1 this is a non-persisting write stub: it validates input and returns a seed-derived success response marked _mock=not_persisted.","operationId":"create_transfer_financial_transfers_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferFundsInputWithSeed"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/providers":{"get":{"tags":["healthcare"],"summary":"List providers, optionally filtered by specialty, with offset/limit pagination in a stable order.","operationId":"list_healthcare_list_providers_healthcare_providers_get","parameters":[{"name":"specialty","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to providers in this specialty (e.g. 'cardiology', 'pediatrics'). Omit for no specialty filter.","title":"Specialty"},"description":"Restrict to providers in this specialty (e.g. 'cardiology', 'pediatrics'). Omit for no specialty filter."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/appointments/summary":{"get":{"tags":["healthcare"],"summary":"Aggregate appointment totals and a per-status breakdown for a patient or provider (or all appointments when unfiltered).","operationId":"summary_healthcare_appointments_summary_healthcare_appointments_summary_get","parameters":[{"name":"patient_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to appointments for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for all patients.","title":"Patient Id"},"description":"Restrict to appointments for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for all patients."},{"name":"provider_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to appointments with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for all providers.","title":"Provider Id"},"description":"Restrict to appointments with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for all providers."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/appointments":{"get":{"tags":["healthcare"],"summary":"Search appointments, optionally filtered by patient, provider, status and scheduled-date range, with offset/limit pagination in a stable order.","operationId":"list_healthcare_search_appointments_healthcare_appointments_get","parameters":[{"name":"patient_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to appointments for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for no patient filter.","title":"Patient Id"},"description":"Restrict to appointments for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for no patient filter."},{"name":"provider_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to appointments with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for no provider filter.","title":"Provider Id"},"description":"Restrict to appointments with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for no provider filter."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to appointments with this status (e.g. 'scheduled', 'completed', 'cancelled', 'no_show'). Omit for no status filter.","title":"Status"},"description":"Restrict to appointments with this status (e.g. 'scheduled', 'completed', 'cancelled', 'no_show'). Omit for no status filter."},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive lower bound on the scheduled_date (ISO date). Omit for no lower bound.","title":"Date From"},"description":"Inclusive lower bound on the scheduled_date (ISO date). Omit for no lower bound."},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive upper bound on the scheduled_date (ISO date). Omit for no upper bound.","title":"Date To"},"description":"Inclusive upper bound on the scheduled_date (ISO date). Omit for no upper bound."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["healthcare"],"summary":"Schedule an appointment for a patient with a provider. In v1 this is a non-persisting write stub: it validates input and returns a seed-derived success response marked _mock=not_persisted.","operationId":"create_appointment_healthcare_appointments_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleAppointmentInputWithSeed"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/encounters":{"get":{"tags":["healthcare"],"summary":"Search encounters, optionally filtered by patient, provider, type and encounter-date range, with offset/limit pagination in a stable order.","operationId":"list_healthcare_search_encounters_healthcare_encounters_get","parameters":[{"name":"patient_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to encounters for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for no patient filter.","title":"Patient Id"},"description":"Restrict to encounters for this patient id (e.g. 'healthcare/patient/3' or a bare ordinal). Omit for no patient filter."},{"name":"provider_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to encounters with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for no provider filter.","title":"Provider Id"},"description":"Restrict to encounters with this provider id (e.g. 'healthcare/provider/2' or a bare ordinal). Omit for no provider filter."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to encounters of this type (e.g. 'office_visit', 'telehealth'). Omit for no type filter.","title":"Type"},"description":"Restrict to encounters of this type (e.g. 'office_visit', 'telehealth'). Omit for no type filter."},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive lower bound on the encounter_date (ISO date). Omit for no lower bound.","title":"Date From"},"description":"Inclusive lower bound on the encounter_date (ISO date). Omit for no lower bound."},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive upper bound on the encounter_date (ISO date). Omit for no upper bound.","title":"Date To"},"description":"Inclusive upper bound on the encounter_date (ISO date). Omit for no upper bound."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Number of leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum number of results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum number of results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/providers/{ordinal}":{"get":{"tags":["healthcare"],"summary":"Look up a healthcare provider by id (NPI-bearing).","operationId":"get_provider_healthcare_providers__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/patients/{ordinal}":{"get":{"tags":["healthcare"],"summary":"Look up a patient by id.","operationId":"get_patient_healthcare_patients__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/patients/{ordinal}/prescriptions":{"get":{"tags":["healthcare"],"summary":"List the prescriptions on record for a patient.","operationId":"list_healthcare_patients__ordinal_int__prescriptions_healthcare_patients__ordinal__prescriptions_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthcare/prescriptions/{ordinal}":{"get":{"tags":["healthcare"],"summary":"Look up a prescription by id.","operationId":"get_prescription_healthcare_prescriptions__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/products":{"get":{"tags":["retail"],"summary":"List products, optionally filtered by category, brand and/or status, with offset/limit pagination in a stable order.","operationId":"list_retail_list_products_retail_products_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to products in this category (e.g. 'beverages').","title":"Category"},"description":"Restrict to products in this category (e.g. 'beverages')."},{"name":"brand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to products of this brand.","title":"Brand"},"description":"Restrict to products of this brand."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to products with this status (e.g. 'active', 'discontinued', 'seasonal').","title":"Status"},"description":"Restrict to products with this status (e.g. 'active', 'discontinued', 'seasonal')."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/orders/summary":{"get":{"tags":["retail"],"summary":"Aggregate order totals and a per-channel sales breakdown (optionally filtered by store and/or status).","operationId":"summary_retail_sales_summary_retail_orders_summary_get","parameters":[{"name":"store_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to orders placed at this store id. Omit for all stores.","title":"Store Id"},"description":"Restrict to orders placed at this store id. Omit for all stores."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to orders with this status. Omit to include all.","title":"Status"},"description":"Restrict to orders with this status. Omit to include all."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/orders":{"get":{"tags":["retail"],"summary":"Search orders, optionally filtered by customer, store, status and placed-date range, with offset/limit pagination in a stable order.","operationId":"list_retail_search_orders_retail_orders_get","parameters":[{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to orders for this customer id ('retail/customer/3' or bare ordinal). Omit for no customer filter.","title":"Customer Id"},"description":"Restrict to orders for this customer id ('retail/customer/3' or bare ordinal). Omit for no customer filter."},{"name":"store_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to orders placed at this store id ('retail/store/2' or bare ordinal). Omit for no store filter.","title":"Store Id"},"description":"Restrict to orders placed at this store id ('retail/store/2' or bare ordinal). Omit for no store filter."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to orders with this status (e.g. 'placed', 'shipped', 'delivered', 'cancelled', 'returned').","title":"Status"},"description":"Restrict to orders with this status (e.g. 'placed', 'shipped', 'delivered', 'cancelled', 'returned')."},{"name":"placed_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive lower bound on placed_date (ISO date).","title":"Placed From"},"description":"Inclusive lower bound on placed_date (ISO date)."},{"name":"placed_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive upper bound on placed_date (ISO date).","title":"Placed To"},"description":"Inclusive upper bound on placed_date (ISO date)."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["retail"],"summary":"Place a customer order. In v1 this is a non-persisting write stub: it validates input and returns a seed-derived success response marked _mock=not_persisted.","operationId":"create_order_retail_orders_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceOrderInputWithSeed"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/inventory":{"get":{"tags":["retail"],"summary":"List inventory snapshots, optionally filtered by product and/or store, with offset/limit pagination in a stable order.","operationId":"list_retail_list_inventory_retail_inventory_get","parameters":[{"name":"product_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to inventory for this product id ('retail/product/3' or bare ordinal).","title":"Product Id"},"description":"Restrict to inventory for this product id ('retail/product/3' or bare ordinal)."},{"name":"store_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to inventory at this store id ('retail/store/2' or bare ordinal).","title":"Store Id"},"description":"Restrict to inventory at this store id ('retail/store/2' or bare ordinal)."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/customers":{"get":{"tags":["retail"],"summary":"List loyalty customers, optionally filtered by tier and/or status, with offset/limit pagination in a stable order.","operationId":"list_retail_list_customers_retail_customers_get","parameters":[{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to customers in this tier (e.g. 'standard', 'silver', 'gold', 'platinum').","title":"Tier"},"description":"Restrict to customers in this tier (e.g. 'standard', 'silver', 'gold', 'platinum')."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to customers with this status (e.g. 'active', 'lapsed', 'closed').","title":"Status"},"description":"Restrict to customers with this status (e.g. 'active', 'lapsed', 'closed')."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/stores":{"get":{"tags":["retail"],"summary":"List stores / distribution centres, optionally filtered by region, type and/or status, with offset/limit pagination in a stable order.","operationId":"list_retail_list_stores_retail_stores_get","parameters":[{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to stores in this region.","title":"Region"},"description":"Restrict to stores in this region."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to stores of this type (e.g. 'store', 'distribution_center', 'popup').","title":"Type"},"description":"Restrict to stores of this type (e.g. 'store', 'distribution_center', 'popup')."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to stores with this status (e.g. 'open', 'remodeling', 'closed').","title":"Status"},"description":"Restrict to stores with this status (e.g. 'open', 'remodeling', 'closed')."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/suppliers":{"get":{"tags":["retail"],"summary":"List CPG suppliers, optionally filtered by status, with offset/limit pagination in a stable order.","operationId":"list_retail_list_suppliers_retail_suppliers_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to suppliers with this status (e.g. 'active', 'on_hold', 'inactive').","title":"Status"},"description":"Restrict to suppliers with this status (e.g. 'active', 'on_hold', 'inactive')."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Leading results to skip (>= 0).","default":0,"title":"Offset"},"description":"Leading results to skip (>= 0)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"exclusiveMinimum":0,"description":"Maximum results to return (1..100).","default":20,"title":"Limit"},"description":"Maximum results to return (1..100)."},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call.","title":"Seed"},"description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'.","title":"As Of"},"description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/products/{ordinal}":{"get":{"tags":["retail"],"summary":"Look up a retail product by id (GTIN-bearing).","operationId":"get_product_retail_products__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/products/{ordinal}/inventory":{"get":{"tags":["retail"],"summary":"List inventory snapshots, optionally filtered by product and/or store, with offset/limit pagination in a stable order.","operationId":"list_retail_products__ordinal_int__inventory_retail_products__ordinal__inventory_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/customers/{ordinal}":{"get":{"tags":["retail"],"summary":"Look up a loyalty customer by id.","operationId":"get_customer_retail_customers__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/customers/{ordinal}/orders":{"get":{"tags":["retail"],"summary":"Search orders, optionally filtered by customer, store, status and placed-date range, with offset/limit pagination in a stable order.","operationId":"list_retail_customers__ordinal_int__orders_retail_customers__ordinal__orders_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/stores/{ordinal}":{"get":{"tags":["retail"],"summary":"Look up a store or distribution centre by id.","operationId":"get_store_retail_stores__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/stores/{ordinal}/inventory":{"get":{"tags":["retail"],"summary":"List inventory snapshots, optionally filtered by product and/or store, with offset/limit pagination in a stable order.","operationId":"list_retail_stores__ordinal_int__inventory_retail_stores__ordinal__inventory_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/suppliers/{ordinal}":{"get":{"tags":["retail"],"summary":"Look up a CPG supplier by id.","operationId":"get_supplier_retail_suppliers__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/orders/{ordinal}":{"get":{"tags":["retail"],"summary":"Look up a customer order by id.","operationId":"get_order_retail_orders__ordinal__get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/retail/orders/{ordinal}/lines":{"get":{"tags":["retail"],"summary":"List the line items belonging to an order.","operationId":"list_retail_orders__ordinal_int__lines_retail_orders__ordinal__lines_get","parameters":[{"name":"ordinal","in":"path","required":true,"schema":{"type":"integer","title":"Ordinal"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"FileClaimInputWithSeed":{"properties":{"policy_id":{"type":"string","title":"Policy Id","description":"Policy the claim is filed against (e.g. 'insurance/policy/5' or a bare ordinal)."},"type":{"type":"string","minLength":1,"title":"Type","description":"Claim type (free-form; common values: collision, theft, water_damage, fire, liability, medical, windshield)."},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount","description":"Claimed amount in the policy currency; must be greater than 0."},"description":{"type":"string","minLength":1,"title":"Description","description":"Free-text description of the incident being claimed."},"incident_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Incident Date","description":"Date the incident occurred (ISO date). Optional."},"seed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed","description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of","description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}},"type":"object","required":["policy_id","type","amount","description"],"title":"FileClaimInputWithSeed"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"OrderLineInput":{"properties":{"product_id":{"type":"string","title":"Product Id","description":"Product id to order ('retail/product/3' or bare ordinal)."},"quantity":{"type":"integer","exclusiveMinimum":0.0,"title":"Quantity","description":"Units to order; must be greater than 0."}},"type":"object","required":["product_id","quantity"],"title":"OrderLineInput","description":"One requested line item for ``retail_place_order``."},"PlaceOrderInputWithSeed":{"properties":{"customer_id":{"type":"string","title":"Customer Id","description":"Customer placing the order ('retail/customer/3' or bare ordinal)."},"store_id":{"type":"string","title":"Store Id","description":"Store fulfilling the order ('retail/store/2' or bare ordinal)."},"lines":{"items":{"$ref":"#/components/schemas/OrderLineInput"},"type":"array","minItems":1,"title":"Lines","description":"One or more line items (product + quantity)."},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel","description":"Order channel (e.g. 'online', 'in_store', 'mobile_app', 'pickup')."},"seed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed","description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of","description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}},"type":"object","required":["customer_id","store_id","lines"],"title":"PlaceOrderInputWithSeed"},"ScheduleAppointmentInputWithSeed":{"properties":{"patient_id":{"type":"string","title":"Patient Id","description":"Patient entity id (e.g. 'healthcare/patient/3' or a bare ordinal)."},"provider_id":{"type":"string","title":"Provider Id","description":"Provider entity id (e.g. 'healthcare/provider/2' or a bare ordinal)."},"requested_date":{"type":"string","format":"date","title":"Requested Date","description":"Requested appointment date (ISO date)."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Optional free-text reason for the appointment."},"seed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed","description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of","description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}},"type":"object","required":["patient_id","provider_id","requested_date"],"title":"ScheduleAppointmentInputWithSeed"},"TransferFundsInputWithSeed":{"properties":{"from_account_id":{"type":"string","title":"From Account Id","description":"Source account id (e.g. 'financial/account/3' or a bare ordinal)."},"to_account_id":{"type":"string","title":"To Account Id","description":"Destination account id (e.g. 'financial/account/7' or a bare ordinal)."},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount","description":"Amount to transfer in the account currency; must be greater than 0."},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"ISO 4217 currency code for the transfer. Optional."},"memo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memo","description":"Optional free-text memo describing the transfer."},"seed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed","description":"Optional deterministic seed. Pin this to get a reproducible dataset across calls (same seed = same synthetic universe). If omitted, a seed is auto-generated and echoed back. Overrides the X-Seed header for this call."},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of","description":"Optional reference time (ISO 8601). Time-based fields are computed relative to this instead of the seed-derived 'now'."}},"type":"object","required":["from_account_id","to_account_id","amount"],"title":"TransferFundsInputWithSeed"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"servers":[{"url":"/api/v1"}]}