---
title: "Add a work experience"
method: POST
path: "/members/{memberId}/work-experiences"
tags: ["Work Experiences"]
---

# Add a work experience

`POST /members/{memberId}/work-experiences`

Add a new work experience to a member profile. Returns 409 if a work experience with the same dates already exists.

## Path parameters

- `memberId` string, uuid, required

## Request body

- WorkExperienceInput
  - `organizationId` string, uuid, required
  - `jobTitle` string, required — Job title at the organization.
  - `verified` boolean, required
  - `verifiedBy` string, required — Identifier of who verified this work experience.
  - `source` string, required — Source system (e.g. lfxOne).
  - `startDate` string, date-time, required — Start date of the work experience.
  - `endDate` string, date-time, nullable — End date, or null if currently active.

## Response `201`

Work experience created.

- WorkExperience
  - `id` string, uuid, required
  - `organizationId` string, uuid, required
  - `organizationName` string, nullable, required — Display name of the organization.
  - `organizationLogo` string, nullable — URL of the organization logo.
  - `organizationDomains` string[], required — Verified primary domains for the organization, in alphabetical order.
  - `jobTitle` string, nullable, required
  - `verified` boolean, required
  - `verifiedBy` string, nullable, required
  - `source` string, nullable, required — Source system that created this work experience.
  - `startDate` string, date-time, nullable, required
  - `endDate` string, date-time, nullable, required — End date, or null if currently active.
  - `createdAt` string, date-time, nullable, required
  - `updatedAt` string, date-time, nullable, required

## Other responses

- `400` — Invalid request body or query parameters.
- `401` — Missing or invalid authentication credentials.
- `403` — Authentication valid but insufficient scopes.
- `404` — No member found with the given ID.
- `409` — A work experience with the same dates already exists.

## Changes

> 10 revisions in range; 1 could not be searched.

- **2026-08-18** `08aceca4f417` — 1 breaking
  - the `verifiedBy` request property's minLength was increased from `0` to `1`
- **2026-07-08** `bca76fd64a6f` — 1 info
  - added the required property `organizationDomains` to the response with the `201` status
- **2026-04-08** `4bd1bf1b8718` — 1 breaking
  - removed the required property `organizationDomains` from the response with the `201` status

[Change history](https://skmtc.dev/linuxfoundation/apis/cdp-public-api/changes/members/:memberId/work-experiences/post.md)

---

[API](https://skmtc.dev/linuxfoundation/apis/cdp-public-api.md) · [All operations](https://skmtc.dev/linuxfoundation/apis/cdp-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/linuxfoundation/cdp-public-api/revisions/08aceca4f417/schema)
