{"openapi":"3.1.0","info":{"title":"Giving Compass Insights","description":"\n## Overview\n\nThe Giving Compass Insights API provides access to nonprofit data, impact stories, financial information, and AI-powered search capabilities.\n\n## Authentication\n\nAll endpoints require an API key passed via the `X-API-Key` header.\n\n```\nX-API-Key: your_api_key_here\n```\n\n\n## Core Capabilities\n\n### Nonprofit Search\nSearch and filter nonprofits by location, revenue, expenses, cause areas, and Charity Navigator ratings.\n\n### Impact Data\nAccess AI-extracted impact stories and metrics from nonprofit annual reports:\n- **Stories**: Human transformation narratives with emotional hooks, quotes, and before/after states\n- **Metrics**: Quantitative measures (people served, meals distributed, volunteers, etc.)\n\n### Feed Data\nAccess and filter nonprofit posts (articles, events, videos, job postings) from organizations:\n- **Content Types**: Filter by classification (articles, videos, events, podcasts, job postings, volunteer opportunities)\n- **Location Filtering**: Filter posts by nonprofit's city, county, state, ZIP code, or geographic radius (lat/lng)\n- **Cause Area Filtering**: Filter by NTEE codes to find posts from organizations working in specific cause areas\n\n### AI Chat\nNatural language search for nonprofits and content. Example queries:\n- `Find articles about clean water`\n- `Find nonprofits in Chicago with revenue over 100k`\n- `Show nonprofits in TX that help the blind`\n- `Nonprofits that are similar to JDRF`\n- `Nonprofits that focus on SDG 5 with revenue between 1M and 5M`\n\n","version":"1.0.0"},"servers":[{"url":"https://api.givingcompass.org/insights"}],"paths":{"/chat/search":{"get":{"tags":["Insights"],"summary":"Chat Search","operationId":"chat_search_chat_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":256,"title":"Query string","description":"Query string for searching the vector database"},"description":"Query string for searching the vector database"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":3,"maxLength":256},{"type":"null"}],"title":"City","description":"City string for filtering search results"},"description":"City string for filtering search results"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State","description":"State string for filtering the vector database (2 character abbreviation)","examples":["MD","WA"]},"description":"State string for filtering the vector database (2 character abbreviation)"},{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":5,"maxLength":5,"pattern":"^\\d{5}$"},{"type":"null"}],"title":"Zip Code","description":"5 Zip Code for filtering search results"},"description":"5 Zip Code for filtering search results"},{"name":"min_total_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Total Revenue","description":"Returns nonprofits with total revenue more than min total revenue"},"description":"Returns nonprofits with total revenue more than min total revenue"},{"name":"max_total_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Total Revenue","description":"Returns nonprofits with total revenue less than max total revenue"},"description":"Returns nonprofits with total revenue less than max total revenue"},{"name":"gc_vetted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"GC Vetted","description":"Query string for selecting vetted Giving Compass nonprofits"},"description":"Query string for selecting vetted Giving Compass nonprofits"},{"name":"sdg","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","maximum":17,"minimum":1}},{"type":"null"}],"title":"SDGs","description":"List of Sustainable Development Goals (SDGs) to filter search results by","default":[]},"description":"List of Sustainable Development Goals (SDGs) to filter search results by"},{"name":"x-session-id","in":"header","required":false,"schema":{"type":"string","format":"uuid","description":"A unique UUID value to maintain context","title":"X-Session-Id"},"description":"A unique UUID value to maintain context"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightsAssistantChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat":{"get":{"tags":["Insights"],"summary":"Process User Message","operationId":"process_user_message_chat_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":256,"title":"Query string","description":"Query string for searching the vector database"},"description":"Query string for searching the vector database"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":3,"maxLength":256},{"type":"null"}],"title":"City","description":"City string for filtering search results"},"description":"City string for filtering search results"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State","description":"State string for filtering the vector database (2 character abbreviation)","examples":["MD","WA"]},"description":"State string for filtering the vector database (2 character abbreviation)"},{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":5,"maxLength":5,"pattern":"^\\d{5}$"},{"type":"null"}],"title":"Zip Code","description":"5 Zip Code for filtering search results"},"description":"5 Zip Code for filtering search results"},{"name":"min_total_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Total Revenue","description":"Returns nonprofits with total revenue more than min total revenue"},"description":"Returns nonprofits with total revenue more than min total revenue"},{"name":"max_total_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Total Revenue","description":"Returns nonprofits with total revenue less than max total revenue"},"description":"Returns nonprofits with total revenue less than max total revenue"},{"name":"gc_vetted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"GC Vetted","description":"Query string for selecting vetted Giving Compass nonprofits"},"description":"Query string for selecting vetted Giving Compass nonprofits"},{"name":"sdg","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","maximum":17,"minimum":1}},{"type":"null"}],"title":"SDGs","description":"List of Sustainable Development Goals (SDGs) to filter search results by","default":[]},"description":"List of Sustainable Development Goals (SDGs) to filter search results by"},{"name":"x-session-id","in":"header","required":false,"schema":{"type":"string","format":"uuid","description":"A unique UUID value to maintain context","title":"X-Session-Id"},"description":"A unique UUID value to maintain context"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightsAssistantChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nonprofits/search":{"get":{"tags":["Insights"],"summary":"Search Nonprofits","operationId":"search_nonprofits_nonprofits_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Primary Query","description":"Primary query used for the search"},"description":"Primary query used for the search"},{"name":"subsection_codes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^\\d{2}$"}},{"type":"null"}],"title":"Subsection","description":"List of 2-character numeric subsection codes (e.g., '03' indicates a 501C3, '04' indicates a 501C4)"},"description":"List of 2-character numeric subsection codes (e.g., '03' indicates a 501C3, '04' indicates a 501C4)"},{"name":"foundation","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include/exclude foundations","description":"Flag to filter by foundation status. If true, only foundations are included, and excluded if false."},"description":"Flag to filter by foundation status. If true, only foundations are included, and excluded if false."},{"name":"deductible_donations","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Deductible Donations","description":"Flag to limit the search to organizations with deductible donations"},"description":"Flag to limit the search to organizations with deductible donations"},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Latitude for location-based search"},"description":"Latitude for location-based search"},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Longitude for location-based search"},"description":"Longitude for location-based search"},{"name":"location_range","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Location Range","description":"Search radius in miles (0 for unlimited)"},"description":"Search radius in miles (0 for unlimited)"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"City","description":"City for location-based search"},"description":"City for location-based search"},{"name":"county","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"County","description":"County for location-based search"},"description":"County for location-based search"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State","description":"State for location-based search (2 character abbreviation)"},"description":"State for location-based search (2 character abbreviation)"},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{5}$"},{"type":"null"}],"title":"ZIP Code","description":"ZIP Code for location-based search"},"description":"ZIP Code for location-based search"},{"name":"min_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Revenue","description":"Minimum annual revenue in dollars"},"description":"Minimum annual revenue in dollars"},{"name":"max_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Revenue","description":"Maximum annual revenue in dollars"},"description":"Maximum annual revenue in dollars"},{"name":"min_expenses","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Expenses","description":"Minimum annual expenses in dollars"},"description":"Minimum annual expenses in dollars"},{"name":"max_expenses","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Expenses","description":"Maximum annual expenses in dollars"},"description":"Maximum annual expenses in dollars"},{"name":"min_assets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Assets","description":"Minimum total assets in dollars"},"description":"Minimum total assets in dollars"},{"name":"max_assets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Assets","description":"Maximum total assets in dollars"},"description":"Maximum total assets in dollars"},{"name":"sdgs","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","maximum":17,"minimum":1}},{"type":"null"}],"title":"Sustainable Development Goals","description":"List of SDG numbers to filter by","default":[]},"description":"List of SDG numbers to filter by"},{"name":"ntee_codes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"NTEE Codes","description":"List of NTEE (National Taxonomy of Exempt Entities) codes","default":[]},"description":"List of NTEE (National Taxonomy of Exempt Entities) codes"},{"name":"gc_vetted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"GC Vetted Status","description":"Filter for organizations vetted by Giving Compass"},"description":"Filter for organizations vetted by Giving Compass"},{"name":"video","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Nonprofit Videos","description":"Flag to include only nonprofits with videos"},"description":"Flag to include only nonprofits with videos"},{"name":"impact_url","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Nonprofit Impact URL","description":"Flag to include only nonprofits with impact report URLS"},"description":"Flag to include only nonprofits with impact report URLS"},{"name":"min_employees","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Employee Count","description":"Minimum number of employees"},"description":"Minimum number of employees"},{"name":"max_employees","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Employee Count","description":"Maximum number of employees"},"description":"Maximum number of employees"},{"name":"min_score","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Minimum org score","description":"Minimum org score"},"description":"Minimum org score"},{"name":"max_score","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Maximum org score","description":"Maximum org score"},"description":"Maximum org score"},{"name":"min_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":4,"minimum":0},{"type":"null"}],"title":"Minimum Star Rating","description":"Minimum star rating for organization"},"description":"Minimum star rating for organization"},{"name":"max_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":4,"minimum":0},{"type":"null"}],"title":"Minimum Star Rating","description":"Maximum star rating for organization"},"description":"Maximum star rating for organization"},{"name":"org_size","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Organization Sizes","description":"One or more sizes of the organization (e.g., small, medium, large, super-size)","default":[]},"description":"One or more sizes of the organization (e.g., small, medium, large, super-size)"},{"name":"has_social_media","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Social Media","description":"Filter for nonprofits that have at least one social media account"},"description":"Filter for nonprofits that have at least one social media account"},{"name":"social_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Social Media","description":"Filter for nonprofits that have specific social media accounts"},"description":"Filter for nonprofits that have specific social media accounts"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_NonprofitDetailsResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nonprofits/details/{ein}":{"get":{"tags":["Insights"],"summary":"Get Nonprofit Details","operationId":"get_nonprofit_details_nonprofits_details__ein__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","minLength":9,"maxLength":9,"pattern":"^\\d{9}$","title":"EIN (Employer Identification Number)","description":"The unique 9 digit identifier assigned to businesses by the IRS"},"description":"The unique 9 digit identifier assigned to businesses by the IRS"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightsNonprofitDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nonprofits/details/{ein}/financials":{"get":{"tags":["Insights"],"summary":"Get Nonprofit Financial Details","operationId":"get_nonprofit_financial_details_nonprofits_details__ein__financials_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","minLength":9,"maxLength":9,"pattern":"^\\d{9}$","title":"EIN (Employer Identification Number)","description":"The unique 9 digit identifier assigned to businesses by the IRS"},"description":"The unique 9 digit identifier assigned to businesses by the IRS"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonprofitFinancialDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nonprofits/details/{ein}/related":{"get":{"tags":["Insights"],"summary":"Get Nonprofit Financial Details","operationId":"get_nonprofit_financial_details_nonprofits_details__ein__related_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","minLength":9,"maxLength":9,"pattern":"^\\d{9}$","title":"EIN (Employer Identification Number)","description":"The unique 9 digit identifier assigned to businesses by the IRS"},"description":"The unique 9 digit identifier assigned to businesses by the IRS"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonprofitRelatedContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feed/posts":{"get":{"tags":["Feed"],"summary":"Get Feed Posts","description":"Get posts from all nonprofits for the global feed, sorted by newest first.\nOrganization names are guaranteed to be populated via SQL lookup.\nSupports optional filtering by classification and search.","operationId":"get_feed_posts_feed_posts_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"classification","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Classification","description":"Filter by post classification/content type (article, video, event, podcast, job_posting, volunteer_opportunity)"},"description":"Filter by post classification/content type (article, video, event, podcast, job_posting, volunteer_opportunity)","example":"article"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Search Query","description":"Search query for post titles and content"},"description":"Search query for post titles and content","example":"climate change"},{"name":"view","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"View Mode","description":"View mode: 'latest' (all posts) or 'following' (favorited nonprofits only)"},"description":"View mode: 'latest' (all posts) or 'following' (favorited nonprofits only)","example":"following"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"Organization City","description":"Filter posts by the city of the nonprofit organization"},"description":"Filter posts by the city of the nonprofit organization","example":"San Francisco"},{"name":"county","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"Organization County","description":"Filter posts by the county of the nonprofit organization"},"description":"Filter posts by the county of the nonprofit organization","example":"San Francisco County"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"Organization State","description":"Filter posts by the state of the nonprofit organization (2 character abbreviation)"},"description":"Filter posts by the state of the nonprofit organization (2 character abbreviation)","example":"CA"},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{5}$"},{"type":"null"}],"title":"Organization ZIP Code","description":"Filter posts by the ZIP code of the nonprofit organization (5 digits)"},"description":"Filter posts by the ZIP code of the nonprofit organization (5 digits)","example":"94102"},{"name":"ntee_codes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"NTEE Codes","description":"Filter posts by NTEE (National Taxonomy of Exempt Entities) codes of the nonprofit organization","default":[]},"description":"Filter posts by NTEE (National Taxonomy of Exempt Entities) codes of the nonprofit organization","example":["A20","B25"]},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_NonprofitPostResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/impact/stories/{ein}":{"get":{"tags":["Impact"],"summary":"Get Stories for a Nonprofit","description":"Get impact stories for a single nonprofit by EIN.\n\nReturns human transformation narratives with emotional hooks, quotes, and before/after states extracted from annual reports.","operationId":"get_impact_stories_impact_stories__ein__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","minLength":9,"maxLength":9,"pattern":"^\\d{9}$","title":"EIN (Employer Identification Number)","description":"The unique 9 digit identifier assigned to businesses by the IRS"},"description":"The unique 9 digit identifier assigned to businesses by the IRS"},{"name":"min_power_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Power Score"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":20,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InsightsImpactStoryResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/impact/metrics/{ein}":{"get":{"tags":["Impact"],"summary":"Get Metrics for a Nonprofit","description":"Get impact metrics for a single nonprofit by EIN.\n\nReturns quantitative measures (e.g., people served, meals distributed, volunteers engaged) extracted from annual reports.","operationId":"get_impact_metrics_impact_metrics__ein__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","minLength":9,"maxLength":9,"pattern":"^\\d{9}$","title":"EIN (Employer Identification Number)","description":"The unique 9 digit identifier assigned to businesses by the IRS"},"description":"The unique 9 digit identifier assigned to businesses by the IRS"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":20,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InsightsImpactMetricResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/impact/stories":{"get":{"tags":["Impact"],"summary":"Browse Stories","description":"Browse impact stories across multiple nonprofits.\n\nSupports semantic search via the `q` parameter and filtering by EINs and power score.","operationId":"get_all_impact_stories_impact_stories_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Query","description":"Semantic search query for finding relevant stories"},"description":"Semantic search query for finding relevant stories"},{"name":"eins","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"EINs","description":"Filter by one or more nonprofit EINs"},"description":"Filter by one or more nonprofit EINs"},{"name":"min_power_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Minimum Power Score","description":"Minimum power score (0-10)"},"description":"Minimum power score (0-10)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":20,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InsightsImpactStoryResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/impact/metrics":{"get":{"tags":["Impact"],"summary":"Browse Metrics","description":"Browse impact metrics across multiple nonprofits.\n\nFilter by EINs to retrieve metrics from specific organizations.","operationId":"get_all_impact_metrics_impact_metrics_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"eins","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"EINs","description":"Filter by one or more nonprofit EINs"},"description":"Filter by one or more nonprofit EINs"},{"name":"metric_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Metric IDs","description":"Filter by one or more metric IDs"},"description":"Filter by one or more metric IDs"},{"name":"metric_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric Type","description":"Filter by metric type (e.g., 'meals served', 'children helped')"},"description":"Filter by metric type (e.g., 'meals served', 'children helped')"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":20,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InsightsImpactMetricResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/articles/search":{"get":{"tags":["Insights"],"summary":"Search Articles","operationId":"search_articles_articles_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Primary Query","description":"Primary query used for the search"},"description":"Primary query used for the search","example":"climate change"},{"name":"post_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/GCPostType"},{"type":"null"}],"title":"Post Type","description":"The type of post to search for"},"description":"The type of post to search for","example":"post"},{"name":"date_added","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DateAddedRange"},{"type":"null"}],"title":"Date Added","description":"Time range for when the article was added"},"description":"Time range for when the article was added","example":"past_month"},{"name":"gc_original","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"GC Original","description":"Indicates whether the post is an original post"},"description":"Indicates whether the post is an original post","example":true},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_ArticleDetailsResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/beta/nonprofits/search":{"get":{"tags":["Beta"],"summary":"Search Nonprofits","operationId":"search_nonprofits_beta_nonprofits_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Primary Query","description":"Primary query used for the search"},"description":"Primary query used for the search"},{"name":"subsection_codes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^\\d{2}$"}},{"type":"null"}],"title":"Subsection","description":"List of 2-character numeric subsection codes (e.g., '03' indicates a 501C3, '04' indicates a 501C4)"},"description":"List of 2-character numeric subsection codes (e.g., '03' indicates a 501C3, '04' indicates a 501C4)"},{"name":"foundation","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include/exclude foundations","description":"Flag to filter by foundation status. If true, only foundations are included, and excluded if false."},"description":"Flag to filter by foundation status. If true, only foundations are included, and excluded if false."},{"name":"deductible_donations","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Deductible Donations","description":"Flag to limit the search to organizations with deductible donations"},"description":"Flag to limit the search to organizations with deductible donations"},{"name":"latitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude","description":"Latitude for location-based search"},"description":"Latitude for location-based search"},{"name":"longitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude","description":"Longitude for location-based search"},"description":"Longitude for location-based search"},{"name":"location_range","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Location Range","description":"Search radius in miles (0 for unlimited)"},"description":"Search radius in miles (0 for unlimited)"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"City","description":"City for location-based search"},"description":"City for location-based search"},{"name":"county","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"County","description":"County for location-based search"},"description":"County for location-based search"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State","description":"State for location-based search (2 character abbreviation)"},"description":"State for location-based search (2 character abbreviation)"},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{5}$"},{"type":"null"}],"title":"ZIP Code","description":"ZIP Code for location-based search"},"description":"ZIP Code for location-based search"},{"name":"min_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Revenue","description":"Minimum annual revenue in dollars"},"description":"Minimum annual revenue in dollars"},{"name":"max_revenue","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Revenue","description":"Maximum annual revenue in dollars"},"description":"Maximum annual revenue in dollars"},{"name":"min_expenses","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Expenses","description":"Minimum annual expenses in dollars"},"description":"Minimum annual expenses in dollars"},{"name":"max_expenses","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Expenses","description":"Maximum annual expenses in dollars"},"description":"Maximum annual expenses in dollars"},{"name":"min_assets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Assets","description":"Minimum total assets in dollars"},"description":"Minimum total assets in dollars"},{"name":"max_assets","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Assets","description":"Maximum total assets in dollars"},"description":"Maximum total assets in dollars"},{"name":"sdgs","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","maximum":17,"minimum":1}},{"type":"null"}],"title":"Sustainable Development Goals","description":"List of SDG numbers to filter by","default":[]},"description":"List of SDG numbers to filter by"},{"name":"ntee_codes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"NTEE Codes","description":"List of NTEE (National Taxonomy of Exempt Entities) codes","default":[]},"description":"List of NTEE (National Taxonomy of Exempt Entities) codes"},{"name":"min_employees","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Minimum Employee Count","description":"Minimum number of employees"},"description":"Minimum number of employees"},{"name":"max_employees","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Maximum Employee Count","description":"Maximum number of employees"},"description":"Maximum number of employees"},{"name":"min_score","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Minimum organization score","description":"Minimum organization score"},"description":"Minimum organization score"},{"name":"max_score","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Maximum organization score","description":"Maximum organization score"},"description":"Maximum organization score"},{"name":"min_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":4,"minimum":0},{"type":"null"}],"title":"Minimum Star Rating","description":"Minimum star rating for organization"},"description":"Minimum star rating for organization"},{"name":"max_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":4,"minimum":0},{"type":"null"}],"title":"Minimum Star Rating","description":"Maximum star rating for organization"},"description":"Maximum star rating for organization"},{"name":"org_size","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Organization Sizes","description":"One or more sizes of the organization based on classification. Valid values are 'Small', 'Medium', 'Large', and 'Super-Size'.","default":[]},"description":"One or more sizes of the organization based on classification. Valid values are 'Small', 'Medium', 'Large', and 'Super-Size'."},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Sort Options","description":"Sort options for the search results."},"description":"Sort options for the search results."},{"name":"max_vector_distance","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Maximum Vector Distance","description":"Max vector distance for the search. Higher number means more lenient vector matching."},"description":"Max vector distance for the search. Higher number means more lenient vector matching."},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"LLM Model","description":"LLM model to use for intent processing. Options: 'gemini-2.5-flash-lite' (default) or 'gpt-3.5-turbo-0125'.","default":"gemini-2.5-flash-lite"},"description":"LLM model to use for intent processing. Options: 'gemini-2.5-flash-lite' (default) or 'gpt-3.5-turbo-0125'."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Size"},"description":"Items per page"},{"name":"x-session-id","in":"header","required":false,"schema":{"type":"string","format":"uuid","description":"A unique UUID value to maintain context","title":"X-Session-Id"},"description":"A unique UUID value to maintain context"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BetaNonprofitSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ArticleContentsResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"text":{"type":"string","title":"Text"}},"type":"object","required":["id","title","url","text"],"title":"ArticleContentsResponse","description":"Variation of ArticleDetailsResponse that includes the article text"},"ArticleDetailsResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"excerpt":{"type":"string","title":"Excerpt"},"url":{"type":"string","title":"Url"},"publisher":{"type":"string","title":"Publisher"},"is_gc_original":{"type":"boolean","title":"Is Gc Original"},"date_added":{"type":"string","title":"Date Added"},"date_modified":{"type":"string","title":"Date Modified"},"evergreen":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Evergreen"}},"type":"object","required":["id","title","excerpt","url","publisher","is_gc_original","date_added","date_modified"],"title":"ArticleDetailsResponse"},"BetaChatIntentResponse":{"properties":{"llm_response":{"anyOf":[{"$ref":"#/components/schemas/LLMFunctionCallResult"},{"type":"null"}]},"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"cause":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cause"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"min_revenue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Revenue"},"max_revenue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Revenue"},"sdgs":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Sdgs"},"ntee_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ntee Codes"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"},"organization_ein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Ein"},"min_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Score"},"max_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Score"},"min_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Rating"},"max_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Rating"},"org_size":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Org Size"}},"type":"object","title":"BetaChatIntentResponse","description":"Response model for chat intents in the insights beta endpoint - Based off ChatIntentResponse"},"BetaNonprofitDetailsResponse":{"properties":{"vectorScore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vectorscore"},"ein":{"type":"string","title":"Ein"},"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"streetAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Streetaddress"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zipCode5":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode5"},"ntee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ntee"},"issueArea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuearea"},"yearFounded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Yearfounded"},"filingYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filingyear"},"revenueGrandTotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenuegrandtotal"},"netAssets":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Netassets"},"foundation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Foundation"},"inactive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inactive"},"irsRulingDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Irsrulingdate"},"sdgs":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Sdgs"},"formType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formtype"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"},"cnScore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cnscore"},"cnRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cnrating"},"cnSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cnsize"}},"type":"object","required":["ein","name","url","summary","streetAddress","city","state","zipCode5","ntee","issueArea","yearFounded","filingYear","revenueGrandTotal","netAssets","foundation","inactive","irsRulingDate","sdgs","formType","lat","lng","cnScore","cnRating","cnSize"],"title":"BetaNonprofitDetailsResponse","description":"Response model for nonprofit details in the insights beta endpoint."},"BetaNonprofitSearchResponse":{"properties":{"intentDetails":{"anyOf":[{"$ref":"#/components/schemas/BetaChatIntentResponse"},{"type":"null"}]},"nonprofits":{"anyOf":[{"items":{"$ref":"#/components/schemas/BetaNonprofitDetailsResponse"},"type":"array"},{"type":"null"}],"title":"Nonprofits"}},"type":"object","title":"BetaNonprofitSearchResponse"},"ChatIntentResponse":{"properties":{"llm_response":{"anyOf":[{"$ref":"#/components/schemas/LLMFunctionCallResult"},{"type":"null"}]},"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"cause":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cause"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"min_revenue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Revenue"},"max_revenue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Revenue"},"gc_vetted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gc Vetted"},"sdgs":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Sdgs"},"ntee_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ntee Codes"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"},"organization_ein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Ein"},"keywords":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Keywords"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"},"article_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Article Id"},"min_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Score"},"max_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Score"},"min_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Rating"},"max_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Rating"},"org_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Size"}},"type":"object","title":"ChatIntentResponse"},"DateAddedRange":{"type":"string","enum":["past_week","past_month","past_year","all"],"title":"DateAddedRange"},"EmbeddedImpactMetric":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"metric_text":{"type":"string","title":"Metric Text"},"metric_type":{"type":"string","title":"Metric Type"},"metric_value":{"type":"number","title":"Metric Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"geo_impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geo Impact"},"time_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Aggregation"}},"type":"object","required":["metric_id","metric_text","metric_type","metric_value"],"title":"EmbeddedImpactMetric","description":"Minimal metric representation for embedding in impact stories"},"GCFund":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"sponsor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sponsor"},"about_sponsor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"About Sponsor"},"fund_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fund Url"},"fund_sponsor_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fund Sponsor Url"},"fund_minimum_investment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fund Minimum Investment"},"gc_medium_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gc Medium Image"},"address":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Address"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo"},"ein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ein"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"category":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Category"},"categories":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Categories"}},"additionalProperties":true,"type":"object","title":"GCFund","description":"Holds the raw data returned from the GC Issue Fund API."},"GCPostType":{"type":"string","enum":["post","audio","pdf","video","partner_post"],"title":"GCPostType"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InsightsAssistantChatResponse":{"properties":{"messageId":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Messageid"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"intentDetails":{"anyOf":[{"$ref":"#/components/schemas/ChatIntentResponse"},{"type":"null"}]},"nonprofits":{"anyOf":[{"items":{"$ref":"#/components/schemas/InsightsNonprofitDetailsResponse"},"type":"array"},{"type":"null"}],"title":"Nonprofits"},"articles":{"anyOf":[{"items":{"$ref":"#/components/schemas/ArticleDetailsResponse"},"type":"array"},{"type":"null"}],"title":"Articles"},"article":{"anyOf":[{"$ref":"#/components/schemas/ArticleContentsResponse"},{"type":"null"}]},"suggestions":{"anyOf":[{"items":{"$ref":"#/components/schemas/SuggestionChip"},"type":"array"},{"type":"null"}],"title":"Suggestions"},"kbSources":{"anyOf":[{"items":{"$ref":"#/components/schemas/KBArticleSource"},"type":"array"},{"type":"null"}],"title":"Kbsources"},"funds":{"anyOf":[{"items":{"$ref":"#/components/schemas/GCFund"},"type":"array"},{"type":"null"}],"title":"Funds"}},"type":"object","title":"InsightsAssistantChatResponse","description":"Holds the assistant's response to the user's message. Intended for API client responses."},"InsightsImpactMetricResponse":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"ein":{"type":"string","title":"Ein"},"metric_text":{"type":"string","title":"Metric Text"},"metric_type":{"type":"string","title":"Metric Type"},"metric_value":{"type":"number","title":"Metric Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"geo_impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geo Impact"},"time_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Aggregation"},"time_aggregation_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Aggregation Text"},"source_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Snippet"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"report_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Report Year"},"date_added":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Added"}},"type":"object","required":["metric_id","ein","metric_text","metric_type","metric_value"],"title":"InsightsImpactMetricResponse","description":"Public API response for impact metrics"},"InsightsImpactStoryResponse":{"properties":{"ein":{"type":"string","title":"Ein"},"organization_name":{"type":"string","title":"Organization Name"},"story_title":{"type":"string","title":"Story Title"},"story_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Story Id"},"emotional_hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Emotional Hook"},"full_quote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Quote"},"quote_attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Attribution"},"protagonist":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Protagonist"},"before_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before State"},"transformation_moment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transformation Moment"},"after_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After State"},"time_to_impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time To Impact"},"obstacles_overcome":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Obstacles Overcome"},"metrics":{"anyOf":[{"items":{"$ref":"#/components/schemas/EmbeddedImpactMetric"},"type":"array"},{"type":"null"}],"title":"Metrics"},"ripple_effect":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ripple Effect"},"call_to_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Call To Action"},"story_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Story Category"},"identity_alignment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity Alignment"},"date_extracted":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Extracted"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"report_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Report Year"},"power_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Power Score"},"confidence_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Score"}},"type":"object","required":["ein","organization_name","story_title"],"title":"InsightsImpactStoryResponse","description":"Public API response for impact stories (excludes internal fields like model_used)"},"InsightsNonprofitDetailsResponse":{"properties":{"ein":{"type":"string","title":"Ein"},"name":{"type":"string","title":"Name"},"alt_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"streetAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Streetaddress"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zipCode5":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode5"},"ntee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ntee"},"issueArea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuearea"},"yearFounded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Yearfounded"},"filingYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filingyear"},"revenueGrandTotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenuegrandtotal"},"netAssets":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Netassets"},"foundation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Foundation"},"inactive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inactive"},"gcVetted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gcvetted"},"irsRulingDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Irsrulingdate"},"irsFilingUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Irsfilingurl"},"sdgs":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Sdgs"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo"},"formType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formtype"},"gcVideoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcvideourl"},"gcDonationUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcdonationurl"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"},"impactSummary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impactsummary"}},"type":"object","required":["ein","name","url","summary","streetAddress","city","state","zipCode5","ntee","issueArea","yearFounded","filingYear","revenueGrandTotal","netAssets","foundation","inactive","gcVetted","irsRulingDate","irsFilingUrl","sdgs","logo","formType","gcVideoUrl","gcDonationUrl","lat","lng","impactSummary"],"title":"InsightsNonprofitDetailsResponse","description":"DTO for returning nonprofit details in the public Insights API.\nIt contains a subset of the fields from NonprofitDetailsResponse."},"KBArticleSource":{"properties":{"article_id":{"type":"string","title":"Article Id"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"content":{"type":"string","title":"Content"},"date_added":{"type":"string","title":"Date Added"}},"type":"object","required":["article_id","title","url","content","date_added"],"title":"KBArticleSource","description":"Represents a source article from a knowledge base search"},"LLMFunctionCallResult":{"properties":{"function_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Function Name"},"arguments":{"type":"object","title":"Arguments","default":{}},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","title":"LLMFunctionCallResult","description":"Holds the raw results of a GPT function call"},"NonprofitDetailsResponse":{"properties":{"ein":{"type":"string","title":"Ein"},"name":{"type":"string","title":"Name"},"altName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Altname"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"streetAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Streetaddress"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"county":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zipCode5":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode5"},"ntee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ntee"},"issueArea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuearea"},"yearFounded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Yearfounded"},"filingYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filingyear"},"expensesGrandTotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expensesgrandtotal"},"revenueGrandTotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revenuegrandtotal"},"netAssets":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Netassets"},"foundation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Foundation"},"inactive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inactive"},"gcVetted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gcvetted"},"sdgs":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Sdgs"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo"},"irsRulingDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Irsrulingdate"},"irsFilingUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Irsfilingurl"},"categoryGroup":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categorygroup"},"deductibility":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deductibility"},"organizationForm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organizationform"},"employees":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Employees"},"organizationType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organizationtype"},"principalOfficerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Principalofficername"},"businessOfficerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Businessofficername"},"formType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formtype"},"gcVideoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcvideourl"},"gcDonationUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcdonationurl"},"gcImpactUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcimpacturl"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"},"sources":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Sources"},"socialAccounts":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Socialaccounts"},"cnScore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cnscore"},"cnRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cnrating"},"cnSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cnsize"},"vectorScore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vectorscore"},"impactSummary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impactsummary"}},"type":"object","required":["ein","name","url","summary","streetAddress","city","county","state","zipCode5","ntee","issueArea","yearFounded","filingYear","expensesGrandTotal","revenueGrandTotal","netAssets","foundation","inactive","gcVetted","sdgs","logo","irsRulingDate","irsFilingUrl","categoryGroup","deductibility","organizationForm","employees","organizationType","principalOfficerName","businessOfficerName","formType","gcVideoUrl","gcDonationUrl","gcImpactUrl","lat","lng","sources","socialAccounts","cnScore","cnRating","impactSummary"],"title":"NonprofitDetailsResponse"},"NonprofitFinancialDetailsResponse":{"properties":{"ein":{"type":"string","title":"Ein"},"returns":{"items":{"$ref":"#/components/schemas/NonprofitTaxReturnDto"},"type":"array","title":"Returns"}},"type":"object","required":["ein","returns"],"title":"NonprofitFinancialDetailsResponse"},"NonprofitPostResponse":{"properties":{"organization_ein":{"type":"string","title":"Organization Ein"},"post_title":{"type":"string","title":"Post Title"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"},"organization_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization City"},"organization_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization State"},"post_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Id"},"post_classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Classification"},"post_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Description"},"post_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Content"},"post_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Url"},"post_published_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Published Date"},"post_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Author"},"post_categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Post Categories"},"post_tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Post Tags"}},"type":"object","required":["organization_ein","post_title"],"title":"NonprofitPostResponse"},"NonprofitRelatedContentResponse":{"properties":{"ein":{"type":"string","title":"Ein"},"nonprofits":{"items":{"$ref":"#/components/schemas/NonprofitDetailsResponse"},"type":"array","title":"Nonprofits"},"articles":{"items":{"$ref":"#/components/schemas/ArticleDetailsResponse"},"type":"array","title":"Articles"}},"type":"object","required":["ein","nonprofits","articles"],"title":"NonprofitRelatedContentResponse"},"NonprofitTaxReturnDto":{"properties":{"tax_year":{"type":"integer","title":"Tax Year"},"return_type":{"type":"string","title":"Return Type"},"timestamp":{"type":"string","title":"Timestamp"},"file_url":{"type":"string","title":"File Url"}},"type":"object","required":["tax_year","return_type","timestamp","file_url"],"title":"NonprofitTaxReturnDto","description":"DTO used to hold the details of a single tax return for a nonprofit."},"PaginatedResponse_ArticleDetailsResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ArticleDetailsResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[ArticleDetailsResponse]"},"PaginatedResponse_InsightsImpactMetricResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InsightsImpactMetricResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[InsightsImpactMetricResponse]"},"PaginatedResponse_InsightsImpactStoryResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InsightsImpactStoryResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[InsightsImpactStoryResponse]"},"PaginatedResponse_NonprofitDetailsResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NonprofitDetailsResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[NonprofitDetailsResponse]"},"PaginatedResponse_NonprofitPostResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NonprofitPostResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["items","total","page","size"],"title":"PaginatedResponse[NonprofitPostResponse]"},"SuggestionChip":{"properties":{"label":{"type":"string","title":"Label"},"message":{"type":"string","title":"Message"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"content_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Id"}},"type":"object","required":["label","message","url"],"title":"SuggestionChip"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","description":"Add a header [X-API-Key] with the token","in":"header","name":"X-API-Key"}}},"tags":[{"name":"Insights","description":"Search nonprofits, retrieve financial data, and access AI-powered chat for nonprofit discovery."},{"name":"Impact","description":"Access impact stories and metrics extracted from nonprofit annual reports. Stories are human transformation narratives with emotional hooks and quotes. Metrics are quantitative measures reported by nonprofits."},{"name":"Feed","description":"Access nonprofit posts and content feeds with advanced filtering by location, cause area, and content type. Filter posts by organization location (city, county, state, ZIP, lat/lng radius) and NTEE codes"},{"name":"Beta","description":"Beta endpoints - may change without notice."}]}