Reports

Get the money-vs-outcomes report

Puts spend against results for a window (since/until compare inclusively; both optional). Spend has two parts. (1) Settled credit debits from the workspace ledger, grouped by reason; in-flight reservations are excluded until they settle, credits used while Emailchaser had made the workspace's credits free are not spend and are excluded, and credits are valued at the current list price of one credit, the same per-credit price a top-up is quoted at before volume discounts, regardless of what was actually paid for them via bulk discounts or plan allowances. (2) Done-for-you order costs from each order's stored cost breakdown; orders are counted by creation time, and failed or canceled orders are excluded because their charges are unwound. Subscription (platform) fees are NOT included: the backend stores only the current subscription state, not per-window invoice history, so they cannot be attributed to a window honestly. Outcomes are sent emails, replied leads, positively-replied (interested) leads and leads marked meeting-booked in the window. costPerReply, costPerPositive and costPerMeeting divide total spend by each outcome count and are null when that count is zero. The optional campaignId narrows the OUTCOME side only - credit and order spend is workspace-level and cannot be attributed to one campaign - so per-campaign cost figures are partial attribution, not a true campaign cost.

get/reports/outcomes

Request

  • Base URL: https://api.emailchaser.com/r
  • URL: https://api.emailchaser.com/r/reports/outcomes
  • Auth: HTTP bearer

Query parameters

sincestring

Window start, RFC3339 or YYYY-MM-DD (inclusive)

untilstring

Window end, RFC3339 or YYYY-MM-DD (inclusive; a bare date means midnight UTC at the start of that day)

campaignIdinteger

Narrow the outcome side to one campaign (partial attribution; spend stays workspace-level)

Response

The report

campaignIdinteger

CampaignID echoes the campaign filter when one was given. Only the outcome side is narrowed by it; spend stays workspace-level.

costPerMeetingnumber

CostPerMeeting is total spend divided by meetings, null when there are none.

costPerPositivenumber

CostPerPositive is total spend divided by positive replies, null when there are none.

costPerReplynumber

CostPerReply is total spend divided by replies, null when there are none.

sincestring

Since echoes the window start, or null when the window is open-ended.

untilstring

Until echoes the window end, or null when the window is open-ended.

Example response

{
  "campaignId": 12,
  "costPerMeeting": 11.48,
  "costPerPositive": 4.59,
  "costPerReply": 1.91,
  "outcomes": {
    "meetings": 2,
    "positiveReplies": 5,
    "replies": 12,
    "sent": 400
  },
  "since": "2026-07-01T00:00:00Z",
  "spend": {
    "credits": 120,
    "creditsByReason": [
      {
        "credits": 120,
        "reason": "prospect_reveal"
      }
    ],
    "creditsUsd": 3.96,
    "dfyOrders": 1,
    "dfyOrdersUsd": 18.99,
    "totalUsd": 22.95
  },
  "until": "2026-07-31T00:00:00Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.