{"openapi":"3.1.0","info":{"title":"Ferrule CallRail API","version":"1.0.0","description":"REST API for CallRail via the Ferrule gateway.","contact":{"name":"Ferrule","url":"https://ferrule.io"}},"servers":[{"url":"https://0.0.0.0:3000","description":"Ferrule gateway"}],"paths":{"/api/v1/callrail/accounts":{"get":{"operationId":"callrail.list_accounts","description":"List all accounts scoped to the provided API key","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"hipaa_account","schema":{"description":"Filter by HIPAA account status (true or false).","type":"boolean"}},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: name","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. numeric_id).","type":"array","items":{"anyOf":[{"type":"string","enum":["numeric_id"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"accounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"outbound_recording_enabled":{"type":"boolean"},"hipaa_account":{"type":"boolean"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}":{"get":{"operationId":"callrail.get_account","description":"Retrieve a single account by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. numeric_id).","type":"array","items":{"anyOf":[{"type":"string","enum":["numeric_id"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"outbound_recording_enabled":{"type":"boolean"},"hipaa_account":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls":{"get":{"operationId":"callrail.list_calls","description":"List all calls in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"If provided, only return calls to tracking numbers belonging to this company.","type":"string"}},{"in":"query","name":"tracker_id","schema":{"description":"If provided, only return calls to this specific tracking number.","type":"string"}},{"in":"query","name":"call_type","schema":{"description":"Filter by call type: first_call, missed, voicemails, inbound, or outbound.","type":"string"}},{"in":"query","name":"answer_status","schema":{"description":"Filter by answer status: answered, missed, or voicemail.","type":"string"}},{"in":"query","name":"device","schema":{"description":"Filter by device type: desktop or mobile.","type":"string"}},{"in":"query","name":"direction","schema":{"description":"Filter by call direction: inbound or outbound.","type":"string"}},{"in":"query","name":"lead_status","schema":{"description":"Filter by lead status: good_lead, not_a_lead, or not_scored.","type":"string"}},{"in":"query","name":"tags","schema":{"description":"Filter by tag IDs. Returns calls tagged with any of the given tags.","type":"array","items":{"type":"string"}}},{"in":"query","name":"sort","schema":{"description":"Sort field: customer_name, customer_phone_number, duration, start_time, source, customer_city, customer_country, landing_page_url, device_type, answered, first_call, source_name, lead_status, tags.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"search","schema":{"description":"Search across: business_phone_number, customer_name, customer_number, note, source, tracking_phone_number.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. utm_source, utm_medium, campaign).","type":"array","items":{"anyOf":[{"type":"string","enum":["agent_email","call_highlights","call_summary","call_type","campaign","company_id","company_name","company_time_zone","created_at","custom","device_type","fbclid","first_call","formatted_call_type","formatted_customer_location","formatted_business_phone_number","formatted_customer_name","formatted_customer_name_or_phone_number","formatted_customer_phone_number","formatted_duration","formatted_tracking_phone_number","formatted_tracking_source","formatted_value","ga","gclid","good_lead_call_id","good_lead_call_time","keypad_entries","keywords","keywords_spotted","landing_page_url","last_requested_url","lead_status","medium","milestones","msclkid","note","person_id","prior_calls","referrer_domain","referring_url","sentiment","session_uuid","source","source_name","speaker_percent","tags","timeline_url","total_calls","tracker_id","transcription","utm_campaign","utm_content","utm_medium","utm_source","utm_term","value","voice_assist_message","waveforms","zip_code","lead_score","lead_score_explanation"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"calls":{"type":"array","items":{"type":"object","properties":{"answered":{"type":"boolean"},"business_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}]},"customer_city":{"type":"string"},"customer_country":{"type":"string"},"customer_name":{"type":"string"},"customer_phone_number":{"type":"string"},"customer_state":{"type":"string"},"direction":{"type":"string"},"duration":{"type":"number"},"id":{"type":"string"},"recording":{"type":"string"},"recording_duration":{"type":"string"},"recording_player":{"type":"string"},"start_time":{"type":"string"},"tracking_phone_number":{"type":"string"},"voicemail":{"type":"boolean"},"agent_email":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls/{call_id}":{"get":{"operationId":"callrail.get_call","description":"Retrieve a single call by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"call_id","schema":{"type":"string","description":"The ID of the call"},"required":true,"description":"The ID of the call"},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. utm_source, utm_medium, campaign).","type":"array","items":{"anyOf":[{"type":"string","enum":["agent_email","call_highlights","call_summary","call_type","campaign","company_id","company_name","company_time_zone","created_at","custom","device_type","fbclid","first_call","formatted_call_type","formatted_customer_location","formatted_business_phone_number","formatted_customer_name","formatted_customer_name_or_phone_number","formatted_customer_phone_number","formatted_duration","formatted_tracking_phone_number","formatted_tracking_source","formatted_value","ga","gclid","good_lead_call_id","good_lead_call_time","keypad_entries","keywords","keywords_spotted","landing_page_url","last_requested_url","lead_status","medium","milestones","msclkid","note","person_id","prior_calls","referrer_domain","referring_url","sentiment","session_uuid","source","source_name","speaker_percent","tags","timeline_url","total_calls","tracker_id","transcription","utm_campaign","utm_content","utm_medium","utm_source","utm_term","value","voice_assist_message","waveforms","zip_code","lead_score","lead_score_explanation"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"answered":{"type":"boolean"},"business_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}]},"customer_city":{"type":"string"},"customer_country":{"type":"string"},"customer_name":{"type":"string"},"customer_phone_number":{"type":"string"},"customer_state":{"type":"string"},"direction":{"type":"string"},"duration":{"type":"number"},"id":{"type":"string"},"recording":{"type":"string"},"recording_duration":{"type":"string"},"recording_player":{"type":"string"},"start_time":{"type":"string"},"tracking_phone_number":{"type":"string"},"voicemail":{"type":"boolean"},"agent_email":{"type":"string"}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls/summary":{"get":{"operationId":"callrail.summarize_call_data","description":"Summarize call data with optional grouping and filtering by various criteria","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"If provided, show results for calls to a single Company.","type":"string"}},{"in":"query","name":"group_by","schema":{"description":"Group call summary data by specific characteristic. One of source, keywords, campaign, referrer, landing_page, company, city, device, browser, os, call_type, answer_status, lead_status, tracker, ring_to_number, agent.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Comma-separated list of data fields to return: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, total_duration, leads.","type":"string"}},{"in":"query","name":"device","schema":{"description":"Show results for a specific device type. One of desktop, mobile, or tablet.","type":"string"}},{"in":"query","name":"min_duration","schema":{"description":"Only include summary data for calls over the specified duration (in seconds).","type":"number"}},{"in":"query","name":"max_duration","schema":{"description":"Only include summary data for calls under the specified duration (in seconds).","type":"number"}},{"in":"query","name":"tags","schema":{"description":"Only return calls that have had the given tag applied. Comma-separated list of tag IDs.","type":"string"}},{"in":"query","name":"tracker_ids","schema":{"description":"Only return calls made to specific Trackers. Comma-separated list of Tracker IDs.","type":"string"}},{"in":"query","name":"direction","schema":{"description":"Show results for a specific call direction. One of inbound, outbound.","type":"string"}},{"in":"query","name":"answer_status","schema":{"description":"Show results for a specific answer status. One of answered, missed, voicemail.","type":"string"}},{"in":"query","name":"first_time_callers","schema":{"description":"If true, show results for first time callers only. If false, show non-first-time callers.","type":"boolean"}},{"in":"query","name":"lead_status","schema":{"description":"Filter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.","type":"string"}},{"in":"query","name":"agent","schema":{"description":"User ID of an agent. If provided, show results for calls to a specific Agent.","type":"number"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"start_date":{"type":"string"},"end_date":{"type":"string"},"time_zone":{"type":"string"},"total_results":{"type":"object","properties":{"total_calls":{"type":"number"}},"additionalProperties":{}},"grouped_by":{"type":"string"},"grouped_results":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"total_calls":{"type":"number"},"missed_calls":{"type":"number"},"answered_calls":{"type":"number"},"first_time_callers":{"type":"number"},"average_duration":{"type":"number"},"formatted_average_duration":{"type":"string"},"leads":{"type":"number"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls/timeseries":{"get":{"operationId":"callrail.summarize_call_data_by_time_series","description":"Summarize call data grouped by time intervals with optional filtering","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"If provided, show results for calls to a single Company.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Comma-separated list of data fields to return: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, total_duration, leads.","type":"string"}},{"in":"query","name":"device","schema":{"description":"Show results for a specific device type. One of desktop, mobile, or tablet.","type":"string"}},{"in":"query","name":"interval","schema":{"description":"Time interval to group response data. One of hour, day, week, month.","type":"string"}},{"in":"query","name":"min_duration","schema":{"description":"Only include time series data for calls over the specified duration (in seconds).","type":"number"}},{"in":"query","name":"max_duration","schema":{"description":"Only include time series data for calls under the specified duration (in seconds).","type":"number"}},{"in":"query","name":"tags","schema":{"description":"Only return calls that have had the given tag applied. Comma-separated list of tag IDs.","type":"string"}},{"in":"query","name":"tracker_ids","schema":{"description":"Only return calls made to specific Trackers. Comma-separated list of Tracker IDs.","type":"string"}},{"in":"query","name":"direction","schema":{"description":"Show results for a specific call direction. One of inbound, outbound.","type":"string"}},{"in":"query","name":"answer_status","schema":{"description":"Show results for a specific answer status. One of answered, missed, voicemail.","type":"string"}},{"in":"query","name":"first_time_callers","schema":{"description":"If true, show results for first time callers only. If false, show non-first-time callers.","type":"boolean"}},{"in":"query","name":"lead_status","schema":{"description":"Filter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.","type":"string"}},{"in":"query","name":"agent","schema":{"description":"User ID of an agent. If provided, show results for calls to a specific Agent.","type":"number"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"start_date":{"type":"string"},"end_date":{"type":"string"},"time_zone":{"type":"string"},"total_results":{"type":"object","properties":{"total_calls":{"type":"number"},"missed_calls":{"type":"number"},"answered_calls":{"type":"number"},"first_time_callers":{"type":"number"},"average_duration":{"type":"number"},"formatted_average_duration":{"type":"string"},"leads":{"type":"number"}},"additionalProperties":{}},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"total_calls":{"type":"number"},"missed_calls":{"type":"number"},"answered_calls":{"type":"number"},"first_time_callers":{"type":"number"},"average_duration":{"type":"number"},"formatted_average_duration":{"type":"string"},"leads":{"type":"number"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls/{call_id}/recording":{"get":{"operationId":"callrail.get_call_recording","description":"Retrieve the recording for a single call","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"call_id","schema":{"type":"string","description":"The ID of the call"},"required":true,"description":"The ID of the call"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/tags":{"get":{"operationId":"callrail.get_tags","description":"Retrieve all tags for an account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"company_id","schema":{"description":"If provided, only return tags belonging to this company.","type":"string"}},{"in":"query","name":"status","schema":{"description":"If provided, only return tags that are enabled or disabled.","type":"string"}},{"in":"query","name":"tag_level","schema":{"description":"If provided, only return tags at the specified level (company or account).","type":"string"}},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: name.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"tag_level":{"type":"string"},"color":{"type":"string"},"background_color":{"type":"string"},"company_id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/companies":{"get":{"operationId":"callrail.list_companies","description":"List all companies in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: name.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"search","schema":{"description":"Search across: name.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. verified_caller_ids).","type":"array","items":{"anyOf":[{"type":"string","enum":["verified_caller_ids"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"companies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"time_zone":{"type":"string"},"created_at":{"type":"string"},"disabled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"dni_active":{"type":"boolean"},"script_url":{"type":"string"},"callscribe_enabled":{"type":"boolean"},"lead_scoring_enabled":{"type":"boolean"},"swap_exclude_jquery":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_ppc_override":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_landing_override":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_cookie_duration":{"type":"number"},"swap_cookie_duration_unit":{"type":"string"},"callscore_enabled":{"type":"boolean"},"keyword_spotting_enabled":{"type":"boolean"},"form_capture":{"type":"boolean"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/companies/{company_id}":{"get":{"operationId":"callrail.get_company","description":"Retrieve a single company by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"company_id","schema":{"type":"string","description":"The ID of the company"},"required":true,"description":"The ID of the company"},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. verified_caller_ids).","type":"array","items":{"anyOf":[{"type":"string","enum":["verified_caller_ids"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"time_zone":{"type":"string"},"created_at":{"type":"string"},"disabled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"dni_active":{"type":"boolean"},"script_url":{"type":"string"},"callscore_enabled":{"type":"boolean"},"lead_scoring_enabled":{"type":"boolean"},"swap_exclude_jquery":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_ppc_override":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_landing_override":{"anyOf":[{"type":"string"},{"type":"null"}]},"swap_cookie_duration":{"type":"number"},"swap_cookie_duration_unit":{"type":"string"},"callscribe_enabled":{"type":"boolean"},"keyword_spotting_enabled":{"type":"boolean"},"form_capture":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/form-submissions":{"get":{"operationId":"callrail.list_form_submissions","description":"List all form submissions in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"Filter by company ID.","type":"string"}},{"in":"query","name":"person_lead","schema":{"description":"Set to true to return only form submissions with an associated lead.","type":"string"}},{"in":"query","name":"lead_status","schema":{"description":"Filter by lead status: good_lead, not_a_lead, or not_scored.","type":"string"}},{"in":"query","name":"tags","schema":{"description":"Filter by tag IDs. Returns forms tagged with any of the given tags.","type":"array","items":{"type":"string"}}},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: created_at, submitted_at, form_url.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. utm_source, utm_medium, campaign).","type":"array","items":{"anyOf":[{"type":"string","enum":["company_name","lead_status","value","note","tags","utm_source","utm_medium","utm_campaign","form_name","timeline_url","milestones"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"form_submissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"company_id":{"type":"string"},"person_id":{"type":"string"},"form_data":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"contact_method":{"type":"string"},"best_time_to_call":{"type":"string"}},"additionalProperties":{}},"form_url":{"type":"string"},"landing_page_url":{"type":"string"},"referrer":{"type":"string"},"referring_url":{"type":"string"},"submitted_at":{"type":"string"},"first_form":{"type":"boolean"},"customer_phone_number":{"type":"string"},"customer_name":{"type":"string"},"customer_email":{"type":"string"},"formatted_customer_phone_number":{"type":"string"},"formatted_customer_name":{"type":"string"},"source":{"type":"string"},"keywords":{"type":"string"},"campaign":{"type":"string"},"medium":{"type":"string"},"milestones":{"type":"object","properties":{"first_touch":{"type":"object","properties":{"event_date":{"type":"string"},"ad_position":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign":{"type":"string"},"device":{"type":"string"},"keywords":{"type":"string"},"landing":{"type":"string"},"landing_page_url_params":{"type":"object","properties":{"campaign":{"type":"string"},"keywords":{"type":"string"},"gclid":{"type":"string"}},"additionalProperties":{}},"match_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"medium":{"type":"string"},"referrer":{"type":"string"},"referrer_url_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"session_browser":{"type":"string"},"url_utm_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"source":{"type":"string"}},"additionalProperties":{}},"lead_created":{"type":"object","properties":{"event_date":{"type":"string"},"ad_position":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign":{"type":"string"},"device":{"type":"string"},"keywords":{"type":"string"},"landing":{"type":"string"},"landing_page_url_params":{"type":"object","properties":{"campaign":{"type":"string"},"keywords":{"type":"string"},"gclid":{"type":"string"}},"additionalProperties":{}},"match_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"medium":{"type":"string"},"referrer":{"type":"string"},"referrer_url_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"session_browser":{"type":"string"},"url_utm_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"source":{"type":"string"}},"additionalProperties":{}},"qualified":{"type":"object","properties":{"event_date":{"type":"string"},"ad_position":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign":{"type":"string"},"device":{"type":"string"},"keywords":{"type":"string"},"landing":{"type":"string"},"landing_page_url_params":{"type":"object","properties":{"campaign":{"type":"string"},"keywords":{"type":"string"},"gclid":{"type":"string"}},"additionalProperties":{}},"match_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"medium":{"type":"string"},"referrer":{"type":"string"},"referrer_url_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"session_browser":{"type":"string"},"url_utm_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"source":{"type":"string"}},"additionalProperties":{}},"last_touch":{"type":"object","properties":{"event_date":{"type":"string"},"ad_position":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign":{"anyOf":[{"type":"string"},{"type":"null"}]},"device":{"type":"string"},"keywords":{"anyOf":[{"type":"string"},{"type":"null"}]},"landing":{"type":"string"},"landing_page_url_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"match_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"medium":{"type":"string"},"referrer":{"type":"string"},"referrer_url_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"session_browser":{"type":"string"},"url_utm_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"source":{"type":"string"}},"additionalProperties":{}}},"additionalProperties":{}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/form-submissions/summary":{"get":{"operationId":"callrail.summarize_form_data","description":"Summarize form submission data with optional grouping and filtering","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"If provided, show results for forms to a single Company.","type":"string"}},{"in":"query","name":"group_by","schema":{"description":"Group form summary data by specific characteristic. One of source, keywords, campaign, referrer, landing_page, company.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Comma-separated list of data fields to return: total_forms, first_time_forms, leads.","type":"string"}},{"in":"query","name":"tags","schema":{"description":"Only return forms that have had the given tag applied. Comma-separated list of tag IDs.","type":"string"}},{"in":"query","name":"custom_form_ids","schema":{"description":"Only return forms made to specific custom forms. Comma-separated list of IDs.","type":"string"}},{"in":"query","name":"form_URL","schema":{"description":"The URL the form was submitted to.","type":"string"}},{"in":"query","name":"lead_status","schema":{"description":"Filter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"start_date":{"type":"string"},"end_date":{"type":"string"},"time_zone":{"type":"string"},"total_results":{"type":"object","properties":{"total_forms":{"type":"number"},"first_forms":{"type":"number"},"leads":{"type":"number"}},"additionalProperties":{}},"grouped_by":{"type":"string"},"grouped_results":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"total_forms":{"type":"number"},"first_forms":{"type":"number"},"leads":{"type":"number"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/integrations":{"get":{"operationId":"callrail.list_integrations","description":"List all integrations in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"Ensures results contain integrations belonging to a single company.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"integrations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"config":{"type":"object","properties":{"api_key":{"type":"string"}},"additionalProperties":{}},"state":{"type":"string"},"type":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/integrations/{integration_id}":{"get":{"operationId":"callrail.get_integration","description":"Retrieve a single integration by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"integration_id","schema":{"type":"string","description":"The ID of the integration"},"required":true,"description":"The ID of the integration"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/integration-filters":{"get":{"operationId":"callrail.list_integration_filters","description":"List all integration filters in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"Ensures results contain integration filters belonging to a single company.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"integration_criteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"company_id":{"type":"string"},"integration_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracker_ids":{"type":"array","items":{"type":"string"}},"call_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"min_duration":{"anyOf":[{"type":"string"},{"type":"null"}]},"max_duration":{"anyOf":[{"type":"string"},{"type":"null"}]},"lead_status":{"type":"number"},"integration":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"type":"string"}},"additionalProperties":{}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/integration-filters/{integration_triggers_id}":{"get":{"operationId":"callrail.get_integration_filter","description":"Retrieve a single integration filter by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"integration_triggers_id","schema":{"type":"string","description":"The ID of the integration filter"},"required":true,"description":"The ID of the integration filter"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/notifications":{"get":{"operationId":"callrail.list_notifications","description":"List all notifications in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"notifications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"user_id":{"type":"string"},"alert_type":{"type":"string"},"call_enabled":{"type":"boolean"},"company_id":{"type":"string"},"name":{"type":"string"},"send_desktop":{"type":"boolean"},"send_email":{"type":"boolean"},"send_push":{"type":"boolean"},"sms_enabled":{"type":"boolean"},"tracker_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/caller-ids":{"get":{"operationId":"callrail.list_outbound_caller_ids","description":"List all outbound caller IDs in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"If provided, only the caller IDs belonging to this company will be returned.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"caller_ids":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"phone_number":{"type":"string"},"name":{"type":"string"},"verified":{"type":"boolean"},"created_at":{"type":"string"},"validation_code":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/caller-ids/{caller_ids_id}":{"get":{"operationId":"callrail.get_outbound_caller_id","description":"Retrieve a single outbound caller ID by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"caller_ids_id","schema":{"type":"string","description":"The ID of the outbound caller ID"},"required":true,"description":"The ID of the outbound caller ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/calls/{call_id}/page-views":{"get":{"operationId":"callrail.get_page_views_for_a_call","description":"Retrieve all page views associated with a specific call","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"call_id","schema":{"type":"string","description":"The ID of the call"},"required":true,"description":"The ID of the call"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"page_views":{"type":"array","items":{"type":"object","properties":{"referrer_url":{"type":"string"},"page_url":{"type":"string"},"created_at":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/sms-threads":{"get":{"operationId":"callrail.list_sms_threads","description":"List all SMS threads in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"Limit response to threads belonging to a single company.","type":"string"}},{"in":"query","name":"search","schema":{"description":"Search threads by customer phone number, customer name, or tag name.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"sms_threads":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"value":{"type":"number"},"lead_qualification":{"type":"string"},"company_id":{"type":"string"},"initial_tracker_id":{"type":"string"},"current_tracker_id":{"type":"string"},"customer_name":{"type":"string"},"customer_phone_number":{"type":"string"},"initial_tracking_number":{"type":"string"},"current_tracking_number":{"type":"string"},"state":{"type":"string"},"company_time_zone":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/sms-threads/{thread_id}":{"get":{"operationId":"callrail.get_sms_thread","description":"Retrieve a single SMS thread by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"thread_id","schema":{"type":"string","description":"The ID of the SMS thread"},"required":true,"description":"The ID of the SMS thread"},{"in":"query","name":"page","schema":{"description":"Page number to retrieve (default: 1).","type":"number"}},{"in":"query","name":"per_page","schema":{"description":"Number of messages per page (default: 100, max: 100).","type":"number"}},{"in":"query","name":"with_msg_errors","schema":{"description":"If true, includes error details for messages that failed.","type":"boolean"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/summary-emails":{"get":{"operationId":"callrail.list_summary_email_subscriptions","description":"List all summary email subscriptions in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"frequency","schema":{"description":"If provided, only return summary email records configured for the specified frequency. Comma-separated list of: daily, weekly, monthly.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"If provided, only return summary emails for this company.","type":"string"}},{"in":"query","name":"user_id","schema":{"description":"If provided, only return summary email records for this user.","type":"string"}},{"in":"query","name":"email","schema":{"description":"If provided, only return summary email records for this email address.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"summary_emails":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}},"frequency":{"type":"array","items":{"type":"string"}},"config":{"type":"object","properties":{"summary_statistics":{"type":"boolean"},"top_sources":{"type":"boolean"},"top_keywords":{"type":"boolean"},"call_log":{"type":"boolean"}},"additionalProperties":{}},"user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"additionalProperties":{}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/summary-emails/{summary_email_id}":{"get":{"operationId":"callrail.get_summary_email_subscription","description":"Retrieve a single summary email subscription by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"summary_email_id","schema":{"type":"string","description":"The ID of the summary email subscription"},"required":true,"description":"The ID of the summary email subscription"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"scope":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}},"frequency":{"type":"array","items":{"type":"string"}},"config":{"type":"object","properties":{"summary_statistics":{"type":"boolean"},"top_sources":{"type":"boolean"},"top_keywords":{"type":"boolean"},"call_log":{"type":"boolean"}},"additionalProperties":{}},"user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"additionalProperties":{}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/conversations":{"get":{"operationId":"callrail.list_conversations","description":"List all text message conversations in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"date_range","schema":{"description":"Filter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.","type":"string"}},{"in":"query","name":"start_date","schema":{"description":"Filter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.","type":"string"}},{"in":"query","name":"end_date","schema":{"description":"Filter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.","type":"string"}},{"in":"query","name":"company_id","schema":{"description":"Limit response to conversations belonging to a single company.","type":"string"}},{"in":"query","name":"search","schema":{"description":"Search across: customer_phone_number, customer_name.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. lead_status, source).","type":"array","items":{"anyOf":[{"type":"string","enum":["lead_status","source"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"conversations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"company_id":{"type":"string"},"initial_tracker_id":{"type":"string"},"current_tracker_id":{"type":"string"},"customer_name":{"type":"string"},"customer_phone_number":{"type":"string"},"initial_tracking_number":{"type":"string"},"current_tracking_number":{"type":"string"},"last_message_at":{"type":"string"},"state":{"type":"string"},"company_time_zone":{"type":"string"},"formatted_customer_phone_number":{"type":"string"},"formatted_initial_tracking_number":{"type":"string"},"formatted_current_tracking_number":{"type":"string"},"formatted_customer_name":{"type":"string"},"recent_messages":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"content":{"type":"string"},"created_at":{"type":"string"},"type":{"type":"string"},"media_urls":{"type":"array","items":{"type":"string"}}},"additionalProperties":{}}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/conversations/{conversation_id}":{"get":{"operationId":"callrail.get_text_conversation","description":"Retrieve a single text message conversation by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"conversation_id","schema":{"type":"string","description":"The ID of the conversation"},"required":true,"description":"The ID of the conversation"},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. lead_status, source).","type":"array","items":{"anyOf":[{"type":"string","enum":["lead_status","source"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/message-flows":{"get":{"operationId":"callrail.list_message_flows","description":"List all message flows in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"Unique identifier for the company that owns the message flows.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"message-flows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"},"tracker_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/message-flows/{message_flow_id}":{"get":{"operationId":"callrail.get_message_flow","description":"Retrieve a single message flow by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"message_flow_id","schema":{"type":"string","description":"The ID of the message flow"},"required":true,"description":"The ID of the message flow"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"},"tracker_ids":{"type":"array","items":{"type":"string"}},"initial_step_id":{"type":"string"},"steps":{"type":"object","properties":{"MFS6fa29e4c8b1347fcbf2e8d9731b7061d":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"initial_step":{"type":"boolean"},"next_step_id":{"type":"string"},"branches":{"type":"array","items":{"type":"object","properties":{"times":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string"},"end_time":{"type":"string"},"start_time":{"type":"string"}},"additionalProperties":{}}},"next_step_id":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}},"MFS0dcb13a29ae64f14a8c9eaf4e932b5d7":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"initial_step":{"type":"boolean"},"next_step_id":{"type":"string"},"message":{"type":"string"},"first_text":{"type":"boolean"}},"additionalProperties":{}},"MFSab81c45d290947e1b6ec18f0cd3a9b23":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"initial_step":{"type":"boolean"},"next_step_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"tag_ids":{"type":"array","items":{"type":"number"}}},"additionalProperties":{}}},"additionalProperties":{}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/trackers":{"get":{"operationId":"callrail.list_trackers","description":"List all trackers (tracking numbers) in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"Limit response to trackers belonging to a single company.","type":"string"}},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: name.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"search","schema":{"description":"Search across: name.","type":"string"}},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. campaign_name, swap_targets).","type":"array","items":{"anyOf":[{"type":"string","enum":["campaign_name","swap_targets"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"trackers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"destination_number":{"type":"string"},"tracking_numbers":{"type":"array","items":{"type":"string"}},"whisper_message":{"anyOf":[{"type":"string"},{"type":"null"}]},"sms_enabled":{"type":"boolean"},"sms_supported":{"type":"boolean"},"company":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}},"call_flow":{"type":"object","properties":{"type":{"type":"string"},"recording_enabled":{"type":"boolean"},"destination_number":{"type":"string"},"greeting_text":{"type":"string"}},"additionalProperties":{}},"source":{"type":"object","properties":{"type":{"type":"string"},"search_engine":{"type":"string"},"search_type":{"type":"string"}},"additionalProperties":{}},"created_at":{"type":"string"},"disabled_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/trackers/{tracker_id}":{"get":{"operationId":"callrail.get_tracker","description":"Retrieve a single tracker by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"tracker_id","schema":{"type":"string","description":"The ID of the tracker"},"required":true,"description":"The ID of the tracker"},{"in":"query","name":"fields","schema":{"description":"Additional response fields to include (e.g. campaign_name, swap_targets).","type":"array","items":{"anyOf":[{"type":"string","enum":["campaign_name","swap_targets"]},{"type":"string"}]}}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"destination_number":{"type":"string"},"tracking_numbers":{"type":"array","items":{"type":"string"}},"whisper_message":{"type":"string"},"sms_enabled":{"type":"boolean"},"sms_supported":{"type":"boolean"},"company":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}},"call_flow":{"type":"object","properties":{"type":{"type":"string"},"recording_enabled":{"type":"boolean"},"destination_number":{"type":"string"},"greeting_text":{"type":"string"}},"additionalProperties":{}},"source":{"type":"object","properties":{"type":{"type":"string"},"search_engine":{"type":"string"},"search_type":{"type":"string"}},"additionalProperties":{}},"created_at":{"type":"string"},"disabled_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/users":{"get":{"operationId":"callrail.list_users","description":"List all users in the target account","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"query","name":"page","schema":{"description":"Page number (default: 1)","type":"string"},"description":"Page number (default: 1)"},{"in":"query","name":"per_page","schema":{"description":"Results per page (default: 25, max: 250)","type":"string"},"description":"Results per page (default: 25, max: 250)"},{"in":"query","name":"company_id","schema":{"description":"Limit response to users belonging to a single company.","type":"string"}},{"in":"query","name":"sort","schema":{"description":"Sort field. Valid values: email, created_at.","type":"string"}},{"in":"query","name":"order","schema":{"description":"Sort order (asc or desc).","type":"string","enum":["asc","desc"]}},{"in":"query","name":"search","schema":{"description":"Search across: first_name, last_name, email.","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"per_page":{"type":"number"},"total_pages":{"type":"number"},"total_records":{"type":"number"},"users":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"id":{"type":"string"},"created_at":{"type":"string"},"role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"name":{"type":"string"},"companies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/callrail/accounts/{account_id}/users/{user_id}":{"get":{"operationId":"callrail.get_user","description":"Retrieve a single user by ID","tags":["callrail"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account_id","schema":{"type":"string","description":"The ID of the account"},"required":true,"description":"The ID of the account"},{"in":"path","name":"user_id","schema":{"type":"string","description":"The ID of the user"},"required":true,"description":"The ID of the user"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"id":{"type":"string"},"created_at":{"type":"string"},"role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"name":{"type":"string"},"companies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{}}}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}}},"webhooks":{},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/oauth/authorize","tokenUrl":"/oauth/token","scopes":{}}}},"bearerApiKey":{"type":"http","scheme":"bearer","description":"API key authentication. Pass a Ferrule API key as a Bearer token."}}}}