Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

Quick StartWhat is Saasco?

Analytics

CRM

Email Marketing

getList Email CampaignsgetGet Email CampaignpostCreate Email CampaignputUpdate Email CampaignpostDuplicate Email CampaigndelDelete Email CampaignpostSend Email CampaignpostResume Sending Email CampaignpostStop Sending Email CampaignpostSend Test EmailgetCount Campaign EmailsgetGet Email Stats

Knowledge

Support

Projects

Campaigns

List Email Campaigns

Lists the project's campaigns with their messages, status, and send progress. Optionally narrow to one kind with type. This is unpaginated and returns every campaign in the project.

GET
/projects/{projectId}/email-campaigns

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project to list campaigns for.

Query Parameters

typestring

Return only campaigns of this kind: STANDARD for a one-off broadcast, AUTOMATION for a triggered send, AB_TEST for a split test. Omit for all three.

Value in: "STANDARD" | "AUTOMATION" | "AB_TEST"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://www.saasco.com/api/v2/projects/string/email-campaigns"
[
  {
    "id": "string",
    "createdAt": "string",
    "updatedAt": "string",
    "projectId": "string",
    "name": "string",
    "status": "DRAFT",
    "type": "STANDARD",
    "workflowId": "string",
    "workflowStepId": "string",
    "sentAt": "string",
    "contactListId": "string",
    "contactsFilterGroups": [],
    "lastSuccessContactId": "string",
    "lastSuccessContactCreatedAt": "string",
    "sendOrderByProperty": {
      "direction": "asc",
      "propertyKey": "string"
    },
    "abTestConfig": {
      "variable": "SUBJECT",
      "samplePercent": 20,
      "winnerMetric": "OPEN_RATE",
      "winnerWaitHours": 4,
      "winnerWaitUnit": "HOURS",
      "sendTimeDelayHours": 2,
      "sendTimeDelayUnit": "HOURS",
      "winnerMessageId": "string",
      "winnerSelectedAt": "string",
      "winnerRolloutAt": "string",
      "winnerWaitStartedAt": "string",
      "status": "AWAITING_SAMPLE",
      "samplePaginationEnd": 9007199254740991
    },
    "utmConfig": {
      "enabled": true,
      "params": {
        "campaign": "",
        "content": "",
        "medium": "",
        "source": "",
        "term": ""
      }
    },
    "sendCount": 0,
    "sendingTargetDurationMs": 9007199254740991,
    "sendPaginationCount": 0,
    "messages": [],
    "bcc": "string",
    "bodyHTML": "string",
    "bodyJSON": {
      "property1": null,
      "property2": null
    },
    "cc": "string",
    "fromDomain": "string",
    "fromEmailUsername": "string",
    "fromName": "string",
    "previewTextHTML": "string",
    "previewTextJSON": {
      "property1": null,
      "property2": null
    },
    "replyTo": "string",
    "scheduledAt": "string",
    "subjectHTML": "string",
    "subjectJSON": {
      "property1": null,
      "property2": null
    },
    "text": "string",
    "theme": {
      "body": {
        "align": "left",
        "background": "string",
        "container": "string"
      },
      "button": {
        "background": "string",
        "borderColor": "string",
        "borderSize": 0,
        "color": "string",
        "radius": 0
      },
      "link": {
        "color": "string"
      },
      "template": "string",
      "typography": {
        "h1": {
          "color": "string",
          "fontSize": 0,
          "lineHeight": 0
        },
        "h2": {
          "color": "string",
          "fontSize": 0,
          "lineHeight": 0
        },
        "h3": {
          "color": "string",
          "fontSize": 0,
          "lineHeight": 0
        },
        "p": {
          "color": "string",
          "fontSize": 0,
          "lineHeight": 0
        }
      }
    }
  }
]
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Update Clean Settings

Replaces the project's list-hygiene settings. Unlike most update endpoints here, `settings` is written whole rather than merged, so send the complete object. Enabling automatic validation applies to contacts created from then on; it does not retroactively validate existing ones.

Get Email Campaign

Fetches a single campaign with its messages, audience definition, status, and send progress. Returns 404 if the campaign does not exist in this project.