---
title: "Update an existing profile tab"
method: PATCH
path: "/v1/org/{orgId}/profile-tab/{profileTabId}"
tags: ["profile-tab"]
---

# Update an existing profile tab

`PATCH /v1/org/{orgId}/profile-tab/{profileTabId}`

## Path parameters

- `orgId` string, required
- `profileTabId` string, required

## Request body

- UpdateProfileTab
  - `label` string — human-readable name of profile tab
  - `labelTr` Translations
    - `values` object, required
  - `blocks` Block[] — ordered list of blocks contained by profile tab
    - `type` 'CONTENT' | 'TASK' | 'CALENDAR' — the type of this block, or null if legacy
    - `label` string — human readable label for this block
    - `height` object — fixed height in px, or expand if “stretch”, or fit to contents if null
    - `targetFilter` string — filter condition expression applied to this block, used to determine whether the content appears on the target or not
    - `readFilter` string — filter condition expression applied to this block, relative to the viewer
    - `formIds` string[] — form ids to surface responses in this block
    - `fields` string[] — fields retrieved in this block
    - `title` string — title to show in block header
    - `content` string — template content returned in this block
    - `contentTr` Translations
      - `values` object, required
    - `primaryButton` LayoutButton
      - `url` string, required
      - `label` string, required
    - `secondaryButton` LayoutButton
      - `url` string, required
      - `label` string, required
  - `layout` Layout
    - `rows` LayoutRow[], required
      - `columns` LayoutColumn[], required
        - `blocks` Block[], required
          - `type` 'CONTENT' | 'TASK' | 'CALENDAR' — the type of this block, or null if legacy
          - `label` string — human readable label for this block
          - `height` object — fixed height in px, or expand if “stretch”, or fit to contents if null
          - `targetFilter` string — filter condition expression applied to this block, used to determine whether the content appears on the target or not
          - `readFilter` string — filter condition expression applied to this block, relative to the viewer
          - `formIds` string[] — form ids to surface responses in this block
          - `fields` string[] — fields retrieved in this block
          - `title` string — title to show in block header
          - `content` string — template content returned in this block
          - `contentTr` Translations
            - `values` object, required
          - `primaryButton` LayoutButton
            - `url` string, required
            - `label` string, required
          - `secondaryButton` LayoutButton
            - `url` string, required
            - `label` string, required
      - `format` string, required
  - `status` 'ACTIVE' | 'INACTIVE' — status of the profile tab
  - `targetFilter` string — filter that controls on which profiles this tab will appear
  - `readFilter` string — filter that controls which viewers can read this profile tab. The profileTab:read permission, if present, overrides this filter
  - `sort` integer — sort order

## Response `204`

updated

## Other responses

- `400` — invalid data
- `401` — not authorized
- `403` — permission denied
- `404` — not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/revisions/2de21f45f447/schema)
