---
title: "Update Segment Config"
method: PATCH
path: "/data-quality/v1/segment/configs/{configId}"
tags: ["Segment"]
---

# Update Segment Config

`PATCH /data-quality/v1/segment/configs/{configId}`

## Request

- Base URL: `https://api.zoominfo.com/gtm`
- URL: `https://api.zoominfo.com/gtm/data-quality/v1/segment/configs/{configId}`
- Auth: OAuth 2
  - Authorization code: `https://login.zoominfo.com`
  - Token URL: `https://okta-login.zoominfo.com/oauth2/default/v1/token` scopes: `api:data-quality:manage`

Partially updates a segment configuration. Only the attributes present in the request body
are changed; omitted attributes are left untouched.

Use this to adjust rules or output values rather than creating a second config and
re-pointing the runs that reference it.

`segments` is the exception to the partial rule: sending it replaces the entire segment list.
There is no way to patch one segment, add one, or reorder without resending the rest. Read
the config first and send the full list you want to end up with, or you will silently drop
the segments you left out.

Returns `200` with the updated segment config. Returns `400` if the payload is malformed and
`404` if no config has the given `configId`.

This endpoint does not consume credits.

## Path parameters

- `configId` string, required

## Request body

- SegmentConfigJsonApiModelUpdate: JSON API model for a single segment config.
  - `data` SegmentConfigUpdate: A segment configuration resource (identity, action, and full segment/rule definitions).
    - `id` string: The unique identifier for the resource
    - `type` string: The type of the resource
    - `attributes` SegmentConfigAttributesUpdate: Full attributes of a segment configuration.
      - `name` string: Display name for the segment config.
      - `action` 'FIND_FIRST' | 'FIND_LAST' | 'FIND_ALL' | 'ADD_ALL': How multiple segments match the same record.
      - `mergeOperator` string: Delimiter used to join matched output values when `action` is `FIND_ALL`. Common values: `,` (default), `, `, `;`, `|`, `-`, newline, or tab. Any short string is accepted, so this is a free-form delimiter rather than a fixed enum.
      - `segments` Segment[]: Ordered list of segments defined in this config.
        - `label` string, required: Display label for this segment.
        - `outputValue` string, required: Value written to the output field on the record when this segment matches.
        - `order` integer, required: Server-assigned priority order of this segment within the config (0-based, lower = higher priority).
        - `rules` SegmentRule[], required: Ordered list of rules that must be satisfied for this segment to match.
          - `operator` 'TEXT_EQUALS' | 'TEXT_NOT_EQUALS' | 'TEXT_CONTAINS' | 'TEXT_CONTAINS_WORD' | 'TEXT_NOT_CONTAINS' | 'TEXT_NOT_CONTAINS_WORD' | 'TEXT_STARTS' | 'TEXT_NOT_STARTS' | 'TEXT_ENDS' | 'TEXT_NOT_ENDS' | 'NUM_EQUALS' | 'NUM_MORE' | 'NUM_LESS' | 'NUM_BETWEEN' | 'NUM_GREATER_OR_EQUALS' | 'NUM_LESS_OR_EQUALS' | 'BOOL_TRUE' | 'BOOL_FALSE' | 'IS_NULL' | 'IS_NOT_NULL' | 'DIVIDER', required: Comparison operator for a segment rule.
          - `field` string: Field name to evaluate. Absent for divider operators that separate rule groups.
          - `value` string[]: Values to compare the field against. Treated as an OR-list for most operators.

## Response `200`

Success

- SegmentConfigJsonApiModel: JSON API model for a single segment config.
  - `data` SegmentConfig, required: A segment configuration resource (identity, action, and full segment/rule definitions).
    - `id` string, required: The unique identifier for the resource
    - `type` string, required: The type of the resource
    - `attributes` SegmentConfigAttributes, required: Full attributes of a segment configuration.
      - `name` string, required: Display name for the segment config.
      - `action` 'FIND_FIRST' | 'FIND_LAST' | 'FIND_ALL' | 'ADD_ALL', required: How multiple segments match the same record.
      - `mergeOperator` string: Delimiter used to join matched output values when `action` is `FIND_ALL`. Common values: `,` (default), `, `, `;`, `|`, `-`, newline, or tab. Any short string is accepted, so this is a free-form delimiter rather than a fixed enum.
      - `segments` Segment[], required: Ordered list of segments defined in this config.
        - `label` string, required: Display label for this segment.
        - `outputValue` string, required: Value written to the output field on the record when this segment matches.
        - `order` integer, required: Server-assigned priority order of this segment within the config (0-based, lower = higher priority).
        - `rules` SegmentRule[], required: Ordered list of rules that must be satisfied for this segment to match.
          - `operator` 'TEXT_EQUALS' | 'TEXT_NOT_EQUALS' | 'TEXT_CONTAINS' | 'TEXT_CONTAINS_WORD' | 'TEXT_NOT_CONTAINS' | 'TEXT_NOT_CONTAINS_WORD' | 'TEXT_STARTS' | 'TEXT_NOT_STARTS' | 'TEXT_ENDS' | 'TEXT_NOT_ENDS' | 'NUM_EQUALS' | 'NUM_MORE' | 'NUM_LESS' | 'NUM_BETWEEN' | 'NUM_GREATER_OR_EQUALS' | 'NUM_LESS_OR_EQUALS' | 'BOOL_TRUE' | 'BOOL_FALSE' | 'IS_NULL' | 'IS_NOT_NULL' | 'DIVIDER', required: Comparison operator for a segment rule.
          - `field` string: Field name to evaluate. Absent for divider operators that separate rule groups.
          - `value` string[]: Values to compare the field against. Treated as an OR-list for most operators.
      - `fieldsUsedInRules` string[], required: Distinct field names referenced by this config's segment rules, sorted alphabetically. Divider rules contribute no field. Read-only; derived from `segments[].rules[].field`.
    - `meta` SegmentConfigMeta: Non-standard metadata for a segment config.
      - `createdAt` string, date-time, required: ISO 8601 timestamp at which this segment config was created.
      - `updatedAt` string, date-time, required: ISO 8601 timestamp at which this segment config was last updated.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/zoominfo/apis/data-quality-api-v1.md) - [All operations](https://skmtc.dev/zoominfo/apis/data-quality-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/zoominfo/apis/data-quality-api-v1/revisions/7229ed1f3b09?raw)
