---
title: "Create profile"
method: POST
path: "/v1/profiles"
tags: ["Profiles"]
---

# Create profile

`POST /v1/profiles`

## Request

- Base URL: `https://api.postlake.dev`
- URL: `https://api.postlake.dev/v1/profiles`
- Auth: `bearerAuth` (a scheme the document does not define)

Create a named profile. Send `name` as a person would write it (spaces and capitals are fine); it is slugified into the identifier agents address the profile by, and the original is kept for display. `username` is still accepted as an alias for `name`.

## Request body

- object
  - `name` string: e.g. "Otaku Gems News", stored as otaku-gems-news
  - `username` string: Alias for name, kept for compatibility.

## Response `201`

Created

- Profile
  - `id` string, required
  - `username` string, required: The identifier agents put in `profile:`. Slugified.
  - `name` string: What the person typed, for display. Absent on profiles created before this existed.
  - `createdAt` string, date-time, required

## Other responses

- `400`: Invalid input
- `401`: Unauthorized

---

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