[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Create segment

> Create a reusable segment on a list from conditions on tags, fields, dates, source or campaign and contact activity. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/emailoctopus/create_segment

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Create a reusable segment on a list from conditions on tags, fields, dates, source or campaign and contact activity.

EmailOctopus API: https://cotlet.dev/docs/api/emailoctopus.md

`POST https://cotlet.dev/api/v1/emailoctopus/lists/{list_id}/segments`

Access: write.

Saves a segment on the Segments tab of the Contacts page and returns it. match is all, any or none, as in the segment editor. Each condition has a type, an operator in the words of the editor (for example "did not open", "was sent", "active or added within") and a value such as a campaign name, a tag or a number of days. Contact activity looks back at most 365 days. The segment holds no email by itself, so creating it reaches no one; it only changes who a later campaign or bulk action can pick.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `list_id` | string | yes | List ID from list_lists. |
| `name` | string | yes | Name of the segment. |
| `match` | enum | yes | all, any or none of the conditions must match. |
| `conditions` | array | yes | Objects with type, operator and value. type: first_name, last_name, field, date_created, last_updated, source, segment, campaign_activity, contact_activity or tag. |

## Request

**cURL**

```bash
curl -X POST https://cotlet.dev/api/v1/emailoctopus/lists/4d1c8e5a-7f2b-4c1e-9a63-0b5d2e8f1a37/segments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Did not open: Autumn offer","match":"all","conditions":[{"type":"campaign_activity","operator":"did not open","value":"Autumn offer"},{"type":"campaign_activity","operator":"was sent","value":"Autumn offer"}]}'
```

**Python**

```python
result = client.call("emailoctopus", "create_segment", {"list_id":"4d1c8e5a-7f2b-4c1e-9a63-0b5d2e8f1a37","name":"Did not open: Autumn offer","match":"all","conditions":[{"type":"campaign_activity","operator":"did not open","value":"Autumn offer"},{"type":"campaign_activity","operator":"was sent","value":"Autumn offer"}]})
```

**Node.js**

```js
const result = await cotlet.call('emailoctopus', 'create_segment', {"list_id":"4d1c8e5a-7f2b-4c1e-9a63-0b5d2e8f1a37","name":"Did not open: Autumn offer","match":"all","conditions":[{"type":"campaign_activity","operator":"did not open","value":"Autumn offer"},{"type":"campaign_activity","operator":"was sent","value":"Autumn offer"}]});
```

**CLI**

```bash
cotlet call emailoctopus create_segment --data '{"list_id":"4d1c8e5a-7f2b-4c1e-9a63-0b5d2e8f1a37","name":"Did not open: Autumn offer","match":"all","conditions":[{"type":"campaign_activity","operator":"did not open","value":"Autumn offer"},{"type":"campaign_activity","operator":"was sent","value":"Autumn offer"}]}'
```

## Example response

```json
{
  "segment": "Did not open: Autumn offer",
  "list_id": "4d1c8e5a-7f2b-4c1e-9a63-0b5d2e8f1a37",
  "match": "all",
  "conditions": [
    "Campaign activity: did not open, Autumn offer",
    "Campaign activity: was sent, Autumn offer"
  ],
  "created": true
}
```

Previous: [List campaign activity](https://cotlet.dev/docs/api/emailoctopus/list_campaign_activity.md)
Next: [Duplicate campaign](https://cotlet.dev/docs/api/emailoctopus/duplicate_campaign.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
