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

# POST /users

`POST /users`

Creates a new user

## Request body

- CreateUserRequestBody
  - `user_id` string — Optional user hash ID (will be generated if not provided)
  - `handle` string, required — User handle (unique username)
  - `wallet` string, required — Wallet address (required)
  - `name` string — Display name
  - `bio` string — User bio
  - `location` string — User location
  - `website` string, uri — Website URL
  - `donation` string — Donation link
  - `twitter_handle` string — Twitter handle (without @)
  - `instagram_handle` string — Instagram handle (without @)
  - `tiktok_handle` string — TikTok handle (without @)
  - `profile_picture` string — Profile picture CID or URL
  - `profile_picture_sizes` string — Profile picture sizes metadata
  - `cover_photo` string — Cover photo CID or URL
  - `cover_photo_sizes` string — Cover photo sizes metadata
  - `profile_type` 'label', nullable — Type of profile (e.g., 'label' for record labels)
  - `allow_ai_attribution` boolean — Whether to allow AI attribution
  - `spl_usdc_payout_wallet` string — Solana USDC payout wallet address
  - `coin_flair_mint` string — Coin flair mint address
  - `playlist_library` UserPlaylistLibrary — User's playlist library with support for folders and playlists
    - `contents` union[], required — Array of folders and playlist identifiers
      - union
        - PlaylistLibraryFolder — Folder containing nested playlists and folders
          - `id` string, required — Unique folder identifier
          - `type` 'folder', required
          - `name` string, required — Folder name
          - `contents` union[], required — Nested folders and playlist identifiers
            - union
              - …
        - PlaylistLibraryPlaylistIdentifier — Reference to a playlist
          - `type` 'playlist', required
          - `playlist_id` integer, required — Playlist ID
        - PlaylistLibraryExplorePlaylistIdentifier — Reference to an explore playlist
          - `type` 'explore_playlist', required
          - `playlist_id` string, required — Explore playlist identifier
  - `events` object — User events for tracking referrals and mobile users
    - `referrer` string — Hash ID of the user who referred this user
    - `is_mobile_user` boolean — Whether the user is on mobile

## Response `201`

User created successfully

- CreateUserResponse
  - `transaction_hash` string — The blockchain transaction hash
  - `block_hash` string — The blockchain block hash
  - `block_number` integer — The blockchain block number/height
  - `user_id` string — The ID of the created user

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Server error

---

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