This page has details for how to interact with user records through the API.
01 Record field format
[hr]
[table]
[thead]
[tr]
[th]Name[/th]
[th]Type[/th]
[th]Details[/th]
[/tr]
[/thead]
[tbody]
[tr]
[td][code]id[/code][/td]
[td]integer[/td]
[td]>0[/td]
[/tr]
[tr]
[td][code]name[/code][/td]
[td]string[/td]
[td][/td]
[/tr]
[tr]
[td][code]level[/code][/td]
[td]integer[/td]
[td][10, 20, 30, 31, 32, 35, 37, 40, 50, 60][/td]
[/tr]
[tr]
[td][code]inviter_id[/code][/td]
[td]integer[/td]
[td]>0[/td]
[/tr]
[tr]
[td][code]post_update_count[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]note_update_count[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]post_upload_count[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]favorite_count[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]unread_dmail_count[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]is_deleted[/code][/td]
[td]boolean[/td]
[td][/td]
[/tr]
[tr]
[td][code]bit_prefs[/code][/td]
[td]integer[/td]
[td]Each bit stores a boolean value. See Bit fields below for more information.[/td]
[/tr]
[tr]
[td][code]theme[/code][/td]
[td]string[/td]
[td][auto, light, dark][/td]
[/tr]
[tr]
[td][code]favorite_tags[/code][/td]
[td]string[/td]
[td][/td]
[/tr]
[tr]
[td][code]blacklisted_tags[/code][/td]
[td]string[/td]
[td][/td]
[/tr]
[tr]
[td][code]comment_threshold[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]time_zone[/code][/td]
[td]string[/td]
[td][/td]
[/tr]
[tr]
[td][code]per_page[/code][/td]
[td]integer[/td]
[td]1 - 200[/td]
[/tr]
[tr]
[td][code]default_image_size[/code][/td]
[td]string[/td]
[td][large, original][/td]
[/tr]
[tr]
[td][code]custom_style[/code][/td]
[td]string[/td]
[td][/td]
[/tr]
[tr]
[td][code]upload_points[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]bcrypt_password_hash[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]totp_secret[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]backup_codes[/code][/td]
[td]integer[/td]
[td][/td]
[/tr]
[tr]
[td][code]last_forum_read_at[/code][/td]
[td]timestamp[/td]
[td][/td]
[/tr]
[tr]
[td][code]last_logged_in_at[/code][/td]
[td]timestamp[/td]
[td][/td]
[/tr]
[tr]
[td][code]last_ip_addr[/code][/td]
[td]inet[/td]
[td][/td]
[/tr]
[tr]
[td][code]created_at[/code][/td]
[td]timestamp[/td]
[td][/td]
[/tr]
[tr]
[td][code]updated_at[/code][/td]
[td]timestamp[/td]
[td][/td]
[/tr]
[/tbody]
[/table]
User levels
[table]
[thead]
[tr]
[th]Name[/th]
[th]Level[/th]
[/tr]
[/thead]
[tbody]
[tr]
[td]Anonymous[/td]
[td]0 (Used internally when browsing anonymously)[/td]
[/tr]
[tr]
[td]Restricted[/td]
[td]10[/td]
[/tr]
[tr]
[td]Member[/td]
[td]20[/td]
[/tr]
[tr]
[td]Gold[/td]
[td]30[/td]
[/tr]
[tr]
[td]Platinum[/td]
[td]31[/td]
[/tr]
[tr]
[td]Builder[/td]
[td]32[/td]
[/tr]
[tr]
[td]Contributor[/td]
[td]35[/td]
[/tr]
[tr]
[td]Approver[/td]
[td]37[/td]
[/tr]
[tr]
[td]Moderator[/td]
[td]40[/td]
[/tr]
[tr]
[td]Admin[/td]
[td]50[/td]
[/tr]
[tr]
[td]Owner[/td]
[td]60[/td]
[/tr]
[/tbody]
[/table]
Bit fields
[table]
[thead]
[tr]
[th]Name[/th]
[th]Type[/th]
[th]Bit position[/th]
[/tr]
[/thead]
[tbody]
[tr]
[td][code]is_banned[/code][/td]
[td]status[/td]
[td]0[/td]
[/tr]
[tr]
[td][code]receive_email_notifications[/code][/td]
[td]setting[/td]
[td]2[/td]
[/tr]
[tr]
[td][code]new_post_navigation_layout[/code][/td]
[td]setting[/td]
[td]5[/td]
[/tr]
[tr]
[td][code]enable_private_favorites[/code][/td]
[td]setting[/td]
[td]6[/td]
[/tr]
[tr]
[td][code]show_deleted_children[/code][/td]
[td]setting[/td]
[td]11[/td]
[/tr]
[tr]
[td][code]disable_categorized_saved_searches[/code][/td]
[td]setting[/td]
[td]15[/td]
[/tr]
[tr]
[td][code]disable_tagged_filenames[/code][/td]
[td]setting[/td]
[td]17[/td]
[/tr]
[tr]
[td][code]disable_mobile_gestures[/code][/td]
[td]setting[/td]
[td]20[/td]
[/tr]
[tr]
[td][code]enable_safe_mode[/code][/td]
[td]setting[/td]
[td]21[/td]
[/tr]
[tr]
[td][code]enable_desktop_mode[/code][/td]
[td]setting[/td]
[td]22[/td]
[/tr]
[tr]
[td][code]disable_post_tooltips[/code][/td]
[td]setting[/td]
[td]23[/td]
[/tr]
[tr]
[td][code]requires_verification[/code][/td]
[td]status[/td]
[td]28[/td]
[/tr]
[tr]
[td][code]is_verified[/code][/td]
[td]status[/td]
[td]29[/td]
[/tr]
[tr]
[td][code]show_deleted_posts[/code][/td]
[td]setting[/td]
[td]30[/td]
[/tr]
[/tbody]
[/table]
02 Associated attributes
[hr]
The following is the list of relations that can be included in the API results (see Help:Common URL Parameters for more info):
[table]
[thead]
[tr]
[th]Name[/th]
[th]Type[/th]
[th]Number[/th]
[th]Availability[/th]
[th]Details[/th]
[/tr]
[/thead]
[tbody]
[tr]
[td][code]inviter[/code][/td]
[td]user[/td]
[td]single[/td]
[td]optional[/td]
[td][/td]
[/tr]
[tr]
[td][code]bans[/code][/td]
[td]ban[/td]
[td]multiple[/td]
[td]optional[/td]
[td][/td]
[/tr]
[/tbody]
[/table]
03 Index
[hr]
Returns multiple user records.
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]GET[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/users.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]read request[/td]
[/tr]
[tr]
[td]Description[/td]
[td]The default order is created at descending.[/td]
[/tr]
[/tbody]
[/table]
Search attributes
Search parameters take the following format (see Help:Common URL Parameters for more info):
[code]
search[FIELD]=VALUE
[/code]
The following are the base fields along with their associated type. Check the syntax pages for all of the available variations.
- Number syntax
- [code]id[/code]
- [code]level[/code]
- [code]post_upload_count[/code]
- [code]post_update_count[/code]
- [code]note_update_count[/code]
- [code]favorite_count[/code]
- [code]created_at[/code]
- [code]updated_at[/code]
- String syntax
- [code]name[/code]
- Boolean syntax
- [code]is_deleted[/code]
- Post syntax
- [code]posts[/code]
- User syntax
- [code]inviter[/code]
- Chaining syntax
- [code]comments[/code]
- [code]post_appeals[/code]
- [code]post_approvals[/code]
- [code]forum_topics[/code]
- [code]forum_posts[/code]
- [code]forum_post_votes[/code]
- [code]tag_aliases[/code]
- [code]tag_implications[/code]
- [code]feedback[/code]
- [code]bans[/code]
- [code]artist_versions[/code]
- [code]artist_commentary_versions[/code]
- [code]note_versions[/code]
- [code]wiki_page_versions[/code]
Special search parameters
The following are additional search fields.
- [code]name_matches[/code] - Case-insensitive wildcard search on the name field.
- [code]any_name_matches[/code] - Case-insensitive search on current or previous usernames.
- [code]name_or_past_name_matches[/code] - Case-insensitive search. Returns either the current holder of the name, or previous users if no users currently have that name.
- [code]min_level[/code] - Minimum user level to include.
- [code]max_level[/code] - Maximum user level to include.
- [code]is_banned[/code] - Uses boolean syntax (Help:Boolean Syntax).
- [code]current_user_first[/code] - Shows the current user first, then all other users by ID desc.
Search order
Using the search parameter [code]order[/code] with one of the following values changes the order of the results.
- [code]name[/code] - Alphabetical on the name field.
- [code]post_upload_count[/code]
- [code]post_update_count[/code]
- [code]note_count[/code]
04 Show
[hr]
Returns a single user record.
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]GET[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/users/$id.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]read request[/td]
[/tr]
[tr]
[td]Description[/td]
[td][code]$id[/code] is the user ID.
Can also be reached by using the [code]/profile[/code] endpoint for the current user.[/td]
[/tr]
[/tbody]
[/table]
05 Create
[hr]
Creates a single user record.
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]POST[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/users.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]write request[/td]
[/tr]
[/tbody]
[/table]
Create parameters
User parameters take the following format (see Help:API Write Requests for more info):
[code]
user[FIELD]=VALUE
[/code]
- Required:
- [code]name[/code]
- [code]password[/code]
- [code]password_confirmation[/code]
- Optional:
- [code]email[/code]
06 Update
[hr]
Updates a single user record.
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]PUT/PATCH[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/users/$id.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]write request[/td]
[/tr]
[tr]
[td]Description[/td]
[td][code]$id[/code] is the user ID.[/td]
[/tr]
[/tbody]
[/table]
Update parameters
- Optional:
- [code]comment_threshold[/code]
- [code]default_image_size[/code]
- [code]favorite_tags[/code]
- [code]blacklisted_tags[/code]
- [code]time_zone[/code]
- [code]per_page[/code]
- [code]custom_style[/code]
- [code]theme[/code]
- [code]receive_email_notifications[/code]
- [code]always_resize_images[/code]
- [code]enable_post_navigation[/code]
- [code]new_post_navigation_layout[/code]
- [code]enable_private_favorites[/code]
- [code]enable_sequential_post_navigation[/code]
- [code]show_deleted_posts[/code]
- [code]style_usernames[/code]
- [code]enable_auto_complete[/code]
- [code]show_deleted_children[/code]
- [code]disable_categorized_saved_searches[/code]
- [code]disable_tagged_filenames[/code]
- [code]disable_cropped_thumbnails[/code]
- [code]disable_mobile_gestures[/code]
- [code]enable_safe_mode[/code]
- [code]enable_desktop_mode[/code]
- [code]disable_post_tooltips[/code]
Restricted to Admins
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]PUT/PATCH[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/admin/users/$id.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]write request[/td]
[/tr]
[tr]
[td]Description[/td]
[td][code]$id[/code] is the user ID.[/td]
[/tr]
[/tbody]
[/table]
- Optional
- [code]level[/code]
07 Destroy
[hr]
Deletes a single user record.
[table]
[tbody]
[tr]
[td]HTTP Method[/td]
[td]DELETE[/td]
[/tr]
[tr]
[td]Base URL[/td]
[td][code]/users/$id.json[/code][/td]
[/tr]
[tr]
[td]Type[/td]
[td]write request[/td]
[/tr]
[tr]
[td]Description[/td]
[td][code]$id[/code] is the user ID.[/td]
[/tr]
[/tbody]
[/table]
Most account users can only delete their own account. Only the Owner-level user can delete any account.
08 See also
[hr]
09 External links
[hr]
[table]
[tbody]
[tr]
[td]Controller[/td]
[td]<https://github.com/danbooru/danbooru/blob/master/app/controllers/users_controller.rb>[/td]
[td][/td]
[/tr]
[tr]
[td]Model[/td]
[td]<https://github.com/danbooru/danbooru/blob/master/app/models/user.rb>[/td]
[/tr]
[tr]
[td]Policy[/td]
[td]<https://github.com/danbooru/danbooru/blob/master/app/policies/user_policy.rb>[/td]
[/tr]
[/tbody]
[/table]