Skip to main content
POST
/
lists
Create a list
curl --request POST \
  --url https://apix.spotzee.com/api/client/lists \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "High-value customers",
  "type": "dynamic",
  "rule": {
    "uuid": "b1f4a2c8-3d9e-4a1b-9b3a-1f0c8d4e2a91",
    "type": "wrapper",
    "group": "user",
    "path": "data.country",
    "operator": "<string>",
    "id": 123,
    "root_uuid": "<string>",
    "parent_uuid": "<string>",
    "value": "<string>",
    "children": "<array>"
  }
}
'
{
  "id": 91,
  "project_id": 42,
  "name": "Newsletter subscribers — Q2 2026",
  "type": "static",
  "state": "draft",
  "version": 3,
  "is_visible": true,
  "created_at": "<string>",
  "updated_at": "<string>",
  "rule": {
    "uuid": "b1f4a2c8-3d9e-4a1b-9b3a-1f0c8d4e2a91",
    "type": "wrapper",
    "group": "user",
    "path": "data.country",
    "operator": "<string>",
    "id": 123,
    "root_uuid": "<string>",
    "parent_uuid": "<string>",
    "value": "<string>",
    "frequency": {
      "period": {
        "type": "rolling",
        "unit": "hour",
        "value": 123
      },
      "operator": "=",
      "count": 123
    },
    "children": "<array>"
  },
  "rule_id": 123,
  "users_count": 12584,
  "tags": [
    "<string>"
  ],
  "refreshed_at": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.spotzee.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Project-scoped secret API key (sk_…). Pass in the Authorization: Bearer <key> header. Grants access to the project the key was issued for.

Body

application/json

Create a new list. The type discriminator chooses between dynamic (rule-driven) and static (manual) membership.

name
string
required

Human-readable list name.

Minimum string length: 1
Example:

"High-value customers"

type
enum<string>
required
Available options:
dynamic
rule
object
required

Membership rule tree. Members are materialised from this rule.

tags
string[] | null

Tags applied to the list. Used for organisation and filtering.

is_visible
boolean | null

When true, the list appears in the in-product UI list directory.

Response

The newly created list.

A static or dynamic group of contacts. Used to send campaigns and as a segment input.

id
integer
required

Numeric list identifier.

Example:

91

project_id
integer
required

Identifier of the project the list belongs to.

Example:

42

name
string
required

Human-readable list name.

Example:

"Newsletter subscribers — Q2 2026"

type
enum<string>
required

A static list has explicit members. A dynamic list is materialised from a rule tree.

Available options:
static,
dynamic
state
enum<string>
required

Current list state. loading while a refresh is in progress; ready once members are materialised.

Available options:
draft,
ready,
loading
version
integer
required

Monotonically incrementing version. Bumped on rule edits.

Example:

3

is_visible
boolean
required

Whether the list is shown in the in-product UI list directory.

created_at
string | null
required

Time the list was created. ISO 8601.

updated_at
string | null
required

Time the list was last modified. ISO 8601.

rule
object

Membership rule tree for dynamic lists. Absent on static lists.

rule_id
integer | null

Internal identifier of the persisted root rule, when present.

users_count
integer | null

Cached size of the list. May lag a few seconds behind reality.

Example:

12584

tags
string[] | null

Tags applied to the list. Used for organisation and filtering.

refreshed_at
string | null

Time the dynamic list was last refreshed.