---
title: "Patch Dashboard"
method: PATCH
path: "/dashboards/{id}"
---

# Patch Dashboard

`PATCH /dashboards/{id}`

## Request

- Base URL: `https://app.runconverge.com/api`
- URL: `https://app.runconverge.com/api/dashboards/{id}`
- Auth: none declared

## Path parameters

- `id` integer, required

## Headers

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

## Cookies

- `session_id` string, nullable

## Request body

- PatchDashboardSchema
  - `name` string, nullable
  - `description` string, nullable
  - `insights` DashboardInsightSchema[], nullable
    - `dashboard_id` integer, required
    - `insight_id` integer, required
    - `layout` DashboardInsightLayout, required
      - `x` integer, required
      - `y` integer, required
      - `w` integer, required
      - `h` integer, required
  - `query_override` DashboardInsightQueryInput
    - `filters` AnyOfFilters[], nullable
      - `any_of` 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
              - …
    - `custom_dimensions` Selection[]
      - `id` integer, required
      - `values` string[], required
    - `date_range` DateRangeQuery
      - `since` union, required
        - string, date
        - string, date-time
        - string
      - `until` union
        - string, date
        - string, date-time
        - string
    - `time_granularity` 'hour' | 'day' | 'week' | 'month' | 'second'
    - `attribution` AttributionInput
      - `mode` 'click_time' | 'conversion_time'
      - `model` 'first_touch' | 'first_touch_paid' | 'inv_j_shaped' | 'j_shaped' | 'j_shaped_paid' | 'last_touch' | 'last_touch_paid' | 'linear' | 'participation' | 'time_decay' | 'inv_time_decay' | 'u_shaped' | 'direct_session' | 'inv_j_shaped_paid' | 'top_of_funnel'
      - `window` integer
      - `lookback` integer, nullable
    - `currency` string, nullable
  - `tags` string[], nullable
  - `is_public` boolean, nullable

## Response `200`

Successful Response

- DashboardResponseSchema
  - `created_at` string, date-time, required
  - `description` string, nullable
  - `id` integer, required
  - `insights` DashboardInsightSchema[]
    - `dashboard_id` integer, required
    - `insight_id` integer, required
    - `layout` DashboardInsightLayout, required
      - `x` integer, required
      - `y` integer, required
      - `w` integer, required
      - `h` integer, required
  - `name` string, required
  - `query_override` DashboardInsightQueryOutput, required
    - `filters` AnyOfFilters[], nullable
      - `any_of` 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
              - …
    - `custom_dimensions` Selection[]
      - `id` integer, required
      - `values` string[], required
    - `date_range` DateRangeQuery
      - `since` union, required
        - string, date
        - string, date-time
        - string
      - `until` union
        - string, date
        - string, date-time
        - string
    - `time_granularity` 'hour' | 'day' | 'week' | 'month' | 'second'
    - `attribution` ConvergeApiAttributionsAttribution
      - `mode` 'click_time' | 'conversion_time'
      - `model` 'first_touch' | 'first_touch_paid' | 'inv_j_shaped' | 'j_shaped' | 'j_shaped_paid' | 'last_touch' | 'last_touch_paid' | 'linear' | 'participation' | 'time_decay' | 'inv_time_decay' | 'u_shaped' | 'direct_session' | 'inv_j_shaped_paid' | 'top_of_funnel'
      - `window` integer
      - `lookback` integer, nullable
    - `currency` string, nullable
  - `tags` string[]
  - `updated_at` string, date-time, required
  - `creator` AccountSchema
    - `id` integer, required
    - `email` string, required
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `profile_picture_url` string, nullable
  - `editor` AccountSchema
    - `id` integer, required
    - `email` string, required
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `profile_picture_url` string, nullable
  - `public_token` string, nullable
  - `favorited` boolean

## 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 `query_override/filters/anyOf[subschema #1]/items/any_of/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 `query_override/anyOf[subschema #1: DashboardInsightQuery]/filters/anyOf[subschema #1]/items/any_of/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` request property
  - added `#/components/schemas/ProfileCityProperty, #/components/schemas/ProfileStateProperty, #/components/schemas/ProfileCountryCodeProperty` to the `query_override/anyOf[subschema #1: DashboardInsightQuery]/filters/anyOf[subschema #1]/items/any_of/items/oneOf[subschema #1: EventPropertyFilter]/property_name/anyOf[subschema #2]/` request property `oneOf` list
  - added `$city, $country_code, $state` discriminator mapping keys to the `query_override/filters/anyOf[subschema #1]/items/any_of/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/dashboards/:id/patch.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)
