---
title: "Rename a segment or change its conditions"
method: PATCH
path: "/segments/{id}"
tags: ["Campaigns"]
---

# Rename a segment or change its conditions

`PATCH /segments/{id}`

## Request

- Base URL: `https://sendhq.cc/api/v1`
- URL: `https://sendhq.cc/api/v1/segments/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sendhq/apis/sendhq-api/docs/segments/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Change `name`, `match`, or `conditions` (which replaces the whole list). Broadcasts that use the segment pick up the change when they start sending.

## Path parameters

- `id` string, required

## Request body

- object
  - `name` string
  - `match` 'all' | 'any'
  - `conditions` object[]
    - `field` string, required: One of tag, list, status, source, email, name, signed_up, opened, clicked, opens, sends_without_open, country, or a custom field as `fields.<key>` (or `field` with `key`).
    - `key` string: Custom field key when `field` is `field`.
    - `op` string, required: Operator allowed for the field (see `fields` in GET /segments).
    - `value` union: Required except for is_set, not_set, ever, and never. Day counts and numbers for in_last_days, not_in_last_days, gte, lte, gt, and lt; YYYY-MM-DD for before and after.
      - string
      - number

## Response `200`

Successful response

- object
  - `id` string, required
  - `name` string, required
  - `match` string, required
  - `conditions` object[], required
    - `field` string, required
    - `op` string, required
    - `value` unknown, required
  - `count` integer, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `402`: A paid entitlement is required for this recipient or feature
- `403`: The workspace, domain, policy, or suppression state forbids the operation
- `404`: Tenant-scoped resource not found
- `409`: Resource state or idempotency conflict
- `413`: Attachment count or bytes exceed the accepted limit
- `422`: Request validation or suppression check failed
- `423`: Sending is paused for this sender identity or workspace; the message gives the reason and how to appeal
- `429`: A monthly, daily, or trial usage limit was reached
- `500`: Unexpected server error
- `502`: An upstream provider operation failed
- `503`: A required provider or signing configuration is unavailable
- `default`: An error response using SendHQ's standard JSON envelope

---

[API](https://skmtc.dev/sendhq/apis/sendhq-api.md) - [All operations](https://skmtc.dev/sendhq/apis/sendhq-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sendhq/apis/sendhq-api/revisions/98e39e48cb9a?raw)
