---
title: "POST /accounts/register/"
method: POST
path: "/accounts/register/"
tags: ["accounts"]
---

# POST /accounts/register/

`POST /accounts/register/`

Register new user.

## Request body

- RegisterUserRequest — Default serializer used for user registration. It will use these: * User fields * :ref:`user-hidden-fields-setting` setting * :ref:`user-public-fields-setting` setting to automagically generate the required serializer fields.
  - `password` string, required
  - `username` string, required — Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
  - `email` string, email, required
  - `first_name` string, nullable — First name
  - `last_name` string, nullable — Last name
  - `settings` TournesolUserSettingsRequest — A representation of all user settings of the Tournesol project. This representation includes poll-agnostic settings in addition to the specific settings of each poll.
    - `general` GeneralUserSettingsRequest — The general user settings that are not related to Tournesol polls.
      - `notifications__lang` 'en' | 'fr' — * `en` - en * `fr` - fr
      - `notifications_email__research` boolean
      - `notifications_email__new_features` boolean
      - `home__intro_hidden` boolean
    - `videos` VideosPollUserSettingsRequest — The settings specific to the `videos` poll. Also inherit the settings common to each poll.
      - `comparison__auto_select_entities` boolean
      - `comparison__criteria_order` string[]
      - `comparison_ui__weekly_collective_goal_display` union
        - 'ALWAYS' | 'EMBEDDED_ONLY' | 'WEBSITE_ONLY' | 'NEVER' — * `ALWAYS` - always * `EMBEDDED_ONLY` - embedded_only * `WEBSITE_ONLY` - website_only * `NEVER` - never
        - ''
      - `comparison_ui__weekly_collective_goal_mobile` boolean
      - `rate_later__auto_remove` integer
      - `extension__search_reco` boolean — Whether Tournesol recommendations should be integrated in Youtube.com search results.
      - `extension__on_video_watched` union — What the browser extension should do when a video is detected as watched on YouTube. * `DO_NOTHING` - do_nothing * `MARK_AS_WATCHED` - mark_as_watched * `MARK_AS_WATCHED_AND_RATE_LATER` - mark_as_watched_and_rate_later
        - 'DO_NOTHING' | 'MARK_AS_WATCHED' | 'MARK_AS_WATCHED_AND_RATE_LATER' — * `DO_NOTHING` - do_nothing * `MARK_AS_WATCHED` - mark_as_watched * `MARK_AS_WATCHED_AND_RATE_LATER` - mark_as_watched_and_rate_later
        - ''
      - `recommendations__default_date` union
        - 'TODAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ALL_TIME' — * `TODAY` - today * `WEEK` - week * `MONTH` - month * `YEAR` - year * `ALL_TIME` - all_time
        - ''
      - `recommendations__default_languages` string[]
      - `recommendations__default_unsafe` boolean
      - `recommendations__default_exclude_compared_entities` boolean
      - `feed_foryou__date` union
        - 'TODAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ALL_TIME' — * `TODAY` - today * `WEEK` - week * `MONTH` - month * `YEAR` - year * `ALL_TIME` - all_time
        - ''
      - `feed_foryou__languages` string[]
      - `feed_foryou__unsafe` boolean
      - `feed_foryou__exclude_compared_entities` boolean
      - `feed_topitems__languages` string[]
  - `password_confirm` string, required

## Response `200`

- RegisterUser — Default serializer used for user registration. It will use these: * User fields * :ref:`user-hidden-fields-setting` setting * :ref:`user-public-fields-setting` setting to automagically generate the required serializer fields.
  - `id` integer, required
  - `password` string, required
  - `username` string, required — Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
  - `email` string, email, required
  - `first_name` string, nullable — First name
  - `last_name` string, nullable — Last name
  - `trust_score` number, double, nullable, required — The trust score assigned to the user based on trusted domains and the vouching mechanism.
  - `settings` TournesolUserSettings — A representation of all user settings of the Tournesol project. This representation includes poll-agnostic settings in addition to the specific settings of each poll.
    - `general` GeneralUserSettings — The general user settings that are not related to Tournesol polls.
      - `notifications__lang` 'en' | 'fr' — * `en` - en * `fr` - fr
      - `notifications_email__research` boolean
      - `notifications_email__new_features` boolean
      - `home__intro_hidden` boolean
    - `videos` VideosPollUserSettings — The settings specific to the `videos` poll. Also inherit the settings common to each poll.
      - `comparison__auto_select_entities` boolean
      - `comparison__criteria_order` string[]
      - `comparison_ui__weekly_collective_goal_display` union
        - 'ALWAYS' | 'EMBEDDED_ONLY' | 'WEBSITE_ONLY' | 'NEVER' — * `ALWAYS` - always * `EMBEDDED_ONLY` - embedded_only * `WEBSITE_ONLY` - website_only * `NEVER` - never
        - ''
      - `comparison_ui__weekly_collective_goal_mobile` boolean
      - `rate_later__auto_remove` integer
      - `extension__search_reco` boolean — Whether Tournesol recommendations should be integrated in Youtube.com search results.
      - `extension__on_video_watched` union — What the browser extension should do when a video is detected as watched on YouTube. * `DO_NOTHING` - do_nothing * `MARK_AS_WATCHED` - mark_as_watched * `MARK_AS_WATCHED_AND_RATE_LATER` - mark_as_watched_and_rate_later
        - 'DO_NOTHING' | 'MARK_AS_WATCHED' | 'MARK_AS_WATCHED_AND_RATE_LATER' — * `DO_NOTHING` - do_nothing * `MARK_AS_WATCHED` - mark_as_watched * `MARK_AS_WATCHED_AND_RATE_LATER` - mark_as_watched_and_rate_later
        - ''
      - `recommendations__default_date` union
        - 'TODAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ALL_TIME' — * `TODAY` - today * `WEEK` - week * `MONTH` - month * `YEAR` - year * `ALL_TIME` - all_time
        - ''
      - `recommendations__default_languages` string[]
      - `recommendations__default_unsafe` boolean
      - `recommendations__default_exclude_compared_entities` boolean
      - `feed_foryou__date` union
        - 'TODAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ALL_TIME' — * `TODAY` - today * `WEEK` - week * `MONTH` - month * `YEAR` - year * `ALL_TIME` - all_time
        - ''
      - `feed_foryou__languages` string[]
      - `feed_foryou__unsafe` boolean
      - `feed_foryou__exclude_compared_entities` boolean
      - `feed_topitems__languages` string[]

---

[API](https://skmtc.net/tournesol-app/apis/tournesol-api.md) · [All operations](https://skmtc.net/tournesol-app/apis/tournesol-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tournesol-app/tournesol-api/versions/96c8c62ad972/schema)
