Stats
Campaign stats
Returns daily and aggregate campaign stats. When start_date and end_date are omitted, Furnace defaults the range to campaign creation date through today.
GET
/v1/campaigns/{id}/statsAuthorization
bearerAuth AuthorizationBearer <token>
Use an account API key in the Authorization header: Authorization: Bearer f_....
In: header
Path Parameters
idstring
Campaign id.
Format
uuidQuery Parameters
start_date?string
Inclusive start date in YYYY-MM-DD format.
Format
dateend_date?string
Inclusive end date in YYYY-MM-DD format.
Format
datecurl -X GET "https://example.com/v1/campaigns/497f6eca-6276-4993-bfeb-53cbbbba6f08/stats"{ "data": { "daily": [ { "date": "2026-05-20", "sent": 15, "replied": 3, "positiveReply": 1, "bounce": 0 } ], "totals": { "sentCount": 15, "repliedCount": 3, "positiveReplyCount": 1, "bounceCount": 0, "lastBounceAt": null, "enrollmentCount": 42, "terminalEnrollmentCount": 9, "contactedEnrollmentCount": 12 } }}{ "error": { "type": "authentication_error", "code": "invalid_api_key", "message": "A valid Furnace API key is required" }}{ "error": { "type": "invalid_request_error", "code": "campaign_not_found", "message": "Campaign not found" }}{ "error": { "type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded for this account" }}{ "error": { "type": "api_error", "code": "internal_error", "message": "Internal server error" }}