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

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.

PUT
/projects/{projectId}/crm/contact-lists/{contactListId}

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that owns the list.

contactListIdrequiredstring

ID of the contact list to update.

Request Body

application/json

changesrequiredobject

Fields to change. Anything omitted is left as-is.

contactsFilterGroupsarray<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.

descriptionstring | null
namestring
typestring
Value in: "static" | "dynamic"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://www.saasco.com/api/v2/projects/string/crm/contact-lists/string" \  -H "Content-Type: application/json" \  -d '{    "changes": {}  }'
{
  "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": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

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.

Delete List

Deletes a contact list. The contacts themselves are untouched. Only the list and its membership records go. Any campaign still targeting this list loses its audience. Cannot be undone.