Cakemail
Cakemail API

Create and manage segments within lists. A segment is a dynamic filter that defines a subset of contacts based on query criteria. Segments can be defined using SQL-like expressions, FIQL, or JSON query format. Segments are used to target specific audiences when sending campaigns.


Show all segments

GET
https://api.cakemail.dev
/lists/{list_id}/segments

List all segments defined for a list. Each segment includes its query definition, the number of campaigns using it, and when it was last used.

Required scope(s): segments:read

Show all segments › path Parameters

list_id
​integer · min: 1 · required

Show all segments › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

page
​integer · min: 1
Default: 1
per_page
​integer · min: 1
Default: 50
with_count
​boolean

Include count in the response

Include count in the response

Default: false
sort
​string

Sort term and direction, using syntax [-|+]term.

Valid terms:

  • id
  • name
  • created_on

Sort term and direction, using syntax [-|+]term.

Valid terms:

  • id
  • name
  • created_on

Show all segments › Responses

Successful Response

​object · required

Pagination details

​SegmentFullResponse[] · required

List of segments


Create a segment

POST
https://api.cakemail.dev
/lists/{list_id}/segments

Create a new segment for a list. The segment query can be defined using one of three formats: SQL-like expression, FIQL, or JSON. Exactly one format must be provided.

Required scope(s): segments:write

Create a segment › path Parameters

list_id
​integer · min: 1 · required

Create a segment › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Create a segment › Request Body

name
​string · minLength: 1 · required
query
​string · minLength: 1

SQL-like expression (use one of query, fiql and json)

fiql
​string · minLength: 1

FIQL expression (use one of query, fiql and json)

json
​object

JSON expression (use one of query, fiql and json)

Create a segment › Responses

Successful Response

id
​integer · required

Segment id

​object · required

Created segment details

object
​string

Object type

Default: segment
created
​boolean

Whether the segment was created

Default: true

Show a segment details

GET
https://api.cakemail.dev
/lists/{list_id}/segments/{segment_id}

Retrieve the full details of a segment, including its query definition in all available formats (SQL-like, FIQL, and JSON).

Required scope(s): segments:read

Show a segment details › path Parameters

list_id
​integer · min: 1 · required
segment_id
​integer · min: 1 · required

Show a segment details › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Show a segment details › Responses

Successful Response

​object · required

Segment details


Update a segment

PATCH
https://api.cakemail.dev
/lists/{list_id}/segments/{segment_id}

Update a segment's name or query. All fields are optional — only provided fields are updated. At most one query format can be provided.

Required scope(s): segments:write

Update a segment › path Parameters

list_id
​integer · min: 1 · required
segment_id
​integer · min: 1 · required

Update a segment › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Update a segment › Request Body

query
​string · minLength: 1

SQL-like expression (use one of query, fiql and json)

fiql
​string · minLength: 1

FIQL expression (use one of query, fiql and json)

json
​object

JSON expression (use one of query, fiql and json)

name
​string

Segment Name

Update a segment › Responses

Successful Response

id
​integer · required

Segment id

​object · required

Updated segment details

object
​string

Object type

Default: segment
updated
​boolean

Whether the segment was updated

Default: true

Delete a segment

DELETE
https://api.cakemail.dev
/lists/{list_id}/segments/{segment_id}

Delete a segment. Campaigns that were using this segment will no longer have a segment filter applied.

Required scope(s): segments:delete

Delete a segment › path Parameters

list_id
​integer · min: 1 · required
segment_id
​integer · min: 1 · required

Delete a segment › query Parameters

account_id
​integer · min: 1

Optional Account ID to be used for the request

Optional Account ID to be used for the request

Delete a segment › Responses

Successful Response

id
​integer · required

Segment id

object
​string

Object type

Default: segment
deleted
​boolean

Whether the segment was deleted

Default: true