---
title: "POST /api/users/{id}/messages"
method: POST
path: "/api/users/{id}/messages"
tags: ["UserApi"]
---

# POST /api/users/{id}/messages

`POST /api/users/{id}/messages`

## Request

- Base URL: `https://vocadb.net` (the document declares no server; this is the origin it was published from)
- URL: `https://vocadb.net/api/users/{id}/messages`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vocadb/apis/vocadbweb/docs/api/users/:id/messages/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` integer, required

## Request body

- UserMessageContract
  - `body` string, nullable
  - `createdFormatted` string, nullable
  - `highPriority` boolean
  - `id` integer
  - `inbox` 'Nothing' | 'Received' | 'Sent' | 'Notifications'
  - `read` boolean
  - `receiver` UserForApiContract
    - `active` boolean
    - `groupId` 'Nothing' | 'Limited' | 'Regular' | 'Trusted' | 'Moderator' | 'Admin'
    - `knownLanguages` UserKnownLanguageContract[], nullable
      - `cultureCode` string, nullable
      - `proficiency` 'Nothing' | 'Basics' | 'Intermediate' | 'Advanced' | 'Native'
    - `mainPicture` EntryThumbForApiContract
      - `mime` string, nullable
      - `name` string, nullable
      - `urlOriginal` string, nullable
      - `urlSmallThumb` string, nullable
      - `urlThumb` string, nullable
      - `urlTinyThumb` string, nullable
    - `memberSince` string, date-time
    - `oldUsernames` OldUsernameContract[], nullable
      - `date` string, date-time
      - `oldName` string, nullable
    - `verifiedArtist` boolean
    - `id` integer
    - `name` string, nullable
  - `sender` UserForApiContract
    - `active` boolean
    - `groupId` 'Nothing' | 'Limited' | 'Regular' | 'Trusted' | 'Moderator' | 'Admin'
    - `knownLanguages` UserKnownLanguageContract[], nullable
      - `cultureCode` string, nullable
      - `proficiency` 'Nothing' | 'Basics' | 'Intermediate' | 'Advanced' | 'Native'
    - `mainPicture` EntryThumbForApiContract
      - `mime` string, nullable
      - `name` string, nullable
      - `urlOriginal` string, nullable
      - `urlSmallThumb` string, nullable
      - `urlThumb` string, nullable
      - `urlTinyThumb` string, nullable
    - `memberSince` string, date-time
    - `oldUsernames` OldUsernameContract[], nullable
      - `date` string, date-time
      - `oldName` string, nullable
    - `verifiedArtist` boolean
    - `id` integer
    - `name` string, nullable
  - `subject` string, nullable

## Response `200`

Success

- UserMessageContract
  - `body` string, nullable
  - `createdFormatted` string, nullable
  - `highPriority` boolean
  - `id` integer
  - `inbox` 'Nothing' | 'Received' | 'Sent' | 'Notifications'
  - `read` boolean
  - `receiver` UserForApiContract
    - `active` boolean
    - `groupId` 'Nothing' | 'Limited' | 'Regular' | 'Trusted' | 'Moderator' | 'Admin'
    - `knownLanguages` UserKnownLanguageContract[], nullable
      - `cultureCode` string, nullable
      - `proficiency` 'Nothing' | 'Basics' | 'Intermediate' | 'Advanced' | 'Native'
    - `mainPicture` EntryThumbForApiContract
      - `mime` string, nullable
      - `name` string, nullable
      - `urlOriginal` string, nullable
      - `urlSmallThumb` string, nullable
      - `urlThumb` string, nullable
      - `urlTinyThumb` string, nullable
    - `memberSince` string, date-time
    - `oldUsernames` OldUsernameContract[], nullable
      - `date` string, date-time
      - `oldName` string, nullable
    - `verifiedArtist` boolean
    - `id` integer
    - `name` string, nullable
  - `sender` UserForApiContract
    - `active` boolean
    - `groupId` 'Nothing' | 'Limited' | 'Regular' | 'Trusted' | 'Moderator' | 'Admin'
    - `knownLanguages` UserKnownLanguageContract[], nullable
      - `cultureCode` string, nullable
      - `proficiency` 'Nothing' | 'Basics' | 'Intermediate' | 'Advanced' | 'Native'
    - `mainPicture` EntryThumbForApiContract
      - `mime` string, nullable
      - `name` string, nullable
      - `urlOriginal` string, nullable
      - `urlSmallThumb` string, nullable
      - `urlThumb` string, nullable
      - `urlTinyThumb` string, nullable
    - `memberSince` string, date-time
    - `oldUsernames` OldUsernameContract[], nullable
      - `date` string, date-time
      - `oldName` string, nullable
    - `verifiedArtist` boolean
    - `id` integer
    - `name` string, nullable
  - `subject` string, nullable

## Changes

- **2023-02-17** `a58e37404e87`: 14 info
  - added the new optional request property `receiver/mainPicture/name` (media type: application/json-patch+json)
  - added the new optional request property `receiver/mainPicture/name` (media type: application/json)
  - added the new optional request property `receiver/mainPicture/name` (media type: text/json)
  - added the new optional request property `receiver/mainPicture/name` (media type: application/*+json)
  - …10 more

[Operation history](https://skmtc.dev/vocadb/apis/vocadbweb/changes/api/users/:id/messages/post.md)

---

[API](https://skmtc.dev/vocadb/apis/vocadbweb.md) - [All operations](https://skmtc.dev/vocadb/apis/vocadbweb/llms.txt) - [OpenAPI document](https://skmtc.dev/vocadb/apis/vocadbweb/revisions/d1328dfaa36f?raw)
