---
title: "Create a character"
method: POST
path: "/civilians/characters"
tags: ["Civilians"]
---

# Create a character

`POST /civilians/characters`

Creates a full civilian character (auto driver license number).
`userId` is the Discord user who owns the character in Anchor (not the character id).
Store `character.id` from the response for later PATCH/DELETE.

## Request body

- CreateCharacterBody
  - `userId` string, required — Discord user who owns the character in Anchor (not the character id)
  - `firstName` string, required
  - `middleInitial` string
  - `lastName` string, required
  - `dob` string, required — Date of birth (YYYY-MM-DD)
  - `eyeColor` string, required
  - `hairColor` string, required
  - `skinTone` string, required
  - `weight` number, required
  - `height` string
  - `residence` string, required
  - `gender` string
  - `phone` string
  - `occupation` string
  - `notes` string

## Response `200`

Character created (some clients may receive 200)

- CreateCharacterResponse
  - `character` CharacterSummary, required
    - `id` string, uuid — Character UUID for GET/PATCH/DELETE
    - `userId` string — Discord owner id
    - `firstName` string
    - `lastName` string
    - `fullName` string
    - `dob` string
    - `driversLicenseNo` string
    - `updatedAt` string

## Other responses

- `201` — Character created — store `character.id` for PATCH/DELETE
- `400` — Bad input / ER:LC not configured / civilian disabled
- `401` — Missing or invalid key
- `403` — Insufficient scope or cross-panel serverId

---

[API](https://skmtc.dev/anchr/apis/anchor-open-developer-api.md) · [All operations](https://skmtc.dev/anchr/apis/anchor-open-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/anchr/anchor-open-developer-api/revisions/3a14d4cb4985/schema)
