---
title: "Update personal page of the requesting user"
method: PATCH
path: "/v4/personal-page/me"
tags: ["Personal Page V4"]
---

# Update personal page of the requesting user

`PATCH /v4/personal-page/me`

## Request

- Base URL: `https://developer.meetergo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.meetergo.com/v4/personal-page/me`
- Auth: one of:
  - API key in header `x-meetergo-api-user-id`
  - HTTP bearer
  - HTTP bearer

## Request body

- UpdatePersonalPageDto
  - `useCustomColors` boolean
  - `primaryColor` string
  - `secondaryColor` string
  - `headerImage` string, nullable
  - `theme` BusinessCardTheme
    - `preset` string: Theme preset key, e.g. classic, nocturne
    - `accent` string: Hex accent color override
    - `background` BusinessCardBackground
      - `type` 'solid' | 'gradient' | 'image'
      - `value` string
    - `font` 'sans' | 'serif' | 'grotesk' | 'mono' | 'condensed' | 'rounded'
    - `buttonShape` 'sharp' | 'rounded' | 'pill'
  - `blocks` CardBlock[], nullable: Ordered content blocks (headline, text, video, file, divider) shown on the card. Sanitized in updatePersonaPage.
    - `id` string, required: Client-generated stable id
    - `type` 'headline' | 'text' | 'link' | 'video' | 'image' | 'file' | 'divider' | 'faq' | 'stats' | 'collection' | 'form' | 'reviews' | 'meetingType', required
    - `visible` boolean, required
    - `text` string: Content for headline/text blocks
    - `url` string: URL for video, file, link, image, or form blocks
    - `label` string: Display label for file, link, image, collection, form, and reviews blocks
    - `meetingTypeId` string: Meeting type rendered at this position by a meetingType block
    - `items` CardBlockItem[]
      - `title` string, required
      - `text` string, required
    - `children` CardBlock[]
  - `businessCardDraft` object, nullable: Staged, not-yet-published design edits: { theme?, blocks? }. Null means no unpublished changes. Never served on public surfaces.
  - `description` string
  - `showAllMeetingTypes` boolean: If true, show all user meeting types on business card. If false, show only selected meeting types.
  - `showMeetingsSection` boolean: If true, the card renders the automatic meetings section (heading, "show all" toggle, its own list) above the content blocks. Cards created since the block editor took over start without it: booking options are placed as `meetingType` blocks instead, so images and text can sit between them. Backfilled to true for every card that already showed at least one booking option.
  - `showContactExchange` boolean: If true, the card offers visitors the contact-exchange form beside "save contact". Owners who only want to hand out their own details switch it off.
  - `meetingTypeOrder` string[]
  - `onlineProfiles` UpdateOnlineProfilesDto
    - `linkedIn` string
    - `facebook` string
    - `twitter` string
    - `instagram` string
    - `xing` string
    - `phone` string
    - `email` string
    - `customLinks` CustomLink[]
      - `name` string, required
      - `url` string, required
      - `icon` string, required
    - `addressStreet` string
    - `addressCity` string
    - `addressPostalCode` string
    - `addressCountry` string

## Response `200`

## Other responses

- `400`: The request did not validate. `message` lists the constraints that failed.
- `401`: Missing, malformed, or expired credentials.
- `403`: Authenticated, but not allowed: the plan does not include this feature, or the token is scoped away from it.
- `429`: Rate limited. Back off and retry.

---

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