---
title: "Create Custom Dimension"
method: POST
path: "/custom_dimensions"
---

# Create Custom Dimension

`POST /custom_dimensions`

## Request

- Base URL: `https://app.runconverge.com/api`
- URL: `https://app.runconverge.com/api/custom_dimensions`
- Auth: none declared

## Headers

- `Authorization` string, nullable
- `X-User-Id` string, nullable
- `X-Posthog-Session-Id` string

## Cookies

- `session_id` string, nullable

## Request body

- CreateCustomDimensionSchema
  - `name` string, required
  - `icon` CustomIcon
    - `icon` string, required
    - `color` string, nullable
  - `values` CreateCustomDimensionValueSchema[], required
    - `name` string, required
    - `icon` CustomIcon
      - `icon` string, required
      - `color` string, nullable
    - `groups` CustomDimensionValueGroupSchema[], required
      - `filters` union[]
        - union
          - EventPropertyFilter
            - `type` 'event'
            - `scope` 'event' | 'profile' | 'session' | 'product', required
            - `property_name` union, required
              - …
            - `operator` union, required
              - …
          - EventSourceFilter
            - `type` 'event_source'
            - `datasource_id` union
              - …
            - `pixel_id` union
              - …
          - AdPlatformPropertyFilter
            - `type` 'ad_platform'
            - `property` 'channel_group' | 'channel' | 'campaign' | 'adset' | 'ad', required
            - `operator` union, required
              - …
          - AdPlatformSourceFilter
            - `type` 'ad_platform_source'
            - `ad_platform_id` union, required
              - …
          - TouchpointFilter
            - `type` 'touchpoint'
            - `property` 'channel_group' | 'channel' | 'campaign' | 'adset' | 'ad', required
            - `operator` union, required
              - …
            - `legacy` boolean
          - CustomDimensionFilter
            - `type` 'custom_dimension'
            - `custom_dimension_id` integer, required
            - `values` string[], required
          - AdPropertiesFilter
            - `type` 'ad_properties'
            - `property` 'ad_created_at' | 'ad_status' | 'adset_status' | 'campaign_status' | 'ad_landing_url', required
            - `operator` union, required
              - …
      - `sources` Source[], required
        - `datasource_id` integer, nullable
        - `pixel_id` integer, nullable
        - `ad_platform_id` integer, nullable
      - `type` 'event' | 'ad_platform', required

## Response `200`

Successful Response

- CustomDimensionResponseSchema
  - `name` string, required
  - `icon` CustomIcon
    - `icon` string, required
    - `color` string, nullable
  - `values` CreateCustomDimensionValueSchema[], required
    - `name` string, required
    - `icon` CustomIcon
      - `icon` string, required
      - `color` string, nullable
    - `groups` CustomDimensionValueGroupSchema[], required
      - `filters` union[]
        - union
          - EventPropertyFilter
            - `type` 'event'
            - `scope` 'event' | 'profile' | 'session' | 'product', required
            - `property_name` union, required
              - …
            - `operator` union, required
              - …
          - EventSourceFilter
            - `type` 'event_source'
            - `datasource_id` union
              - …
            - `pixel_id` union
              - …
          - AdPlatformPropertyFilter
            - `type` 'ad_platform'
            - `property` 'channel_group' | 'channel' | 'campaign' | 'adset' | 'ad', required
            - `operator` union, required
              - …
          - AdPlatformSourceFilter
            - `type` 'ad_platform_source'
            - `ad_platform_id` union, required
              - …
          - TouchpointFilter
            - `type` 'touchpoint'
            - `property` 'channel_group' | 'channel' | 'campaign' | 'adset' | 'ad', required
            - `operator` union, required
              - …
            - `legacy` boolean
          - CustomDimensionFilter
            - `type` 'custom_dimension'
            - `custom_dimension_id` integer, required
            - `values` string[], required
          - AdPropertiesFilter
            - `type` 'ad_properties'
            - `property` 'ad_created_at' | 'ad_status' | 'adset_status' | 'campaign_status' | 'ad_landing_url', required
            - `operator` union, required
              - …
      - `sources` Source[], required
        - `datasource_id` integer, nullable
        - `pixel_id` integer, nullable
        - `ad_platform_id` integer, nullable
      - `type` 'event' | 'ad_platform', required
  - `id` integer, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `creator` AccountSchema, required
    - `id` integer, required
    - `email` string, required
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `profile_picture_url` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-13** `118b0bdc2a6a`: 1 breaking, 3 info
  - added `#/components/schemas/ProfileCityProperty, #/components/schemas/ProfileStateProperty, #/components/schemas/ProfileCountryCodeProperty` to the `values/items/groups/items/filters/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` response property `oneOf` list for the response status `200`
  - added `$city, $country_code, $state` discriminator mapping keys to the `values/items/groups/items/filters/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` request property
  - added `#/components/schemas/ProfileCityProperty, #/components/schemas/ProfileStateProperty, #/components/schemas/ProfileCountryCodeProperty` to the `values/items/groups/items/filters/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` request property `oneOf` list
  - added `$city, $country_code, $state` discriminator mapping keys to the `values/items/groups/items/filters/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/runconverge/apis/runconverge-api/changes/custom_dimensions/post.md)

---

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