Financial Compliance API
The Financial Compliance API provides specialized compliance features for financial services firms. It helps ensure that interactions with Oliver adhere to regulatory requirements from bodies such as FINRA, SEC, and other financial authorities.
Important: While our financial compliance tools can help maintain regulatory compliance, they are not a substitute for your organization's compliance team and legal counsel. Always consult with your compliance department before implementing these features.
Key Compliance Features
Oliver Chat's financial compliance features include:
- Real-time compliance scanning for both user queries and AI responses
- Financial regulatory checks based on FINRA, SEC, and other regulatory guidelines
- Automatic disclaimers for financial advice and recommendations
- Comprehensive audit trails for all interactions
- Source citation tracking for accountability and verification
- PII/sensitive information detection and handling
- Data retention policies for regulatory compliance
Financial Compliance Checks
You can configure compliance checks to trigger on specific types of financial content or discussions:
Endpoint
POST https://api.oliverchat.com/v1/financial-compliance/configure
Request Body
{
"enabled_checks": [
"investment_recommendations",
"financial_projections",
"regulatory_disclosures",
"personal_financial_advice",
"securities_discussion",
"tax_advice",
"retirement_planning"
],
"disclaimer_mode": "automatic",
"disclaimer_templates": {
"investment_advice": "The information provided does not constitute investment advice and should not be relied upon for investment decisions. Always consult with a qualified financial advisor before making investment decisions.",
"tax_advice": "The information provided does not constitute tax advice. Please consult with a qualified tax professional for advice specific to your situation."
},
"compliance_standards": [
"finra",
"sec",
"cfpb"
]
}
Example Response
{
"success": true,
"data": {
"configuration_id": "fin_comp_123456789",
"enabled_checks": [
"investment_recommendations",
"financial_projections",
"regulatory_disclosures",
"personal_financial_advice",
"securities_discussion",
"tax_advice",
"retirement_planning"
],
"disclaimer_mode": "automatic",
"disclaimer_templates": {
"investment_advice": "The information provided does not constitute investment advice...",
"tax_advice": "The information provided does not constitute tax advice..."
},
"compliance_standards": [
"finra",
"sec",
"cfpb"
],
"created_at": "2025-03-11T14:00:00Z",
"updated_at": "2025-03-11T14:00:00Z"
},
"message": "Financial compliance configuration updated successfully"
}
Financial Compliance Categories
Oliver Chat supports various financial compliance categories:
Category | Description | Regulatory Body |
---|---|---|
investment_recommendations | Recommendations to buy, sell, or hold securities | FINRA, SEC |
financial_projections | Forecasts of financial performance or returns | FINRA, SEC |
regulatory_disclosures | Required disclosures for financial products/services | FINRA, SEC, CFPB |
personal_financial_advice | Personalized financial recommendations | FINRA, SEC, CFPB |
securities_discussion | Discussion of specific securities or investment products | FINRA, SEC |
tax_advice | Tax-related recommendations or information | IRS |
retirement_planning | Advice related to retirement accounts or planning | FINRA, SEC, DOL |
Compliance Flag Object
The Compliance Flag object represents a potential compliance issue detected in a chat.
Attribute | Type | Description |
---|---|---|
id | string | Unique identifier for the compliance flag |
message_id | string | ID of the message with the potential compliance issue |
category | string | Compliance category (e.g., investment_recommendations) |
severity | string | Severity level (low, medium, high) |
description | string | Description of the potential compliance issue |
content_snippet | string | The portion of content that triggered the flag |
regulatory_references | array | References to relevant regulations |
status | string | Status of the flag (open, resolved, dismissed) |
created_at | timestamp | When the compliance flag was created |
Check Message for Compliance
Manually check a message for financial compliance issues.
Endpoint
POST https://api.oliverchat.com/v1/financial-compliance/check
Request Body
{
"content": "Based on your financial situation, I would recommend investing in XYZ Corp stock as it's guaranteed to provide a 15% return in the next quarter.",
"check_types": ["investment_recommendations", "financial_projections"],
"user_context": {
"user_role": "financial_advisor",
"client_type": "retail_investor"
}
}
Example Response
{
"success": true,
"data": {
"is_compliant": false,
"flags": [
{
"id": "flag_123456789",
"category": "investment_recommendations",
"severity": "high",
"description": "Specific investment recommendation without proper disclosures",
"content_snippet": "I would recommend investing in XYZ Corp stock",
"regulatory_references": [
{
"authority": "FINRA",
"rule": "Rule 2210 - Communications with the Public",
"description": "Requires fair and balanced communications"
}
]
},
{
"id": "flag_123456790",
"category": "financial_projections",
"severity": "high",
"description": "Guaranteed or exaggerated performance claims",
"content_snippet": "guaranteed to provide a 15% return",
"regulatory_references": [
{
"authority": "SEC",
"rule": "Rule 10b-5",
"description": "Prohibits fraud or deceit in connection with securities"
}
]
}
],
"suggested_disclaimers": [
"Investment recommendations are not guaranteed and involve risk. Past performance is not indicative of future results.",
"Financial projections are estimates only and not guarantees of future performance."
],
"suggested_revisions": {
"content": "Based on your financial situation, you might consider a diversified portfolio that includes quality stocks. Keep in mind that all investments involve risk, and past performance is not indicative of future results. I'd be happy to discuss specific investment options after understanding more about your risk tolerance and goals."
}
},
"message": "Compliance check completed successfully"
}
Get Compliance Flags
Retrieve compliance flags for a specific chat or across all chats.
Endpoint
GET https://api.oliverchat.com/v1/financial-compliance/flags
Query Parameters
chat_id: Filter by chat ID (optional)
status: Filter by status (optional, options: open, resolved, dismissed)
category: Filter by compliance category (optional)
severity: Filter by severity (optional, options: low, medium, high)
limit: Maximum number of flags to return (default: 20, max: 100)
offset: Offset for pagination (default: 0)
Example Response
{
"success": true,
"data": [
{
"id": "flag_123456789",
"message_id": "msg_987654321",
"category": "investment_recommendations",
"severity": "high",
"description": "Specific investment recommendation without proper disclosures",
"content_snippet": "I would recommend investing in XYZ Corp stock",
"regulatory_references": [
{
"authority": "FINRA",
"rule": "Rule 2210 - Communications with the Public",
"description": "Requires fair and balanced communications"
}
],
"status": "open",
"created_at": "2025-03-11T14:05:00Z"
},
{
"id": "flag_123456790",
"message_id": "msg_987654321",
"category": "financial_projections",
"severity": "high",
"description": "Guaranteed or exaggerated performance claims",
"content_snippet": "guaranteed to provide a 15% return",
"regulatory_references": [
{
"authority": "SEC",
"rule": "Rule 10b-5",
"description": "Prohibits fraud or deceit in connection with securities"
}
],
"status": "open",
"created_at": "2025-03-11T14:05:00Z"
}
],
"meta": {
"total": 2,
"per_page": 20,
"page": 1,
"total_pages": 1
},
"message": "Compliance flags retrieved successfully"
}
Update Flag Status
Update the status of a compliance flag.
Endpoint
PATCH https://api.oliverchat.com/v1/financial-compliance/flags/{flag_id}
Request Body
{
"status": "resolved",
"resolution_notes": "Added appropriate disclaimers and modified the language to avoid guarantees.",
"resolved_by": "user_123456789"
}
Example Response
{
"success": true,
"data": {
"id": "flag_123456789",
"message_id": "msg_987654321",
"category": "investment_recommendations",
"severity": "high",
"description": "Specific investment recommendation without proper disclosures",
"content_snippet": "I would recommend investing in XYZ Corp stock",
"regulatory_references": [
{
"authority": "FINRA",
"rule": "Rule 2210 - Communications with the Public",
"description": "Requires fair and balanced communications"
}
],
"status": "resolved",
"resolution_notes": "Added appropriate disclaimers and modified the language to avoid guarantees.",
"resolved_by": "user_123456789",
"resolved_at": "2025-03-11T15:00:00Z",
"created_at": "2025-03-11T14:05:00Z"
},
"message": "Compliance flag updated successfully"
}
Generate Compliance Report
Generate a compliance report for audit or review purposes.
Endpoint
POST https://api.oliverchat.com/v1/financial-compliance/reports
Request Body
{
"report_type": "chat_compliance",
"chat_id": "chat_123456789",
"date_range": {
"start_date": "2025-03-01T00:00:00Z",
"end_date": "2025-03-11T23:59:59Z"
},
"include_flags": true,
"include_messages": true,
"format": "pdf"
}
Example Response
{
"success": true,
"data": {
"report_id": "report_123456789",
"report_type": "chat_compliance",
"status": "processing",
"estimated_completion_time": "2025-03-11T15:05:00Z",
"created_at": "2025-03-11T15:00:00Z"
},
"message": "Compliance report generation started"
}
Get Report Status
Check the status of a report generation request.
Endpoint
GET https://api.oliverchat.com/v1/financial-compliance/reports/{report_id}
Example Response (Processing)
{
"success": true,
"data": {
"report_id": "report_123456789",
"report_type": "chat_compliance",
"status": "processing",
"progress": 45,
"estimated_completion_time": "2025-03-11T15:05:00Z",
"created_at": "2025-03-11T15:00:00Z"
},
"message": "Report is being generated"
}
Example Response (Completed)
{
"success": true,
"data": {
"report_id": "report_123456789",
"report_type": "chat_compliance",
"status": "completed",
"download_url": "https://api.oliverchat.com/v1/financial-compliance/reports/report_123456789/download",
"expires_at": "2025-03-18T15:05:00Z",
"created_at": "2025-03-11T15:00:00Z",
"completed_at": "2025-03-11T15:05:00Z"
},
"message": "Report generation completed"
}
Download Report
Download a generated compliance report.
Endpoint
GET https://api.oliverchat.com/v1/financial-compliance/reports/{report_id}/download
This endpoint returns the report file directly with the appropriate Content-Type header (e.g., application/pdf, application/vnd.ms-excel).
Configuring Automatic Disclaimers
You can configure automatic disclaimers to be added to responses based on detected compliance categories.
Endpoint
POST https://api.oliverchat.com/v1/financial-compliance/disclaimers
Request Body
{
"disclaimer_templates": {
"investment_advice": "The information provided does not constitute investment advice and should not be relied upon for investment decisions. Always consult with a qualified financial advisor before making investment decisions.",
"tax_advice": "The information provided does not constitute tax advice. Please consult with a qualified tax professional for advice specific to your situation.",
"retirement_planning": "The information provided about retirement planning is for educational purposes only. Please consult with a qualified financial advisor for personalized retirement planning advice.",
"financial_projections": "Financial projections are estimates based on current information and assumptions. Actual results may vary significantly.",
"general": "The information provided is for general informational purposes only and should not be construed as financial, tax, or legal advice."
},
"application_rules": {
"investment_recommendations": ["investment_advice"],
"financial_projections": ["financial_projections"],
"tax_advice": ["tax_advice"],
"retirement_planning": ["retirement_planning"],
"default": ["general"]
},
"position": "footer"
}
Example Response
{
"success": true,
"data": {
"disclaimer_configuration_id": "disc_config_123456789",
"disclaimer_templates": {
"investment_advice": "The information provided does not constitute investment advice...",
"tax_advice": "The information provided does not constitute tax advice...",
"retirement_planning": "The information provided about retirement planning is for educational purposes only...",
"financial_projections": "Financial projections are estimates based on current information and assumptions...",
"general": "The information provided is for general informational purposes only..."
},
"application_rules": {
"investment_recommendations": ["investment_advice"],
"financial_projections": ["financial_projections"],
"tax_advice": ["tax_advice"],
"retirement_planning": ["retirement_planning"],
"default": ["general"]
},
"position": "footer",
"created_at": "2025-03-11T16:00:00Z",
"updated_at": "2025-03-11T16:00:00Z"
},
"message": "Disclaimer configuration updated successfully"
}
Regulatory Compliance Considerations
When implementing financial compliance features, consider these regulatory guidelines:
- FINRA Rule 2210 - Communications with the Public: Requires all communications to be fair, balanced, and not misleading
- FINRA Rule 3110 - Supervision: Requires firms to establish and maintain a system to supervise activities
- SEC Rule 10b-5 - Anti-Fraud Provisions: Prohibits fraud or deceit in connection with securities
- Regulation S-P - Privacy of Consumer Financial Information: Requires safeguarding personal information
- DOL Fiduciary Rule - Requires acting in the best interest of clients for retirement advice
- GLBA - Gramm-Leach-Bliley Act: Requires disclosure of data-sharing practices and protection of sensitive data
Error Responses
Compliance Check Failed
{
"success": false,
"error": {
"code": "compliance_check_failed",
"message": "The compliance check could not be completed",
"details": {
"reason": "Service unavailable"
}
}
}
Invalid Compliance Configuration
{
"success": false,
"error": {
"code": "validation_error",
"message": "The provided compliance configuration is invalid",
"details": {
"disclaimer_templates.investment_advice": ["The disclaimer text is too short"]
}
}
}