ZoomInfo · Schema

SegmentConfigListJsonApiModel

JSON API model for a paginated list of segment configs.

CompanyB2BDataSales

Properties

Name Type Description
data array The primary data of the document
meta object Non-standard meta information about the document
links object Links related to the primary data
View JSON Schema on GitHub

JSON Schema

gtm-segment-config-list-json-api-model-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/gtm/main/json-schema/gtm-segment-config-list-json-api-model-schema.json",
  "title": "SegmentConfigListJsonApiModel",
  "description": "JSON API model for a paginated list of segment configs.",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/gtm-data-quality-api-v1-api-openapi.yml#/components/schemas/SegmentConfigListJsonApiModel",
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/SegmentConfig"
      },
      "description": "The primary data of the document"
    },
    "meta": {
      "allOf": [
        {
          "$ref": "#/$defs/SegmentConfigListMeta"
        }
      ],
      "description": "Non-standard meta information about the document"
    },
    "links": {
      "allOf": [
        {
          "$ref": "#/$defs/SegmentConfigListLinks"
        }
      ],
      "description": "Links related to the primary data"
    }
  },
  "$defs": {
    "Segment": {
      "type": "object",
      "required": [
        "label",
        "outputValue",
        "order",
        "rules"
      ],
      "properties": {
        "label": {
          "type": "string",
          "description": "Display label for this segment."
        },
        "outputValue": {
          "type": "string",
          "description": "Value written to the output field on the record when this segment matches."
        },
        "order": {
          "type": "integer",
          "format": "int32",
          "description": "Server-assigned priority order of this segment within the config (0-based, lower = higher priority).",
          "readOnly": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SegmentRule"
          },
          "description": "Ordered list of rules that must be satisfied for this segment to match."
        }
      },
      "description": "A segment within a config: a prioritized set of rules that maps matching records to an output value."
    },
    "SegmentAction": {
      "type": "string",
      "enum": [
        "FIND_FIRST",
        "FIND_LAST",
        "FIND_ALL",
        "ADD_ALL"
      ],
      "description": "How multiple segments match the same record.",
      "x-enumDescriptions": {
        "FIND_FIRST": "Return only the first matching segment's output value.",
        "FIND_LAST": "Return only the last matching segment's output value.",
        "FIND_ALL": "Return all matching segments' output values.",
        "ADD_ALL": "Sum all numeric output values from matching segments."
      }
    },
    "SegmentConfig": {
      "type": "object",
      "required": [
        "id",
        "type",
        "attributes"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for the resource"
        },
        "type": {
          "type": "string",
          "description": "The type of the resource",
          "default": "SegmentConfig",
          "pattern": "SegmentConfig"
        },
        "attributes": {
          "allOf": [
            {
              "$ref": "#/$defs/SegmentConfigAttributes"
            }
          ],
          "description": "The attributes defining the resource"
        },
        "meta": {
          "allOf": [
            {
              "$ref": "#/$defs/SegmentConfigMeta"
            }
          ],
          "description": "Non-standard meta information about the resource",
          "readOnly": true
        }
      },
      "description": "A segment configuration resource (identity, action, and full segment/rule definitions)."
    },
    "SegmentConfigAttributes": {
      "type": "object",
      "required": [
        "name",
        "action",
        "segments",
        "fieldsUsedInRules"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Display name for the segment config."
        },
        "action": {
          "allOf": [
            {
              "$ref": "#/$defs/SegmentAction"
            }
          ],
          "description": "How the config handles records that match multiple segments."
        },
        "mergeOperator": {
          "type": "string",
          "maxLength": 8,
          "description": "Delimiter used to join matched output values when `action` is `FIND_ALL`.\nCommon values: `,` (default), `, `, `;`, `|`, `-`, newline, or tab. Any\nshort string is accepted, so this is a free-form delimiter rather than a\nfixed enum."
        },
        "segments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Segment"
          },
          "description": "Ordered list of segments defined in this config."
        },
        "fieldsUsedInRules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Distinct field names referenced by this config's segment rules, sorted\nalphabetically. Divider rules contribute no field. Read-only; derived from\n`segments[].rules[].field`.",
          "readOnly": true
        }
      },
      "description": "Full attributes of a segment configuration."
    },
    "SegmentConfigListLinks": {
      "type": "object",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri",
          "description": "The link that generated the current response document"
        },
        "first": {
          "type": "string",
          "format": "uri",
          "description": "A link to the first page of data"
        },
        "last": {
          "type": "string",
          "format": "uri",
          "description": "A link to the last page of data"
        },
        "prev": {
          "type": "string",
          "format": "uri",
          "description": "A link to the previous page of data"
        },
        "next": {
          "type": "string",
          "format": "uri",
          "description": "A link to the next page of data"
        }
      },
      "description": "Paging links for segment config list responses."
    },
    "SegmentConfigListMeta": {
      "type": "object",
      "required": [
        "page"
      ],
      "properties": {
        "page": {
          "allOf": [
            {
              "$ref": "#/$defs/SegmentConfigPageMeta"
            }
          ],
          "description": "Current page details and totals.",
          "readOnly": true
        }
      },
      "description": "Page metadata wrapper for paginated segment config list responses."
    },
    "SegmentConfigMeta": {
      "type": "object",
      "required": [
        "createdAt",
        "updatedAt"
      ],
      "properties": {
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp at which this segment config was created.",
          "readOnly": true
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp at which this segment config was last updated.",
          "readOnly": true
        }
      },
      "description": "Non-standard metadata for a segment config."
    },
    "SegmentConfigPageMeta": {
      "type": "object",
      "required": [
        "number",
        "size",
        "totalPages",
        "totalItems"
      ],
      "properties": {
        "number": {
          "type": "integer",
          "format": "uint32",
          "description": "Current page number (1-based).",
          "readOnly": true
        },
        "size": {
          "type": "integer",
          "format": "uint32",
          "description": "Number of items in the current page.",
          "readOnly": true
        },
        "totalPages": {
          "type": "integer",
          "format": "uint32",
          "description": "Total number of pages available.",
          "readOnly": true
        },
        "totalItems": {
          "type": "integer",
          "format": "uint32",
          "description": "Total number of items across all pages.",
          "readOnly": true
        }
      },
      "description": "Per-page metadata for paginated segment config list responses."
    },
    "SegmentRule": {
      "type": "object",
      "required": [
        "operator"
      ],
      "properties": {
        "operator": {
          "allOf": [
            {
              "$ref": "#/$defs/SegmentRuleOperator"
            }
          ],
          "description": "Comparison operator for this rule. `DIVIDER` is a layout-only boundary that carries no field or value."
        },
        "field": {
          "type": "string",
          "description": "Field name to evaluate. Absent for divider operators that separate rule groups."
        },
        "value": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 100,
          "description": "Values to compare the field against. Treated as an OR-list for most operators."
        }
      },
      "description": "A single rule within a segment, representing one field-condition test."
    },
    "SegmentRuleOperator": {
      "type": "string",
      "enum": [
        "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"
      ],
      "description": "Comparison operator for a segment rule.",
      "x-enumDescriptions": {
        "TEXT_EQUALS": "Field value equals the comparison value.",
        "TEXT_NOT_EQUALS": "Field value does not equal the comparison value.",
        "TEXT_CONTAINS": "Field value contains the comparison value as a substring.",
        "TEXT_CONTAINS_WORD": "Field value contains the comparison value as a whole word.",
        "TEXT_NOT_CONTAINS": "Field value does not contain the comparison value as a substring.",
        "TEXT_NOT_CONTAINS_WORD": "Field value does not contain the comparison value as a whole word.",
        "TEXT_STARTS": "Field value starts with the comparison value.",
        "TEXT_NOT_STARTS": "Field value does not start with the comparison value.",
        "TEXT_ENDS": "Field value ends with the comparison value.",
        "TEXT_NOT_ENDS": "Field value does not end with the comparison value.",
        "NUM_EQUALS": "Numeric field equals the comparison value.",
        "NUM_MORE": "Numeric field is greater than the comparison value.",
        "NUM_LESS": "Numeric field is less than the comparison value.",
        "NUM_BETWEEN": "Numeric field falls between the two comparison values.",
        "NUM_GREATER_OR_EQUALS": "Numeric field is greater than or equal to the comparison value.",
        "NUM_LESS_OR_EQUALS": "Numeric field is less than or equal to the comparison value.",
        "BOOL_TRUE": "Boolean field is true.",
        "BOOL_FALSE": "Boolean field is false.",
        "IS_NULL": "Field has no value.",
        "IS_NOT_NULL": "Field has a value.",
        "DIVIDER": "Layout-only OR boundary between rule groups; carries no field or value."
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/gtm-segment-config-list-json-api-model"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.