Ferrule

CallRail

32 tools OpenAPI spec ↗

MCPREST
GETlist_accounts/accounts

List all accounts scoped to the provided API key

Request

Query Parameters

NameTypeRequiredDescription
hipaa_accountbooleanNoFilter by HIPAA account status (true or false).
sortstringNoSort field. Valid values: name
orderstringNoSort order (asc or desc).
fieldsarrayNoAdditional response fields to include (e.g. numeric_id).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
accountsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_accounts"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_accounts",
      "params": {}
    }
  }
}
GETget_account/accounts/:account_id

Retrieve a single account by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
fieldsarrayNoAdditional response fields to include (e.g. numeric_id).

Response

idstring
namestring
outbound_recording_enabledboolean
hipaa_accountboolean

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_account"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_account",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETlist_calls/accounts/:account_id/calls

List all calls in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoIf provided, only return calls to tracking numbers belonging to this company.
tracker_idstringNoIf provided, only return calls to this specific tracking number.
call_typestringNoFilter by call type: first_call, missed, voicemails, inbound, or outbound.
answer_statusstringNoFilter by answer status: answered, missed, or voicemail.
devicestringNoFilter by device type: desktop or mobile.
directionstringNoFilter by call direction: inbound or outbound.
lead_statusstringNoFilter by lead status: good_lead, not_a_lead, or not_scored.
tagsarrayNoFilter by tag IDs. Returns calls tagged with any of the given tags.
sortstringNoSort 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.
orderstringNoSort order (asc or desc).
searchstringNoSearch across: business_phone_number, customer_name, customer_number, note, source, tracking_phone_number.
fieldsarrayNoAdditional response fields to include (e.g. utm_source, utm_medium, campaign).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
callsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_calls"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_calls",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_call/accounts/:account_id/calls/:call_id

Retrieve a single call by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
call_idstringYesThe ID of the call

Query Parameters

NameTypeRequiredDescription
fieldsarrayNoAdditional response fields to include (e.g. utm_source, utm_medium, campaign).

Response

answeredboolean
business_phone_numberobject
customer_citystring
customer_countrystring
customer_namestring
customer_phone_numberstring
customer_statestring
directionstring
durationnumber
idstring
recordingstring
recording_durationstring
recording_playerstring
start_timestring
tracking_phone_numberstring
voicemailboolean
agent_emailstring

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_call"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_call",
      "params": {
        "account_id": "<account_id>",
        "call_id": "<call_id>"
      }
    }
  }
}
GETsummarize_call_data/accounts/:account_id/calls/summary

Summarize call data with optional grouping and filtering by various criteria

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoIf provided, show results for calls to a single Company.
group_bystringNoGroup 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.
fieldsstringNoComma-separated list of data fields to return: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, total_duration, leads.
devicestringNoShow results for a specific device type. One of desktop, mobile, or tablet.
min_durationnumberNoOnly include summary data for calls over the specified duration (in seconds).
max_durationnumberNoOnly include summary data for calls under the specified duration (in seconds).
tagsstringNoOnly return calls that have had the given tag applied. Comma-separated list of tag IDs.
tracker_idsstringNoOnly return calls made to specific Trackers. Comma-separated list of Tracker IDs.
directionstringNoShow results for a specific call direction. One of inbound, outbound.
answer_statusstringNoShow results for a specific answer status. One of answered, missed, voicemail.
first_time_callersbooleanNoIf true, show results for first time callers only. If false, show non-first-time callers.
lead_statusstringNoFilter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.
agentnumberNoUser ID of an agent. If provided, show results for calls to a specific Agent.

Response

start_datestring
end_datestring
time_zonestring
total_resultsobject
grouped_bystring
grouped_resultsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "summarize_call_data"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "summarize_call_data",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETsummarize_call_data_by_time_series/accounts/:account_id/calls/timeseries

Summarize call data grouped by time intervals with optional filtering

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoIf provided, show results for calls to a single Company.
fieldsstringNoComma-separated list of data fields to return: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, total_duration, leads.
devicestringNoShow results for a specific device type. One of desktop, mobile, or tablet.
intervalstringNoTime interval to group response data. One of hour, day, week, month.
min_durationnumberNoOnly include time series data for calls over the specified duration (in seconds).
max_durationnumberNoOnly include time series data for calls under the specified duration (in seconds).
tagsstringNoOnly return calls that have had the given tag applied. Comma-separated list of tag IDs.
tracker_idsstringNoOnly return calls made to specific Trackers. Comma-separated list of Tracker IDs.
directionstringNoShow results for a specific call direction. One of inbound, outbound.
answer_statusstringNoShow results for a specific answer status. One of answered, missed, voicemail.
first_time_callersbooleanNoIf true, show results for first time callers only. If false, show non-first-time callers.
lead_statusstringNoFilter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.
agentnumberNoUser ID of an agent. If provided, show results for calls to a specific Agent.

Response

start_datestring
end_datestring
time_zonestring
total_resultsobject
dataarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "summarize_call_data_by_time_series"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "summarize_call_data_by_time_series",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_call_recording/accounts/:account_id/calls/:call_id/recording

Retrieve the recording for a single call

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
call_idstringYesThe ID of the call

Response

urlstring

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_call_recording"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_call_recording",
      "params": {
        "account_id": "<account_id>",
        "call_id": "<call_id>"
      }
    }
  }
}
GETget_tags/accounts/:account_id/tags

Retrieve all tags for an account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoIf provided, only return tags belonging to this company.
statusstringNoIf provided, only return tags that are enabled or disabled.
tag_levelstringNoIf provided, only return tags at the specified level (company or account).
sortstringNoSort field. Valid values: name.
orderstringNoSort order (asc or desc).

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
tagsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_tags"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_tags",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETlist_companies/accounts/:account_id/companies

List all companies in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
sortstringNoSort field. Valid values: name.
orderstringNoSort order (asc or desc).
searchstringNoSearch across: name.
fieldsarrayNoAdditional response fields to include (e.g. verified_caller_ids).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
companiesarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_companies"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_companies",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_company/accounts/:account_id/companies/:company_id

Retrieve a single company by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
company_idstringYesThe ID of the company

Query Parameters

NameTypeRequiredDescription
fieldsarrayNoAdditional response fields to include (e.g. verified_caller_ids).

Response

idstring
namestring
statusstring
time_zonestring
created_atstring
disabled_atobject
dni_activeboolean
script_urlstring
callscore_enabledboolean
lead_scoring_enabledboolean
swap_exclude_jqueryobject
swap_ppc_overrideobject
swap_landing_overrideobject
swap_cookie_durationnumber
swap_cookie_duration_unitstring
callscribe_enabledboolean
keyword_spotting_enabledboolean
form_captureboolean

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_company"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_company",
      "params": {
        "account_id": "<account_id>",
        "company_id": "<company_id>"
      }
    }
  }
}
GETlist_form_submissions/accounts/:account_id/form-submissions

List all form submissions in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoFilter by company ID.
person_leadstringNoSet to true to return only form submissions with an associated lead.
lead_statusstringNoFilter by lead status: good_lead, not_a_lead, or not_scored.
tagsarrayNoFilter by tag IDs. Returns forms tagged with any of the given tags.
sortstringNoSort field. Valid values: created_at, submitted_at, form_url.
orderstringNoSort order (asc or desc).
fieldsarrayNoAdditional response fields to include (e.g. utm_source, utm_medium, campaign).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
form_submissionsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_form_submissions"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_form_submissions",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETsummarize_form_data/accounts/:account_id/form-submissions/summary

Summarize form submission data with optional grouping and filtering

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoIf provided, show results for forms to a single Company.
group_bystringNoGroup form summary data by specific characteristic. One of source, keywords, campaign, referrer, landing_page, company.
fieldsstringNoComma-separated list of data fields to return: total_forms, first_time_forms, leads.
tagsstringNoOnly return forms that have had the given tag applied. Comma-separated list of tag IDs.
custom_form_idsstringNoOnly return forms made to specific custom forms. Comma-separated list of IDs.
form_URLstringNoThe URL the form was submitted to.
lead_statusstringNoFilter by Lead Status. One of good_lead, not_a_lead, previously_marked_good_lead.

Response

start_datestring
end_datestring
time_zonestring
total_resultsobject
grouped_bystring
grouped_resultsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "summarize_form_data"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "summarize_form_data",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETlist_integrations/accounts/:account_id/integrations

List all integrations in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoEnsures results contain integrations belonging to a single company.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
integrationsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_integrations"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_integrations",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_integration/accounts/:account_id/integrations/:integration_id

Retrieve a single integration by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
integration_idstringYesThe ID of the integration

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_integration"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_integration",
      "params": {
        "account_id": "<account_id>",
        "integration_id": "<integration_id>"
      }
    }
  }
}
GETlist_integration_filters/accounts/:account_id/integration-filters

List all integration filters in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoEnsures results contain integration filters belonging to a single company.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
integration_criteriaarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_integration_filters"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_integration_filters",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_integration_filter/accounts/:account_id/integration-filters/:integration_triggers_id

Retrieve a single integration filter by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
integration_triggers_idstringYesThe ID of the integration filter

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_integration_filter"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_integration_filter",
      "params": {
        "account_id": "<account_id>",
        "integration_triggers_id": "<integration_triggers_id>"
      }
    }
  }
}
GETlist_notifications/accounts/:account_id/notifications

List all notifications in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
notificationsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_notifications"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_notifications",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETlist_outbound_caller_ids/accounts/:account_id/caller-ids

List all outbound caller IDs in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoIf provided, only the caller IDs belonging to this company will be returned.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
caller_idsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_outbound_caller_ids"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_outbound_caller_ids",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_outbound_caller_id/accounts/:account_id/caller-ids/:caller_ids_id

Retrieve a single outbound caller ID by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
caller_ids_idstringYesThe ID of the outbound caller ID

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_outbound_caller_id"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_outbound_caller_id",
      "params": {
        "account_id": "<account_id>",
        "caller_ids_id": "<caller_ids_id>"
      }
    }
  }
}
GETget_page_views_for_a_call/accounts/:account_id/calls/:call_id/page-views

Retrieve all page views associated with a specific call

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
call_idstringYesThe ID of the call

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
page_viewsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_page_views_for_a_call"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_page_views_for_a_call",
      "params": {
        "account_id": "<account_id>",
        "call_id": "<call_id>"
      }
    }
  }
}
GETlist_sms_threads/accounts/:account_id/sms-threads

List all SMS threads in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoLimit response to threads belonging to a single company.
searchstringNoSearch threads by customer phone number, customer name, or tag name.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
sms_threadsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_sms_threads"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_sms_threads",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_sms_thread/accounts/:account_id/sms-threads/:thread_id

Retrieve a single SMS thread by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
thread_idstringYesThe ID of the SMS thread

Query Parameters

NameTypeRequiredDescription
with_msg_errorsbooleanNoIf true, includes error details for messages that failed.

Pagination

NameTypeRequiredDescription
pagenumberNoPage number to retrieve (default: 1).
per_pagenumberNoNumber of messages per page (default: 100, max: 100).

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
tagsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_sms_thread"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_sms_thread",
      "params": {
        "account_id": "<account_id>",
        "thread_id": "<thread_id>"
      }
    }
  }
}
GETlist_summary_email_subscriptions/accounts/:account_id/summary-emails

List all summary email subscriptions in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
frequencystringNoIf provided, only return summary email records configured for the specified frequency. Comma-separated list of: daily, weekly, monthly.
company_idstringNoIf provided, only return summary emails for this company.
user_idstringNoIf provided, only return summary email records for this user.
emailstringNoIf provided, only return summary email records for this email address.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
summary_emailsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_summary_email_subscriptions"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_summary_email_subscriptions",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_summary_email_subscription/accounts/:account_id/summary-emails/:summary_email_id

Retrieve a single summary email subscription by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
summary_email_idstringYesThe ID of the summary email subscription

Response

idstring
scopeobject
frequencyarray
configobject
userobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_summary_email_subscription"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_summary_email_subscription",
      "params": {
        "account_id": "<account_id>",
        "summary_email_id": "<summary_email_id>"
      }
    }
  }
}
GETlist_conversations/accounts/:account_id/conversations

List all text message conversations in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
date_rangestringNoFilter by date range: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, this_year, last_year, all_time.
start_datestringNoFilter starting from this date (ISO 8601, e.g. 2016-10-17). Must be used with end_date.
end_datestringNoFilter up to this date (ISO 8601, e.g. 2016-10-17). Must be used with start_date.
company_idstringNoLimit response to conversations belonging to a single company.
searchstringNoSearch across: customer_phone_number, customer_name.
fieldsarrayNoAdditional response fields to include (e.g. lead_status, source).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
conversationsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_conversations"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_conversations",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_text_conversation/accounts/:account_id/conversations/:conversation_id

Retrieve a single text message conversation by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
conversation_idstringYesThe ID of the conversation

Query Parameters

NameTypeRequiredDescription
fieldsarrayNoAdditional response fields to include (e.g. lead_status, source).

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_text_conversation"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_text_conversation",
      "params": {
        "account_id": "<account_id>",
        "conversation_id": "<conversation_id>"
      }
    }
  }
}
GETlist_message_flows/accounts/:account_id/message-flows

List all message flows in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoUnique identifier for the company that owns the message flows.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
message-flowsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_message_flows"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_message_flows",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_message_flow/accounts/:account_id/message-flows/:message_flow_id

Retrieve a single message flow by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
message_flow_idstringYesThe ID of the message flow

Response

idstring
namestring
updated_atstring
tracker_idsarray
initial_step_idstring
stepsobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_message_flow"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_message_flow",
      "params": {
        "account_id": "<account_id>",
        "message_flow_id": "<message_flow_id>"
      }
    }
  }
}
GETlist_trackers/accounts/:account_id/trackers

List all trackers (tracking numbers) in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoLimit response to trackers belonging to a single company.
sortstringNoSort field. Valid values: name.
orderstringNoSort order (asc or desc).
searchstringNoSearch across: name.
fieldsarrayNoAdditional response fields to include (e.g. campaign_name, swap_targets).

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
trackersarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_trackers"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_trackers",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_tracker/accounts/:account_id/trackers/:tracker_id

Retrieve a single tracker by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
tracker_idstringYesThe ID of the tracker

Query Parameters

NameTypeRequiredDescription
fieldsarrayNoAdditional response fields to include (e.g. campaign_name, swap_targets).

Response

idstring
namestring
typestring
statusstring
destination_numberstring
tracking_numbersarray
whisper_messagestring
sms_enabledboolean
sms_supportedboolean
companyobject
call_flowobject
sourceobject
created_atstring
disabled_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_tracker"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_tracker",
      "params": {
        "account_id": "<account_id>",
        "tracker_id": "<tracker_id>"
      }
    }
  }
}
GETlist_users/accounts/:account_id/users

List all users in the target account

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account

Query Parameters

NameTypeRequiredDescription
company_idstringNoLimit response to users belonging to a single company.
sortstringNoSort field. Valid values: email, created_at.
orderstringNoSort order (asc or desc).
searchstringNoSearch across: first_name, last_name, email.

Pagination

NameTypeRequiredDescription
pagestringNoPage number (default: 1)
per_pagestringNoResults per page (default: 25, max: 250)

Response

pagenumber
per_pagenumber
total_pagesnumber
total_recordsnumber
usersarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "list_users"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "list_users",
      "params": {
        "account_id": "<account_id>"
      }
    }
  }
}
GETget_user/accounts/:account_id/users/:user_id

Retrieve a single user by ID

Request

Path Parameters

NameTypeRequiredDescription
account_idstringYesThe ID of the account
user_idstringYesThe ID of the user

Response

emailstring
idstring
created_atstring
rolestring
first_namestring
last_namestring
namestring
companiesarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "callrail",
      "method": "get_user"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_callrail",
    "arguments": {
      "method": "get_user",
      "params": {
        "account_id": "<account_id>",
        "user_id": "<user_id>"
      }
    }
  }
}