---
title: "Create or update a Profile in the registry"
method: PUT
path: "/sources/{sourceKey}/v1/profiles/{profileKey}"
tags: ["Profiles"]
---

# Create or update a Profile in the registry

`PUT /sources/{sourceKey}/v1/profiles/{profileKey}`

Updating a profile is currently not supported and will return a 501.

## Path parameters

- `sourceKey` string, required
- `profileKey` string, required

## Request body

- object
  - `type` 'ROOT' | 'CONTAINED', required
  - `description` string — Description of the profile.
  - `properties` object, required — Properties of the profile. It must follow pattern: `^[a-zA-Z0-9-][\w-]$`.
  - `contained` object — Contained of the profile. It must follow pattern: `^[a-zA-Z0-9-][\w-]$`.

## Response `201`

The profile was created successfully.

- V1Profile
  - `key` string, required
  - `type` 'ROOT' | 'CONTAINED', required
  - `description` string — Description of the profile.
  - `properties` object, required
  - `contained` object

## Other responses

- `400` — Returned when the request is malformed or invalid.
- `404` — Returned when a vocabulary used in a property binding does not exist.
- `413` — Returned when the payload exceeds the max content size (100kB).
- `501` — Returned when the profile already exists since updating a profile is not implemented yet.

---

[API](https://skmtc.dev/clinia/apis/registry-api.md) · [All operations](https://skmtc.dev/clinia/apis/registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/clinia/registry-api/revisions/3a9197b11351/schema)
