{"openapi":"3.1.0","info":{"title":"FastFunnel API","description":"Tenant-protected integration access to campaigns, content, analytics, and journeys.\n\n**Access model:** tenant data reads and writes require the configured bearer token.","contact":{"name":"FastSME","url":"https://fastsme.com/"},"license":{"name":"MIT"},"version":"1.0.0"},"servers":[{"url":"https://funnel.fastsme.com/api","description":"Production"}],"paths":{"/":{"get":{"tags":["System"],"summary":"Api Index","operationId":"api_index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Index  Get"}}}}}}},"/v1/health":{"get":{"tags":["System"],"summary":"Api Health","operationId":"api_health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/campaigns":{"get":{"tags":["Campaigns"],"summary":"List campaigns","description":"Synced campaign records and delivery state.","operationId":"list_campaigns","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaigns/{item_id}":{"get":{"tags":["Campaigns"],"summary":"Get one campaigns record","operationId":"get_campaigns","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/content":{"get":{"tags":["Content"],"summary":"List content","description":"Content drafts, review state, and scheduling metadata.","operationId":"list_content","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Content"],"summary":"Create Content Draft","description":"Create content in review state through FastFunnel's audited policy path.","operationId":"create_content_draft_v1_content_post","security":[{"FastSME API token":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDraft"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/content/{item_id}":{"get":{"tags":["Content"],"summary":"Get one content record","operationId":"get_content","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics":{"get":{"tags":["Analytics"],"summary":"List analytics","description":"Date-grained campaign and channel marketing facts.","operationId":"list_analytics","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/{item_id}":{"get":{"tags":["Analytics"],"summary":"Get one analytics record","operationId":"get_analytics","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/journeys":{"get":{"tags":["Journey events"],"summary":"List journey events","description":"Synthetic customer journey progression events.","operationId":"list_journeys","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JourneyeventsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/journeys/{item_id}":{"get":{"tags":["Journey events"],"summary":"Get one journey events record","operationId":"get_journeys","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JourneyeventsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crm":{"get":{"tags":["CRM entities"],"summary":"List crm entities","description":"HubSpot and Brevo lifecycle and revenue entities.","operationId":"list_crm","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CRMentitiesCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crm/{item_id}":{"get":{"tags":["CRM entities"],"summary":"Get one crm entities record","operationId":"get_crm","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CRMentitiesResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sources":{"get":{"tags":["Data sources"],"summary":"List data sources","description":"Tenant-scoped source configurations and health.","operationId":"list_sources","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasourcesCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sources/{item_id}":{"get":{"tags":["Data sources"],"summary":"Get one data sources record","operationId":"get_sources","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasourcesResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sync-runs":{"get":{"tags":["Sync runs"],"summary":"List sync runs","description":"Connector synchronization history and receipts.","operationId":"list_sync_runs","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncrunsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sync-runs/{item_id}":{"get":{"tags":["Sync runs"],"summary":"Get one sync runs record","operationId":"get_sync_runs","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncrunsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kpis":{"get":{"tags":["KPI definitions"],"summary":"List kpi definitions","description":"Reusable governed KPI definitions.","operationId":"list_kpis","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPIdefinitionsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kpis/{item_id}":{"get":{"tags":["KPI definitions"],"summary":"Get one kpi definitions record","operationId":"get_kpis","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPIdefinitionsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/saved-queries":{"get":{"tags":["Saved queries"],"summary":"List saved queries","description":"Field-aware saved explorer queries.","operationId":"list_saved_queries","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedqueriesCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/saved-queries/{item_id}":{"get":{"tags":["Saved queries"],"summary":"Get one saved queries record","operationId":"get_saved_queries","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedqueriesResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exports":{"get":{"tags":["Export runs"],"summary":"List export runs","description":"Destination export delivery status and receipts.","operationId":"list_exports","security":[{"FastSME API token":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive text search","title":"Q"},"description":"Case-insensitive text search"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportrunsCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exports/{item_id}":{"get":{"tags":["Export runs"],"summary":"Get one export runs record","operationId":"get_exports","security":[{"FastSME API token":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportrunsResource"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp":{"post":{"tags":["MCP"],"summary":"Mcp Gateway","description":"Small Streamable-HTTP-compatible JSON-RPC surface for governed agents.","operationId":"mcp_gateway_mcp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"FastSME API token":[]}]}}},"components":{"schemas":{"AnalyticsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AnalyticsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"AnalyticsCollection"},"AnalyticsResource":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"provider":{"type":"string","title":"Provider"},"account_id":{"type":"string","title":"Account Id"},"campaign_external_id":{"type":"string","title":"Campaign External Id"},"fact_date":{"type":"string","title":"Fact Date"},"metric":{"type":"string","title":"Metric"},"value":{"type":"number","title":"Value"},"currency":{"type":"string","title":"Currency"},"dimensions_json":{"type":"string","title":"Dimensions Json"},"source_updated_at":{"type":"string","title":"Source Updated At"},"ingested_at":{"type":"string","title":"Ingested At"}},"type":"object","required":["company_id","provider","account_id","campaign_external_id","fact_date","metric","value","currency","dimensions_json","source_updated_at","ingested_at"],"title":"AnalyticsResource"},"CRMentitiesCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CRMentitiesResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"CRMentitiesCollection"},"CRMentitiesResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"provider":{"type":"string","title":"Provider"},"external_id":{"type":"string","title":"External Id"},"entity_type":{"type":"string","title":"Entity Type"},"lifecycle_stage":{"type":"string","title":"Lifecycle Stage"},"occurred_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occurred At"},"revenue_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenue Value"},"currency":{"type":"string","title":"Currency"},"properties_json":{"type":"string","title":"Properties Json"},"source_updated_at":{"type":"string","title":"Source Updated At"},"ingested_at":{"type":"string","title":"Ingested At"}},"type":"object","required":["company_id","provider","external_id","entity_type","lifecycle_stage","currency","properties_json","source_updated_at","ingested_at"],"title":"CRMentitiesResource"},"CampaignsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CampaignsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"CampaignsCollection"},"CampaignsResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"provider":{"type":"string","title":"Provider"},"external_id":{"type":"string","title":"External Id"},"name":{"type":"string","title":"Name"},"channel":{"type":"string","title":"Channel"},"status":{"type":"string","title":"Status"},"daily_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Daily Budget"},"currency":{"type":"string","title":"Currency"},"metadata_json":{"type":"string","title":"Metadata Json"},"first_seen_at":{"type":"string","title":"First Seen At"},"last_seen_at":{"type":"string","title":"Last Seen At"}},"type":"object","required":["company_id","provider","external_id","name","channel","status","currency","metadata_json","first_seen_at","last_seen_at"],"title":"CampaignsResource"},"ContentCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ContentResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"ContentCollection"},"ContentDraft":{"properties":{"title":{"type":"string","maxLength":200,"minLength":1,"title":"Title"},"body":{"type":"string","minLength":1,"title":"Body"},"channel":{"type":"string","title":"Channel","examples":["linkedin"]}},"type":"object","required":["title","body","channel"],"title":"ContentDraft"},"ContentResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"channel":{"type":"string","title":"Channel"},"status":{"type":"string","title":"Status"},"created_by":{"type":"string","title":"Created By"},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By"},"scheduled_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduled For"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["company_id","title","body","channel","status","created_by","created_at","updated_at"],"title":"ContentResource"},"DatasourcesCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DatasourcesResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"DatasourcesCollection"},"DatasourcesResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"platform_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform Account Id"},"provider":{"type":"string","title":"Provider"},"name":{"type":"string","title":"Name"},"mode":{"type":"string","title":"Mode"},"config_json":{"type":"string","title":"Config Json"},"status":{"type":"string","title":"Status"},"schedule_minutes":{"type":"integer","title":"Schedule Minutes"},"lookback_days":{"type":"integer","title":"Lookback Days"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["company_id","provider","name","mode","config_json","status","schedule_minutes","lookback_days","created_at","updated_at"],"title":"DatasourcesResource"},"ErrorDetail":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["code","message"],"title":"ErrorDetail","description":"Machine-readable API error."},"ErrorEnvelope":{"properties":{"error":{"$ref":"#/components/schemas/ErrorDetail"}},"type":"object","required":["error"],"title":"ErrorEnvelope","description":"Consistent error response envelope."},"ExportrunsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExportrunsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"ExportrunsCollection"},"ExportrunsResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"destination_id":{"type":"string","title":"Destination Id"},"saved_query_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Saved Query Id"},"status":{"type":"string","title":"Status"},"rows_written":{"type":"integer","title":"Rows Written"},"receipt_json":{"type":"string","title":"Receipt Json"},"started_at":{"type":"string","title":"Started At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["company_id","destination_id","status","rows_written","receipt_json","started_at"],"title":"ExportrunsResource"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"product":{"type":"string","title":"Product"},"version":{"type":"string","title":"Version"},"writes_enabled":{"type":"boolean","title":"Writes Enabled"}},"type":"object","required":["status","product","version","writes_enabled"],"title":"HealthResponse","description":"API health response."},"JourneyeventsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/JourneyeventsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"JourneyeventsCollection"},"JourneyeventsResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"occurred_on":{"type":"string","title":"Occurred On"},"source":{"type":"string","title":"Source"},"campaign_external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign External Id"},"reached_stage":{"type":"integer","title":"Reached Stage"},"attributes_json":{"type":"string","title":"Attributes Json"}},"type":"object","required":["company_id","occurred_on","source","reached_stage","attributes_json"],"title":"JourneyeventsResource"},"KPIdefinitionsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/KPIdefinitionsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"KPIdefinitionsCollection"},"KPIdefinitionsResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"numerator_metric":{"type":"string","title":"Numerator Metric"},"denominator_metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Denominator Metric"},"format":{"type":"string","title":"Format"},"target_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Target Value"},"enabled":{"type":"integer","title":"Enabled"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["company_id","slug","name","numerator_metric","format","enabled","created_at","updated_at"],"title":"KPIdefinitionsResource"},"MCPRequest":{"properties":{"jsonrpc":{"type":"string","title":"Jsonrpc","default":"2.0"},"id":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Id"},"method":{"type":"string","title":"Method"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"type":"object","required":["method"],"title":"MCPRequest"},"PaginationMeta":{"properties":{"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["total","limit","offset"],"title":"PaginationMeta","description":"Offset pagination metadata."},"SavedqueriesCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SavedqueriesResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"SavedqueriesCollection"},"SavedqueriesResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"name":{"type":"string","title":"Name"},"definition_json":{"type":"string","title":"Definition Json"},"created_by":{"type":"string","title":"Created By"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["company_id","name","definition_json","created_by","created_at","updated_at"],"title":"SavedqueriesResource"},"SyncrunsCollection":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SyncrunsResource"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"SyncrunsCollection"},"SyncrunsResource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"company_id":{"type":"string","title":"Company Id"},"connection_id":{"type":"string","title":"Connection Id"},"provider":{"type":"string","title":"Provider"},"started_at":{"type":"string","title":"Started At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"},"status":{"type":"string","title":"Status"},"rows_written":{"type":"integer","title":"Rows Written"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"cursor_json":{"type":"string","title":"Cursor Json"}},"type":"object","required":["company_id","connection_id","provider","started_at","status","rows_written","cursor_json"],"title":"SyncrunsResource"},"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"}},"securitySchemes":{"FastSME API token":{"type":"http","description":"Protected operations require `Authorization: Bearer <token>`. The product API description states whether reads are public.","scheme":"bearer"}}}}