2X

Knownwell Commercial Intelligence API

Read-only REST API over Knownwell's commercial-intelligence platform — the AIaaS product 2X acquired in June 2026. Exposes client records and Knownwell scores, portfolio health and score distribution, trending and at-risk accounts, weekly client alignment, per-client history, priorities, notes and key people, revenue streams, topics, and CSV export, plus administrative API-key issuance and revocation. Authenticated with an X-API-Key header; every data operation is a GET.

OpenAPI Specification

2x-knownwell-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Knownwell API","description":"API for accessing Knownwell client data and Knownwell scores","version":"v1"},"paths":{"/v1/clients/alignment":{"get":{"tags":["alignment"],"summary":"List Client Alignments","description":"The current Red/Amber/Green alignment read for every client, as shown\nin the Alignment column of the Commercial Intelligence report.","operationId":"list_client_alignments_v1_clients_alignment_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"week","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Resolve reads as of this week (YYYY-MM-DD, typically a Monday). Reads filed for later weeks are ignored. Defaults to the latest read.","title":"Week"},"description":"Resolve reads as of this week (YYYY-MM-DD, typically a Monday). Reads filed for later weeks are ignored. Defaults to the latest read."},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":500,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignmentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/alignment":{"get":{"tags":["alignment"],"summary":"Get Client Alignment","description":"The current Red/Amber/Green alignment read for a single client.","operationId":"get_client_alignment_v1_clients__client_id__alignment_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"week","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Resolve reads as of this week (YYYY-MM-DD, typically a Monday). Reads filed for later weeks are ignored. Defaults to the latest read.","title":"Week"},"description":"Resolve reads as of this week (YYYY-MM-DD, typically a Monday). Reads filed for later weeks are ignored. Defaults to the latest read."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAlignmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients":{"get":{"tags":["clients"],"summary":"List Clients","operationId":"list_clients_v1_clients_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/portfolio-health":{"get":{"tags":["clients"],"summary":"Get Portfolio Health","operationId":"get_portfolio_health_v1_clients_portfolio_health_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/trending":{"get":{"tags":["clients"],"summary":"Get Trending Clients","operationId":"get_trending_clients_v1_clients_trending_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TrendDirection","default":"declining"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/search":{"get":{"tags":["clients"],"summary":"Search Clients","operationId":"search_clients_v1_clients_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Query"}},{"name":"fields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":["name","industry","accountOwner"],"title":"Fields"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/statistics/overview":{"get":{"tags":["clients"],"summary":"Get Statistics","operationId":"get_statistics_v1_clients_statistics_overview_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/export/csv":{"get":{"tags":["clients"],"summary":"Export Clients Csv","operationId":"export_clients_csv_v1_clients_export_csv_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/by-risk/{risk_level}":{"get":{"tags":["clients"],"summary":"Get Clients By Risk","operationId":"get_clients_by_risk_v1_clients_by_risk__risk_level__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"risk_level","in":"path","required":true,"schema":{"$ref":"#/components/schemas/RiskLevel"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}":{"get":{"tags":["clients"],"summary":"Get Client","operationId":"get_client_v1_clients__client_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/history":{"get":{"tags":["clients"],"summary":"Get Client History","operationId":"get_client_history_v1_clients__client_id__history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":12,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/priorities":{"get":{"tags":["clients"],"summary":"Get Client Priorities","operationId":"get_client_priorities_v1_clients__client_id__priorities_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Filter"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/notes":{"get":{"tags":["clients"],"summary":"Get Client Notes","operationId":"get_client_notes_v1_clients__client_id__notes_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/key-people":{"get":{"tags":["clients"],"summary":"Get Client Key People","operationId":"get_client_key_people_v1_clients__client_id__key_people_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/streams":{"get":{"tags":["clients"],"summary":"List Client Streams","operationId":"list_client_streams_v1_clients__client_id__streams_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clients/{client_id}/streams/{stream_id}":{"get":{"tags":["clients"],"summary":"Get Stream","operationId":"get_stream_v1_clients__client_id__streams__stream_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","title":"Stream Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/portfolios":{"get":{"tags":["portfolios"],"summary":"List Portfolios","operationId":"list_portfolios_v1_portfolios_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_system","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include System"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/portfolios/{portfolio_id}":{"get":{"tags":["portfolios"],"summary":"Get Portfolio","operationId":"get_portfolio_v1_portfolios__portfolio_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"portfolio_id","in":"path","required":true,"schema":{"type":"string","title":"Portfolio Id"}},{"name":"include_clients","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Clients"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/api-keys":{"post":{"tags":["api-keys"],"summary":"Create Api Key","description":"Create a new API key.","operationId":"create_api_key_v1_api_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["api-keys"],"summary":"List Api Keys","description":"List all API keys.","operationId":"list_api_keys_v1_api_keys_get","parameters":[{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKeyResponse"},"title":"Response List Api Keys V1 Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Api Key","description":"Revoke an API key.","operationId":"revoke_api_key_v1_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/topics":{"get":{"tags":["topics"],"summary":"List Topics","operationId":"list_topics_v1_topics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/streams":{"get":{"tags":["streams"],"summary":"List All Streams","operationId":"list_all_streams_v1_streams_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllStreamsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health Check","description":"Health check endpoint.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["root"],"summary":"Root","description":"Root endpoint - redirects to documentation","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/docs":{"get":{"tags":["documentation"],"summary":"Documentation","description":"Serve custom API documentation.","operationId":"documentation_docs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status":{"get":{"tags":["status"],"summary":"Status Page","description":"Redirect to external status page.","operationId":"status_page_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"APIKeyCreate":{"properties":{"customer_id":{"type":"string","title":"Customer Id","description":"Customer ID the key is scoped to"},"name":{"type":"string","title":"Name","description":"Friendly name for the API key"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional description"},"scope":{"$ref":"#/components/schemas/APIKeyScope","description":"Access scope","default":"read_only"},"expires_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires Days","description":"Number of days until expiration (None = no expiration)"}},"type":"object","required":["customer_id","name"],"title":"APIKeyCreate","description":"Request model for creating an API key."},"APIKeyResponse":{"properties":{"id":{"type":"string","title":"Id"},"customer_id":{"type":"string","title":"Customer Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scope":{"type":"string","title":"Scope"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"}},"type":"object","required":["id","customer_id","name","description","scope","status","created_at","expires_at","last_used_at"],"title":"APIKeyResponse","description":"Response model for API key."},"APIKeyScope":{"type":"string","enum":["read_only"],"title":"APIKeyScope","description":"API key access scope - ALL KEYS ARE READ-ONLY"},"AlignmentListResponse":{"properties":{"clients":{"items":{"$ref":"#/components/schemas/ClientAlignment"},"type":"array","title":"Clients"},"total":{"type":"integer","title":"Total"},"week":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Week","description":"As-of week the reads were resolved against; null when the latest reads were returned"},"customerId":{"type":"string","title":"Customerid"}},"type":"object","required":["clients","total","customerId"],"title":"AlignmentListResponse","description":"Response model for the client alignment list."},"AlignmentRead":{"properties":{"value":{"type":"string","title":"Value","description":"The alignment read: red, amber, or green"},"week":{"type":"string","title":"Week","description":"Monday (YYYY-MM-DD) of the week the read was filed for"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat","description":"When the read was last edited"},"updatedBy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updatedby","description":"Name of the user who filed the read"}},"type":"object","required":["value","week"],"title":"AlignmentRead","description":"A Red/Amber/Green alignment read filed on a client."},"AllStreamsListResponse":{"properties":{"streams":{"items":{"$ref":"#/components/schemas/StreamResponse"},"type":"array","title":"Streams"},"total":{"type":"integer","title":"Total"},"customerId":{"type":"string","title":"Customerid"}},"type":"object","required":["streams","total","customerId"],"title":"AllStreamsListResponse","description":"Response model for listing all streams across all clients."},"ClientAlignment":{"properties":{"clientId":{"type":"string","title":"Clientid"},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientname"},"externalClientId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Externalclientid","description":"Customer-assigned client ID (extraColumns['Client ID']), when present"},"knownwellScore":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Knownwellscore"},"scoreSource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scoresource","description":"Score data source: chr1 or chr2"},"alignment":{"anyOf":[{"$ref":"#/components/schemas/AlignmentRead"},{"type":"null"}],"description":"Current alignment read; null when the client has no read on or before the requested week"}},"type":"object","required":["clientId"],"title":"ClientAlignment","description":"Per-client entry in the alignment list."},"ClientAlignmentResponse":{"properties":{"clientId":{"type":"string","title":"Clientid"},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientname"},"externalClientId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Externalclientid","description":"Customer-assigned client ID (extraColumns['Client ID']), when present"},"alignment":{"anyOf":[{"$ref":"#/components/schemas/AlignmentRead"},{"type":"null"}],"description":"Current alignment read; null when the client has no read on or before the requested week"},"week":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Week","description":"As-of week the read was resolved against; null when the latest read was returned"},"customerId":{"type":"string","title":"Customerid"}},"type":"object","required":["clientId","customerId"],"title":"ClientAlignmentResponse","description":"Alignment read for a single client."},"ClientDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"customerId":{"type":"string","title":"Customerid"},"name":{"type":"string","title":"Name"},"score":{"type":"integer","title":"Score"},"scoreSource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scoresource","description":"Score data source: chr1 or chr2"},"scoreChanges":{"anyOf":[{"$ref":"#/components/schemas/ScoreChanges"},{"type":"null"}],"description":"Score changes over time"},"lastContactDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastcontactdate"},"lastUpdatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastupdatedat"},"hasInsufficientData":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hasinsufficientdata"},"metadata":{"anyOf":[{"$ref":"#/components/schemas/ClientMetadata"},{"type":"null"}]},"extraColumns":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Extracolumns","description":"Custom column values"},"historicalData":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Historicaldata"},"archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Archived"},"spotlightSummary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spotlightsummary","description":"AI-generated markdown summary of client status for the current week"},"topics":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Topics","description":"Topic and category scores organized by category"}},"type":"object","required":["id","customerId","name","score"],"title":"ClientDetailResponse","description":"Detailed client response with additional data."},"ClientListResponse":{"properties":{"clients":{"items":{"$ref":"#/components/schemas/ClientResponse"},"type":"array","title":"Clients"},"total":{"type":"integer","title":"Total"},"customerId":{"type":"string","title":"Customerid"}},"type":"object","required":["clients","total","customerId"],"title":"ClientListResponse","description":"Response model for list of clients."},"ClientMetadata":{"properties":{"accountOwner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accountowner"},"annualRevenue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualrevenue"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"accountStatus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accountstatus"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"clientType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clienttype"},"revenueTTM":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenuettm"},"revenueF12M":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenuef12M"}},"type":"object","title":"ClientMetadata","description":"Client metadata."},"ClientResponse":{"properties":{"id":{"type":"string","title":"Id"},"customerId":{"type":"string","title":"Customerid"},"name":{"type":"string","title":"Name"},"score":{"type":"integer","title":"Score"},"scoreSource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scoresource","description":"Score data source: chr1 or chr2"},"scoreChanges":{"anyOf":[{"$ref":"#/components/schemas/ScoreChanges"},{"type":"null"}],"description":"Score changes over time"},"lastContactDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastcontactdate"},"lastUpdatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastupdatedat"},"hasInsufficientData":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hasinsufficientdata"},"metadata":{"anyOf":[{"$ref":"#/components/schemas/ClientMetadata"},{"type":"null"}]},"extraColumns":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Extracolumns","description":"Custom column values"},"historicalData":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Historicaldata"},"archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Archived"}},"type":"object","required":["id","customerId","name","score"],"title":"ClientResponse","description":"Response model for client data."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PortfolioDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"customerId":{"type":"string","title":"Customerid"},"clientCount":{"type":"integer","title":"Clientcount","description":"Number of clients in portfolio"},"userIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Userids","description":"User IDs with access"},"isSystem":{"type":"boolean","title":"Issystem","description":"Whether this is a system portfolio","default":false},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"clients":{"items":{"$ref":"#/components/schemas/ClientResponse"},"type":"array","title":"Clients"},"users":{"anyOf":[{"items":{"$ref":"#/components/schemas/PortfolioUser"},"type":"array"},{"type":"null"}],"title":"Users"},"health":{"anyOf":[{"$ref":"#/components/schemas/PortfolioHealthResponse"},{"type":"null"}]}},"type":"object","required":["id","name","customerId","clientCount","clients"],"title":"PortfolioDetailResponse","description":"Detailed portfolio response with clients and health metrics."},"PortfolioHealthResponse":{"properties":{"score":{"type":"integer","title":"Score"},"breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Breakdown"},"distribution":{"additionalProperties":{"type":"integer"},"type":"object","title":"Distribution"},"customerId":{"type":"string","title":"Customerid"},"chr2CutoverDate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chr2Cutoverdate","description":"CHR 2.0 cutover date if enabled"}},"type":"object","required":["score","breakdown","distribution","customerId"],"title":"PortfolioHealthResponse","description":"Portfolio health metrics."},"PortfolioListResponse":{"properties":{"portfolios":{"items":{"$ref":"#/components/schemas/PortfolioResponse"},"type":"array","title":"Portfolios"},"total":{"type":"integer","title":"Total"},"customerId":{"type":"string","title":"Customerid"}},"type":"object","required":["portfolios","total","customerId"],"title":"PortfolioListResponse","description":"Response model for list of portfolios."},"PortfolioResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"customerId":{"type":"string","title":"Customerid"},"clientCount":{"type":"integer","title":"Clientcount","description":"Number of clients in portfolio"},"userIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Userids","description":"User IDs with access"},"isSystem":{"type":"boolean","title":"Issystem","description":"Whether this is a system portfolio","default":false},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"}},"type":"object","required":["id","name","customerId","clientCount"],"title":"PortfolioResponse","description":"Response model for portfolio list."},"PortfolioUser":{"properties":{"id":{"type":"string","title":"Id"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Displayname"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["id"],"title":"PortfolioUser","description":"User information for portfolio access."},"RiskLevel":{"type":"string","enum":["high_risk","medium_risk","low_risk","on_track"],"title":"RiskLevel"},"ScoreChange":{"properties":{"change":{"type":"number","title":"Change","description":"Absolute change in score"},"percentage":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Percentage","description":"Percentage change"},"previousScore":{"type":"number","title":"Previousscore","description":"Score at start of period"}},"type":"object","required":["change","previousScore"],"title":"ScoreChange","description":"Score change over a time period."},"ScoreChanges":{"properties":{"7day":{"anyOf":[{"$ref":"#/components/schemas/ScoreChange"},{"type":"null"}],"description":"7-day change"},"30day":{"anyOf":[{"$ref":"#/components/schemas/ScoreChange"},{"type":"null"}],"description":"30-day change"}},"type":"object","titl

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/2x/refs/heads/main/openapi/2x-knownwell-openapi.json