# update_my_profile: Update my profile

Read, preview a change to, or change your own profile. This action can change or spend something, and it happens right away. Plan: Free and Connect.

```
POST https://api.heyreagent.com/v1/actions/update_my_profile
Authorization: Bearer YOUR_KEY
content-type: application/json

{}
```

## What you give it

- `connectionId` (optional): a connection id. Whose profile to edit: the LinkedIn account id from list_linkedin_accounts. May be omitted only when the setup has exactly one live sender. Where to get it: Run `list_linkedin_accounts` and use `accounts[].id`.
- `headline` (optional): text, up to 220 characters. New headline — the line under the name (max 220 characters).
- `about` (optional): text, up to 2600 characters. New About section (max 2600 characters). Replaces the whole section.
- `location` (optional): text, up to 120 characters. New profile location as a place name, e.g. "Austin, Texas". Matched to a LinkedIn place — the preview shows the match.
- `locationId` (optional): a search filter id. An exact LinkedIn place id, taken from locationOptions in a preview. Overrides location. Where to get it: run `lookup_search_ids` with type `LOCATION` and use `matches[].id`.
- `postalCode` (optional): text. 5-digit postal code to go with the location (optional).
- `websiteLink` (optional): a group of fields. The link shown near the top of the profile.
  - `type` (needed): one of: WEBSITE, PORTFOLIO, BLOG, NEWSLETTER, STORE. What the link is.
  - `url` (needed): a link. The full https:// URL.
  - `displayOn` (optional): one of: EVERYWHERE, PROFILE_ONLY. Where LinkedIn shows it (default EVERYWHERE).
- `experience` (optional): a group of fields. Add or edit ONE experience entry.
  - `id` (optional): a profile entry id. Id of the experience to EDIT (from the preview's current.experience). Omit to ADD a new one. Where to get it: An earlier answer of this same action has it, in `experience[].id`.
  - `role` (optional): text, up to 100 characters. Job title. Required when adding.
  - `company` (optional): text, up to 100 characters. Company name. Required when adding.
  - `companyId` (optional): a company id. LinkedIn company id, to link the entry to that company page (e.g. a companyId from search_companies). Where to get it: Run `search_linkedin_companies` and use `results[].id`.
  - `location` (optional): text, up to 120 characters. Where the job is / was, as free text.
  - `presence` (optional): one of: ON_SITE, HYBRID, REMOTE. 
  - `startDate` (optional): a group of fields. 
  - `endDate` (optional): a group of fields. Omit for a current position.
  - `description` (optional): text, up to 2000 characters. 
  - `notifyNetwork` (optional): true or false. true = let LinkedIn announce it to the network. Default false (no announcement).
- `education` (optional): a group of fields. Add or edit ONE education entry.
  - `id` (optional): a profile entry id. Id of the education entry to EDIT (from the preview's current.education). Omit to ADD a new one. Where to get it: An earlier answer of this same action has it, in `experience[].id`.
  - `school` (optional): text, up to 150 characters. School name. Required when adding.
  - `degree` (optional): text, up to 100 characters. 
  - `fieldOfStudy` (optional): text, up to 100 characters. 
  - `grade` (optional): text, up to 80 characters. 
  - `activities` (optional): text, up to 500 characters. 
  - `description` (optional): text, up to 2000 characters. 
  - `startDate` (optional): a group of fields. 
  - `endDate` (optional): a group of fields. 
  - `notifyNetwork` (optional): true or false. true = let LinkedIn announce it to the network. Default false (no announcement).
- `addSkills` (optional): a list (text, up to 80 characters), up to 20. Skills to ADD to the profile, by name (up to 20 per call). Skills already on the profile are kept; removing a skill is not possible here.
- `pictureUrl` (optional): a link. New PROFILE picture: a public https:// link straight to a JPEG or PNG file (max 8MB). LinkedIn applies its default crop.
- `coverPictureUrl` (optional): a link. New COVER (banner) picture: a public https:// link straight to a JPEG or PNG file (max 8MB). LinkedIn's banner is 1584×396.
- `openToWork` (optional): a group of fields. Set the "open to work" job preferences. It cannot be turned off from here.
  - `jobTitles` (needed): a list (text, up to 100 characters), up to 5. Job titles the person is open to (1–5), by name — each is matched to LinkedIn's own title list.
  - `workplaces` (needed): a list (one of: ON_SITE, HYBRID, REMOTE). Which workplace types: ON_SITE, HYBRID, REMOTE.
  - `onSiteLocations` (optional): a list (text), up to 5. Places for on-site / hybrid work, by name. Required when workplaces has ON_SITE or HYBRID.
  - `remoteLocations` (optional): a list (text), up to 5. Places (usually countries) for remote work, by name. Required when workplaces has REMOTE.
  - `startDate` (optional): one of: IMMEDIATELY, FLEXIBLE. 
  - `employmentTypes` (optional): a list (one of: FULL_TIME, PART_TIME, CONTRACT, INTERNSHIP, TEMPORARY). 
  - `visibility` (needed): one of: RECRUITERS_ONLY, ALL. RECRUITERS_ONLY = only people using LinkedIn Recruiter see it. ALL = everyone sees it, with the green #OpenToWork frame on the profile photo — ask the user which, never assume.
- `confirm` (optional): true or false. false (default) = preview only, nothing changes. true = change the profile now (only after the user said yes).

## What you get back

- `action`
- `account`
- `message`
- `profileUrl`
- `experience`
- `education`
- `locationOptions`
- `changes`

## Good to know

- What comes back depends on action. Called with no field: "current_profile", with profileUrl, experience[].id and education[].id. With a field and confirm false: "preview", with changes, and locationOptions when the place name matched more than one place. With confirm true: "updated".
- To edit an existing experience or education entry pass its id; without one a new entry is added.
- location is a place name the action looks up itself; locationId overrides it.

Page: https://heyreagent.com/docs/actions/update_my_profile