---
title: "Create Normalize Config"
method: POST
path: "/data-quality/v1/prepare/normalize/configs"
tags: ["Prepare"]
---

# Create Normalize Config

`POST /data-quality/v1/prepare/normalize/configs`

## Request

- Base URL: `https://api.zoominfo.com/gtm`
- URL: `https://api.zoominfo.com/gtm/data-quality/v1/prepare/normalize/configs`
- 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`

Creates a reusable set of custom normalization rules.

Use this when the same custom normalization applies across many Prepare calls: save the
rules once here, then reference the returned `id` in a Prepare call's
`config.normalizationRules.configId` instead of passing the rules inline on every request.

Provide `name`, an optional `description`, and the `rules` grouped by rule group.
Server-assigned fields — `id`, `status`, and timestamps — are ignored on input and returned
in the response.

Returns `201` with the created config. Returns `400` if the payload is malformed — for
example an unknown rule group, or a `type`/`value` combination that is not allowed for its
group.

This endpoint does not consume credits.

## Request body

- NormalizeConfigJsonApiModelCreate: JSON API model for a single normalization config.
  - `data` NormalizeConfigCreate, required: A normalization configuration resource.
    - `type` string, required: The type of the resource
    - `attributes` NormalizeConfigAttributesCreate, required: Attributes of a normalization configuration.
      - `name` string, required: Display name for the config.
      - `description` string: Optional human-readable description of what the config does.
      - `rules` NormalizeConfigRules, required: Custom-normalization rules for a stored config, grouped by rule group. A single config may carry rules for any combination of domains. Each group is an ordered list of `type`/`value` rules; use only the documented `type`/`value` combinations (see each rule model). Email has no rule vocabulary and therefore no group here.
        - `phone` PhoneRule[]: Rules applied to the phone number.
          - `type` 'INT_FORMAT' | 'LEADING_1' | 'AREA_CODE_PARENTHESES' | 'AREA_CODE_PADDING' | 'SEPARATOR', required: Phone normalization rule names.
          - `value` 'NONE' | 'REMOVE' | 'ADD' | 'INTERNATIONAL' | 'NATIONAL' | 'E164' | 'RFC3966' | 'CONVERT_TO_PLUS_ONE' | 'DASH' | 'DOT' | 'SPACE', required: Legal values for phone normalization rules. Valid combinations: `INT_FORMAT` -> `INTERNATIONAL|NATIONAL|E164|RFC3966`; `LEADING_1` -> `ADD|REMOVE|CONVERT_TO_PLUS_ONE`; `SEPARATOR` -> `REMOVE|DASH|DOT|SPACE`; `AREA_CODE_PARENTHESES|AREA_CODE_PADDING` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `streetLine` StreetLineRule[]: Rules applied to the street line(s).
          - `type` 'CASE' | 'MULTIPLE' | 'STREET_TYPE' | 'COMPASS_DIR' | 'UNIT_DESIGNATORS' | 'PERIODS', required: Street-line normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'COMBINE_ON_SINGLE_LINE' | 'DISCARD_SECOND_LINE' | 'ABBREVIATE' | 'EXPAND' | 'ADD' | 'REMOVE', required: Legal values for street-line normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `MULTIPLE` -> `COMBINE_ON_SINGLE_LINE|DISCARD_SECOND_LINE`; `STREET_TYPE|COMPASS_DIR|UNIT_DESIGNATORS` -> `ABBREVIATE|EXPAND`; `PERIODS` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `city` CityRule[]: Rules applied to the city.
          - `type` 'CASE' | 'PREFIXES' | 'PERIODS', required: City normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ABBREVIATE' | 'EXPAND' | 'ADD' | 'REMOVE', required: Legal values for city normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PREFIXES` -> `ABBREVIATE|EXPAND`; `PERIODS` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `stateProvince` StateProvinceRule[]: Rules applied to the state/province.
          - `type` 'CASE' | 'FORMAT', required: State/province normalization rule names.
          - `value` 'NONE' | 'UPPERCASE' | 'LOWERCASE' | 'PROPER_CASE' | 'ABBREVIATE' | 'EXPAND', required: Legal values for state/province normalization rules. Valid combinations: `CASE` -> `UPPERCASE|LOWERCASE|PROPER_CASE`; `FORMAT` -> `ABBREVIATE|EXPAND`; any rule type may use `NONE`.
        - `country` CountryRule[]: Rules applied to the country.
          - `type` 'COUNTRY_NAME' | 'COUNTRY_CODE', required: Country normalization rule names.
          - `value` 'NONE' | 'COMMON_NAME' | 'SHORT_NAME' | 'LONG_NAME' | 'ES_NAME' | 'FR_NAME' | 'CH_NAME' | 'AR_NAME' | 'RU_NAME' | 'ALPHA2' | 'ALPHA3' | 'NUMERIC_CODE', required: Legal values for country normalization rules. Valid combinations: `COUNTRY_NAME` -> `COMMON_NAME|SHORT_NAME|LONG_NAME|ES_NAME|FR_NAME|CH_NAME|AR_NAME|RU_NAME|ALPHA2|ALPHA3|NUMERIC_CODE`; `COUNTRY_CODE` -> `ALPHA2|ALPHA3|NUMERIC_CODE`; any rule type may use `NONE`.
        - `jobTitle` JobTitleRule[]: Rules applied to the job title.
          - `type` 'CASE' | 'PERIODS' | 'COMMAS' | 'DEPARTMENT_LITERAL' | 'DEPARTMENT_NAMES' | 'ORDER' | 'CXO' | 'VP' | 'DIRECTOR' | 'MANAGER' | 'MODIFIER_PREFIXES' | 'MODIFIER_SUFFIXES' | 'OF_USAGE' | 'AND_USAGE' | 'HYPHENS', required: Job-title normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ADD' | 'REMOVE' | 'ABBREVIATE' | 'EXPAND' | 'DEPARTMENT_LAST' | 'DEPARTMENT_FIRST' | 'CONVERT_TO_COMMA' | 'CONVERT_TO_HYPHEN' | 'CONVERT_TO_AND' | 'CONVERT_TO_AMPERSAND' | 'REMOVE_SPACE' | 'PAD_WITH_SPACE', required: Legal values for job-title normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PERIODS` -> `ADD|REMOVE`; `COMMAS|MODIFIER_SUFFIXES` -> `REMOVE`; `DEPARTMENT_LITERAL|DEPARTMENT_NAMES|CXO|VP|DIRECTOR|MANAGER|MODIFIER_PREFIXES` -> `ABBREVIATE|EXPAND`; `ORDER` -> `DEPARTMENT_LAST|DEPARTMENT_FIRST`; `OF_USAGE` -> `REMOVE|CONVERT_TO_COMMA|CONVERT_TO_HYPHEN`; `AND_USAGE` -> `CONVERT_TO_AND|CONVERT_TO_AMPERSAND`; `HYPHENS` -> `REMOVE|REMOVE_SPACE|PAD_WITH_SPACE`; any rule type may use `NONE`.
        - `personName` PersonNameRule[]: Rules applied to the person name.
          - `type` 'CASE' | 'FIRST_NAME' | 'MIDDLE_NAME' | 'PREFIXES' | 'SUFFIXES' | 'PERIODS_INITIALS' | 'PERIODS_PREFIXES' | 'HYPHENS', required: Person-name normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'CONVERT_TO_INITIAL' | 'ADD' | 'REMOVE', required: Legal values for person-name normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `FIRST_NAME` -> `CONVERT_TO_INITIAL`; `MIDDLE_NAME` -> `CONVERT_TO_INITIAL|REMOVE`; `PREFIXES|SUFFIXES|HYPHENS` -> `REMOVE`; `PERIODS_INITIALS|PERIODS_PREFIXES` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `companyName` CompanyNameRule[]: Rules applied to the company name.
          - `type` 'CASE' | 'PERIODS' | 'COMMAS' | 'HYPHENS' | 'LEADING_ARTICLES' | 'AND_COMPANY' | 'AND_USAGE' | 'PREFIXES' | 'SUFFIXES' | 'SUFFIXES_COMPANY' | 'SUFFIXES_CORP' | 'SUFFIXES_LTD' | 'SUFFIXES_INTL' | 'SUFFIXES_GROUP' | 'AKA' | 'PARENTHESES' | 'ORDINALS' | 'NUMBERS' | 'INITIALS' | 'WHITESPACE', required: Company-name normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ADD' | 'REMOVE' | 'SINGLE_SPACE_AFTER' | 'PAD_WITH_SPACE' | 'REMOVE_SPACE' | 'MOVE_TO_BEGIN' | 'MOVE_TO_END' | 'CONVERT_TO_AND_CO' | 'CONVERT_TO_AND_COMPANY' | 'CONVERT_TO_AND' | 'CONVERT_TO_AMPERSAND' | 'ABBREVIATE' | 'EXPAND' | 'PARENTHESIZE' | 'REMOVE_DELIMITERS' | 'INSERT_AKA' | 'SPELL_OUT' | 'ADD_PERIODS' | 'SPACE_ONLY' | 'COMPACT', required: Legal values for company-name normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PERIODS` -> `ADD|REMOVE`; `COMMAS` -> `SINGLE_SPACE_AFTER|REMOVE`; `HYPHENS` -> `PAD_WITH_SPACE|REMOVE_SPACE|REMOVE`; `LEADING_ARTICLES` -> `MOVE_TO_BEGIN|MOVE_TO_END|REMOVE`; `AND_COMPANY` -> `CONVERT_TO_AND_CO|CONVERT_TO_AND_COMPANY`; `AND_USAGE` -> `CONVERT_TO_AND|CONVERT_TO_AMPERSAND`; `PREFIXES` -> `ABBREVIATE|EXPAND`; `SUFFIXES|SUFFIXES_COMPANY|SUFFIXES_CORP|SUFFIXES_LTD|SUFFIXES_INTL|SUFFIXES_GROUP` -> `ABBREVIATE|EXPAND|REMOVE`; `AKA` -> `PARENTHESIZE|REMOVE`; `PARENTHESES` -> `REMOVE|REMOVE_DELIMITERS|INSERT_AKA`; `ORDINALS` -> `ABBREVIATE|EXPAND`; `NUMBERS` -> `SPELL_OUT`; `INITIALS` -> `ADD_PERIODS|SPACE_ONLY|COMPACT`; `WHITESPACE` -> `COMPACT`; any rule type may use `NONE`.
        - `url` UrlRule[]: Rules applied to the URL.
          - `type` 'PATH_PORTION' | 'PROTOCOL' | 'TRAILING_SLASH' | 'WWW', required: Url normalization rule names.
          - `value` 'NONE' | 'REMOVE' | 'ADD' | 'TRUNCATE', required: Legal values for URL normalization rules. Valid combinations: `PATH_PORTION` -> `TRUNCATE`; `PROTOCOL` -> `ADD|REMOVE`; `TRAILING_SLASH` -> `ADD|REMOVE`; `WWW` -> `ADD|REMOVE`; any rule type may use `NONE`.

## Response `201`

Created

- NormalizeConfigJsonApiModel: JSON API model for a single normalization config.
  - `data` NormalizeConfig, required: A normalization configuration resource.
    - `id` string, required: The unique identifier for the resource
    - `type` string, required: The type of the resource
    - `attributes` NormalizeConfigAttributes, required: Attributes of a normalization configuration.
      - `name` string, required: Display name for the config.
      - `description` string: Optional human-readable description of what the config does.
      - `status` 'ACTIVE' | 'ARCHIVED', required: Lifecycle status of a normalization configuration.
      - `rules` NormalizeConfigRules, required: Custom-normalization rules for a stored config, grouped by rule group. A single config may carry rules for any combination of domains. Each group is an ordered list of `type`/`value` rules; use only the documented `type`/`value` combinations (see each rule model). Email has no rule vocabulary and therefore no group here.
        - `phone` PhoneRule[]: Rules applied to the phone number.
          - `type` 'INT_FORMAT' | 'LEADING_1' | 'AREA_CODE_PARENTHESES' | 'AREA_CODE_PADDING' | 'SEPARATOR', required: Phone normalization rule names.
          - `value` 'NONE' | 'REMOVE' | 'ADD' | 'INTERNATIONAL' | 'NATIONAL' | 'E164' | 'RFC3966' | 'CONVERT_TO_PLUS_ONE' | 'DASH' | 'DOT' | 'SPACE', required: Legal values for phone normalization rules. Valid combinations: `INT_FORMAT` -> `INTERNATIONAL|NATIONAL|E164|RFC3966`; `LEADING_1` -> `ADD|REMOVE|CONVERT_TO_PLUS_ONE`; `SEPARATOR` -> `REMOVE|DASH|DOT|SPACE`; `AREA_CODE_PARENTHESES|AREA_CODE_PADDING` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `streetLine` StreetLineRule[]: Rules applied to the street line(s).
          - `type` 'CASE' | 'MULTIPLE' | 'STREET_TYPE' | 'COMPASS_DIR' | 'UNIT_DESIGNATORS' | 'PERIODS', required: Street-line normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'COMBINE_ON_SINGLE_LINE' | 'DISCARD_SECOND_LINE' | 'ABBREVIATE' | 'EXPAND' | 'ADD' | 'REMOVE', required: Legal values for street-line normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `MULTIPLE` -> `COMBINE_ON_SINGLE_LINE|DISCARD_SECOND_LINE`; `STREET_TYPE|COMPASS_DIR|UNIT_DESIGNATORS` -> `ABBREVIATE|EXPAND`; `PERIODS` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `city` CityRule[]: Rules applied to the city.
          - `type` 'CASE' | 'PREFIXES' | 'PERIODS', required: City normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ABBREVIATE' | 'EXPAND' | 'ADD' | 'REMOVE', required: Legal values for city normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PREFIXES` -> `ABBREVIATE|EXPAND`; `PERIODS` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `stateProvince` StateProvinceRule[]: Rules applied to the state/province.
          - `type` 'CASE' | 'FORMAT', required: State/province normalization rule names.
          - `value` 'NONE' | 'UPPERCASE' | 'LOWERCASE' | 'PROPER_CASE' | 'ABBREVIATE' | 'EXPAND', required: Legal values for state/province normalization rules. Valid combinations: `CASE` -> `UPPERCASE|LOWERCASE|PROPER_CASE`; `FORMAT` -> `ABBREVIATE|EXPAND`; any rule type may use `NONE`.
        - `country` CountryRule[]: Rules applied to the country.
          - `type` 'COUNTRY_NAME' | 'COUNTRY_CODE', required: Country normalization rule names.
          - `value` 'NONE' | 'COMMON_NAME' | 'SHORT_NAME' | 'LONG_NAME' | 'ES_NAME' | 'FR_NAME' | 'CH_NAME' | 'AR_NAME' | 'RU_NAME' | 'ALPHA2' | 'ALPHA3' | 'NUMERIC_CODE', required: Legal values for country normalization rules. Valid combinations: `COUNTRY_NAME` -> `COMMON_NAME|SHORT_NAME|LONG_NAME|ES_NAME|FR_NAME|CH_NAME|AR_NAME|RU_NAME|ALPHA2|ALPHA3|NUMERIC_CODE`; `COUNTRY_CODE` -> `ALPHA2|ALPHA3|NUMERIC_CODE`; any rule type may use `NONE`.
        - `jobTitle` JobTitleRule[]: Rules applied to the job title.
          - `type` 'CASE' | 'PERIODS' | 'COMMAS' | 'DEPARTMENT_LITERAL' | 'DEPARTMENT_NAMES' | 'ORDER' | 'CXO' | 'VP' | 'DIRECTOR' | 'MANAGER' | 'MODIFIER_PREFIXES' | 'MODIFIER_SUFFIXES' | 'OF_USAGE' | 'AND_USAGE' | 'HYPHENS', required: Job-title normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ADD' | 'REMOVE' | 'ABBREVIATE' | 'EXPAND' | 'DEPARTMENT_LAST' | 'DEPARTMENT_FIRST' | 'CONVERT_TO_COMMA' | 'CONVERT_TO_HYPHEN' | 'CONVERT_TO_AND' | 'CONVERT_TO_AMPERSAND' | 'REMOVE_SPACE' | 'PAD_WITH_SPACE', required: Legal values for job-title normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PERIODS` -> `ADD|REMOVE`; `COMMAS|MODIFIER_SUFFIXES` -> `REMOVE`; `DEPARTMENT_LITERAL|DEPARTMENT_NAMES|CXO|VP|DIRECTOR|MANAGER|MODIFIER_PREFIXES` -> `ABBREVIATE|EXPAND`; `ORDER` -> `DEPARTMENT_LAST|DEPARTMENT_FIRST`; `OF_USAGE` -> `REMOVE|CONVERT_TO_COMMA|CONVERT_TO_HYPHEN`; `AND_USAGE` -> `CONVERT_TO_AND|CONVERT_TO_AMPERSAND`; `HYPHENS` -> `REMOVE|REMOVE_SPACE|PAD_WITH_SPACE`; any rule type may use `NONE`.
        - `personName` PersonNameRule[]: Rules applied to the person name.
          - `type` 'CASE' | 'FIRST_NAME' | 'MIDDLE_NAME' | 'PREFIXES' | 'SUFFIXES' | 'PERIODS_INITIALS' | 'PERIODS_PREFIXES' | 'HYPHENS', required: Person-name normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'CONVERT_TO_INITIAL' | 'ADD' | 'REMOVE', required: Legal values for person-name normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `FIRST_NAME` -> `CONVERT_TO_INITIAL`; `MIDDLE_NAME` -> `CONVERT_TO_INITIAL|REMOVE`; `PREFIXES|SUFFIXES|HYPHENS` -> `REMOVE`; `PERIODS_INITIALS|PERIODS_PREFIXES` -> `ADD|REMOVE`; any rule type may use `NONE`.
        - `companyName` CompanyNameRule[]: Rules applied to the company name.
          - `type` 'CASE' | 'PERIODS' | 'COMMAS' | 'HYPHENS' | 'LEADING_ARTICLES' | 'AND_COMPANY' | 'AND_USAGE' | 'PREFIXES' | 'SUFFIXES' | 'SUFFIXES_COMPANY' | 'SUFFIXES_CORP' | 'SUFFIXES_LTD' | 'SUFFIXES_INTL' | 'SUFFIXES_GROUP' | 'AKA' | 'PARENTHESES' | 'ORDINALS' | 'NUMBERS' | 'INITIALS' | 'WHITESPACE', required: Company-name normalization rule names.
          - `value` 'NONE' | 'PROPER_CASE' | 'UPPERCASE' | 'LOWERCASE' | 'ADD' | 'REMOVE' | 'SINGLE_SPACE_AFTER' | 'PAD_WITH_SPACE' | 'REMOVE_SPACE' | 'MOVE_TO_BEGIN' | 'MOVE_TO_END' | 'CONVERT_TO_AND_CO' | 'CONVERT_TO_AND_COMPANY' | 'CONVERT_TO_AND' | 'CONVERT_TO_AMPERSAND' | 'ABBREVIATE' | 'EXPAND' | 'PARENTHESIZE' | 'REMOVE_DELIMITERS' | 'INSERT_AKA' | 'SPELL_OUT' | 'ADD_PERIODS' | 'SPACE_ONLY' | 'COMPACT', required: Legal values for company-name normalization rules. Valid combinations: `CASE` -> `PROPER_CASE|UPPERCASE|LOWERCASE`; `PERIODS` -> `ADD|REMOVE`; `COMMAS` -> `SINGLE_SPACE_AFTER|REMOVE`; `HYPHENS` -> `PAD_WITH_SPACE|REMOVE_SPACE|REMOVE`; `LEADING_ARTICLES` -> `MOVE_TO_BEGIN|MOVE_TO_END|REMOVE`; `AND_COMPANY` -> `CONVERT_TO_AND_CO|CONVERT_TO_AND_COMPANY`; `AND_USAGE` -> `CONVERT_TO_AND|CONVERT_TO_AMPERSAND`; `PREFIXES` -> `ABBREVIATE|EXPAND`; `SUFFIXES|SUFFIXES_COMPANY|SUFFIXES_CORP|SUFFIXES_LTD|SUFFIXES_INTL|SUFFIXES_GROUP` -> `ABBREVIATE|EXPAND|REMOVE`; `AKA` -> `PARENTHESIZE|REMOVE`; `PARENTHESES` -> `REMOVE|REMOVE_DELIMITERS|INSERT_AKA`; `ORDINALS` -> `ABBREVIATE|EXPAND`; `NUMBERS` -> `SPELL_OUT`; `INITIALS` -> `ADD_PERIODS|SPACE_ONLY|COMPACT`; `WHITESPACE` -> `COMPACT`; any rule type may use `NONE`.
        - `url` UrlRule[]: Rules applied to the URL.
          - `type` 'PATH_PORTION' | 'PROTOCOL' | 'TRAILING_SLASH' | 'WWW', required: Url normalization rule names.
          - `value` 'NONE' | 'REMOVE' | 'ADD' | 'TRUNCATE', required: Legal values for URL normalization rules. Valid combinations: `PATH_PORTION` -> `TRUNCATE`; `PROTOCOL` -> `ADD|REMOVE`; `TRAILING_SLASH` -> `ADD|REMOVE`; `WWW` -> `ADD|REMOVE`; any rule type may use `NONE`.
    - `meta` NormalizeConfigMeta: Non-standard metadata for a normalization config.
      - `createdAt` string, date-time, required: ISO 8601 timestamp at which this config was created.
      - `updatedAt` string, date-time, required: ISO 8601 timestamp at which this config was last updated.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `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)
