Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

Quick StartWhat is Saasco?

Analytics

CRM

getList AllgetGet ListpostCreate ListputUpdate ListdelDelete List

Email Marketing

Knowledge

Support

Projects

Lists

Create List

Creates a contact list. A static list holds the members you add explicitly; a dynamic list stores a filter and recomputes its members on read, so contacts join and leave automatically as their properties change. Set contactsFilterGroups for a dynamic list.

POST
/projects/{projectId}/crm/contact-lists

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that will own the list.

Request Body

application/json

namerequiredstring
descriptionstring | null
typestring
Default: "static"Value in: "static" | "dynamic"
contactsFilterGroupsrequiredarray<object>
filtersrequiredarray<object>

Attribute filters combined with groupType.

attributeDistinctIdrequiredstring

Contact attribute distinct id to filter on.

attributeTypestring

Attribute type. Defaults to string when omitted.

Default: "string"Value in: "string" | "number" | "boolean" | "date" | "url" | "email"
operatorrequiredstring

Comparison operator for the attribute value.

Value in: "equals" | "contains" | "notEquals" | "notContains" | "gt" | "gte" | "lt" | "lte" | "on" | "since" | "before" | "between" | "last"
valuerequiredstring

Value to compare the attribute against.

oneDayEventFiltersarray<object>

Event filters evaluated over the last 24 hours only.

eventNamerequiredstring

Analytics event name.

operatorrequiredstring

Whether the contact performed the event in the last 24 hours.

Value in: "performed" | "notPerformed"
groupTyperequiredstring

How filters in this group are combined.

Value in: "AND" | "OR" | "NOT"
requireSubscribedboolean

When true, the group is ANDed with $subscribed == true. Set by email sending, not the filter UI.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string/crm/contact-lists" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "contactsFilterGroups": [      {        "filters": [          {            "attributeDistinctId": "string",            "operator": "equals",            "value": "string"          }        ],        "groupType": "AND"      }    ]  }'
{
  "id": "string",
  "createdAt": "string",
  "updatedAt": "string",
  "name": "string",
  "description": "string",
  "type": "static",
  "contactsFilterGroups": [
    {
      "filters": [
        {
          "attributeDistinctId": "string",
          "attributeType": "string",
          "operator": "equals",
          "value": "string"
        }
      ],
      "oneDayEventFilters": [
        {
          "eventName": "string",
          "operator": "performed"
        }
      ],
      "groupType": "AND",
      "requireSubscribed": true
    }
  ],
  "projectId": "string"
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Get List

Fetches a single contact list with its configuration, including the filter definition for a dynamic list. Members are not included. Use List Members for those.

Update List

Updates a contact list's name, description, type, or filter. Only the fields present in `changes` are written. Editing the filter on a dynamic list changes who is in it immediately, since membership is evaluated on read.