Campaigns

Create a campaign

subscriberListId and segmentId (if given) must belong to this same project - a valid ID from a different project 404s. Status "scheduled" requires a valid, parseable scheduledTo (a 400 otherwise), plus the project having usable sending credentials and enough account credit for the recipient count; missing any of these fails the whole create with a 400/405 rather than creating a draft.

post/v1/projectId/{projectId}/campaigns

Request

  • Base URL: https://api.bluefox.email
  • URL: https://api.bluefox.email/v1/projectId/{projectId}/campaigns
  • Auth: HTTP bearer

Path parameters

projectIdstring required

The project _id, found in the app under Project Settings.

Request body

namestring required
subjectstring required
previewTextstring

Optional, but meaningfully affects open rates - if the user hasn't given you one, ask what they'd like it to say rather than leaving it blank.

timeZonestring required

IANA time zone, e.g. "America/New_York". Stored with the campaign and shown next to the scheduled time in the app; it does not shift scheduledTo, which must be an absolute instant.

subscriberListIdstring required

Required. If the user hasn't told you which list to send to, call GET /v1/projectId/{projectId}/subscriber-lists first and ask them to choose from the real list names - don't ask them for a raw ID.

segmentIdstring

Optional - narrows the subscriberListId down further. If the user mentions targeting a specific segment by name but doesn't give an ID, call GET /v1/projectId/{projectId}/segments first and ask them to choose from the real names.

status'draft' | 'archive' | 'scheduled'

Set to "scheduled" together with a valid scheduledTo to schedule sending. Status "scheduled" without a parseable scheduledTo is rejected with a 400.

scheduledTostring date-time

Absolute ISO 8601 date-time (with a UTC offset or trailing "Z"). Required when status is "scheduled".

excludeUnengagedboolean
webVersionEnabledboolean

Turns on the public web version ("view in browser" page) of the campaign. Defaults to false. The page only works while this is true and the status is "sent" or "archive".

senderIdentitystring

A sender identity _id. If the user hasn't told you which one to use, call GET /v1/projectId/{projectId}/sender-identities first and ask them to choose from the real email addresses returned - don't ask them for a raw ID.

replyTostring
type'html' | 'text'

Omit to keep using the visual (Chamaileon) editor document. Set to "html" or "text" to author document as a raw Handlebars template string instead (see the document field).

documentunknown

Response

Created

statusinteger

Example response

{
  "status": 200
}

Changes

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