---
title: "POST /v1/users"
method: POST
path: "/v1/users"
tags: ["users"]
---

# POST /v1/users

`POST /v1/users`

Create a new User with provided credentials

## Request body

- NewUser
  - `contact` NewContact
    - `additional_name` string
    - `addresses` PostalAddress[]
      - `address_id` string
      - `city` string, required
      - `country` string
      - `is_primary` boolean
      - `label` string
      - `postal_code` string
      - `region` string
      - `street` string
      - `type` string
    - `avatar` string
    - `emails` NewEmail[]
      - `address` string, required
      - `is_primary` boolean
      - `label` string
      - `type` string
    - `family_name` string
    - `given_name` string
    - `title` string
    - `groups` string[]
    - `identities` SocialIdentity[]
      - `social_id` string
      - `infos` object
      - `name` string, required
      - `type` string
    - `ims` object[]
    - `infos` object
    - `name_prefix` string
    - `name_suffix` string
    - `organizations` object[]
    - `phones` Phone[]
      - `phone_id` string
      - `normalized_number` string
      - `is_primary` boolean
      - `number` string, required
      - `type` string
      - `uri` string
    - `public_keys` PublicKey[]
      - `alg` string
      - `crv` string
      - `date_insert` string, date-time
      - `date_update` string, date-time
      - `emails` string[]
      - `expire_date` string, date-time
      - `fingerprint` string
      - `kty` string
      - `key_id` string, required
      - `type` string
      - `resource_id` string, required
      - `resource_type` string
      - `size` integer
      - `use` string
      - `user_id` string, required
      - `x` integer
      - `y` integer
      - `key` string, required — DER or PEM key, base64 encoded
      - `label` string, required
  - `username` string, required
  - `password` string, required
  - `recovery_email` string, required
  - `tos` boolean
  - `privacy` boolean
  - `settings` Settings
    - `default_locale` string
    - `message_display_format` string
    - `contact_display_order` string
    - `contact_display_format` string
    - `notification_enabled` boolean
    - `notification_message_preview` string
    - `notification_sound_enabled` boolean
    - `notification_delay_disappear` integer
  - `device` DefaultDevice
    - `device_id` string, required
    - `ecdsa_key` ECKey, required
      - `curve` 'P-256' | 'P-384' | 'P-512', required
      - `hash` 'SHA256' | 'SHA384' | 'SHA512'
      - `x` string, required
      - `y` string, required

## Response `200`

User creation completed

- object
  - `location` string — url to retrieve new user's infos at /users/{user_id}

## Other responses

- `400` — json payload malformed
- `406` — NotAcceptable. Server refuses to fulfill the request

---

[API](https://skmtc.net/caliopen/apis/caliopen-http-rest-api.md) · [All operations](https://skmtc.net/caliopen/apis/caliopen-http-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/caliopen/caliopen-http-rest-api/revisions/f32b5d08284d/schema)
