Register a new user
POST
/api/v1/auth/register
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");curl_easy_setopt(hnd, CURLOPT_URL, "http://127.0.0.1:58259/api/v1/auth/register");
struct curl_slist *headers = NULL;headers = curl_slist_append(headers, "Content-Type: application/json");curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }");
CURLcode ret = curl_easy_perform(hnd);using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("http://127.0.0.1:58259/api/v1/auth/register"), Content = new StringContent("{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "http://127.0.0.1:58259/api/v1/auth/register"
payload := strings.NewReader("{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://127.0.0.1:58259/api/v1/auth/register")) .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }")) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, "{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }");Request request = new Request.Builder() .url("http://127.0.0.1:58259/api/v1/auth/register") .post(body) .addHeader("Content-Type", "application/json") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'POST', url: 'http://127.0.0.1:58259/api/v1/auth/register', headers: {'Content-Type': 'application/json'}, data: { username: 'example', password: 'example', name: 'example', email: 'hello@example.com', permissionUpload: true, permissionDownload: true, permissionEditMetadata: true, permissionManageLibrary: true, permissionEmailBook: true, permissionDeleteBook: true, permissionAccessOpds: true, permissionSyncKoreader: true, permissionSyncKobo: true, permissionAdmin: true, permissionManageMetadataConfig: true, permissionAccessBookdrop: true, permissionAccessLibraryStats: true, permissionAccessUserStats: true, permissionAccessTaskManager: true, permissionManageGlobalPreferences: true, permissionManageIcons: true, permissionManageFonts: true, permissionBulkAutoFetchMetadata: true, permissionBulkCustomFetchMetadata: true, permissionBulkEditMetadata: true, permissionBulkRegenerateCover: true, permissionMoveOrganizeFiles: true, permissionBulkLockUnlockMetadata: true, permissionBulkResetBookloreReadProgress: true, permissionBulkResetKoReaderReadProgress: true, permissionBulkResetBookReadStatus: true, selectedLibraries: [1] }};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'http://127.0.0.1:58259/api/v1/auth/register';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"username":"example","password":"example","name":"example","email":"hello@example.com","permissionUpload":true,"permissionDownload":true,"permissionEditMetadata":true,"permissionManageLibrary":true,"permissionEmailBook":true,"permissionDeleteBook":true,"permissionAccessOpds":true,"permissionSyncKoreader":true,"permissionSyncKobo":true,"permissionAdmin":true,"permissionManageMetadataConfig":true,"permissionAccessBookdrop":true,"permissionAccessLibraryStats":true,"permissionAccessUserStats":true,"permissionAccessTaskManager":true,"permissionManageGlobalPreferences":true,"permissionManageIcons":true,"permissionManageFonts":true,"permissionBulkAutoFetchMetadata":true,"permissionBulkCustomFetchMetadata":true,"permissionBulkEditMetadata":true,"permissionBulkRegenerateCover":true,"permissionMoveOrganizeFiles":true,"permissionBulkLockUnlockMetadata":true,"permissionBulkResetBookloreReadProgress":true,"permissionBulkResetKoReaderReadProgress":true,"permissionBulkResetBookReadStatus":true,"selectedLibraries":[1]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")val body = RequestBody.create(mediaType, "{ \"username\": \"example\", \"password\": \"example\", \"name\": \"example\", \"email\": \"hello@example.com\", \"permissionUpload\": true, \"permissionDownload\": true, \"permissionEditMetadata\": true, \"permissionManageLibrary\": true, \"permissionEmailBook\": true, \"permissionDeleteBook\": true, \"permissionAccessOpds\": true, \"permissionSyncKoreader\": true, \"permissionSyncKobo\": true, \"permissionAdmin\": true, \"permissionManageMetadataConfig\": true, \"permissionAccessBookdrop\": true, \"permissionAccessLibraryStats\": true, \"permissionAccessUserStats\": true, \"permissionAccessTaskManager\": true, \"permissionManageGlobalPreferences\": true, \"permissionManageIcons\": true, \"permissionManageFonts\": true, \"permissionBulkAutoFetchMetadata\": true, \"permissionBulkCustomFetchMetadata\": true, \"permissionBulkEditMetadata\": true, \"permissionBulkRegenerateCover\": true, \"permissionMoveOrganizeFiles\": true, \"permissionBulkLockUnlockMetadata\": true, \"permissionBulkResetBookloreReadProgress\": true, \"permissionBulkResetKoReaderReadProgress\": true, \"permissionBulkResetBookReadStatus\": true, \"selectedLibraries\": [ 1 ] }")val request = Request.Builder() .url("http://127.0.0.1:58259/api/v1/auth/register") .post(body) .addHeader("Content-Type", "application/json") .build()
val response = client.newCall(request).execute()use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "http://127.0.0.1:58259/api/v1/auth/register";
let payload = json!({ "username": "example", "password": "example", "name": "example", "email": "hello@example.com", "permissionUpload": true, "permissionDownload": true, "permissionEditMetadata": true, "permissionManageLibrary": true, "permissionEmailBook": true, "permissionDeleteBook": true, "permissionAccessOpds": true, "permissionSyncKoreader": true, "permissionSyncKobo": true, "permissionAdmin": true, "permissionManageMetadataConfig": true, "permissionAccessBookdrop": true, "permissionAccessLibraryStats": true, "permissionAccessUserStats": true, "permissionAccessTaskManager": true, "permissionManageGlobalPreferences": true, "permissionManageIcons": true, "permissionManageFonts": true, "permissionBulkAutoFetchMetadata": true, "permissionBulkCustomFetchMetadata": true, "permissionBulkEditMetadata": true, "permissionBulkRegenerateCover": true, "permissionMoveOrganizeFiles": true, "permissionBulkLockUnlockMetadata": true, "permissionBulkResetBookloreReadProgress": true, "permissionBulkResetKoReaderReadProgress": true, "permissionBulkResetBookReadStatus": true, "selectedLibraries": (1) });
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request POST \ --url http://127.0.0.1:58259/api/v1/auth/register \ --header 'Content-Type: application/json' \ --data '{ "username": "example", "password": "example", "name": "example", "email": "hello@example.com", "permissionUpload": true, "permissionDownload": true, "permissionEditMetadata": true, "permissionManageLibrary": true, "permissionEmailBook": true, "permissionDeleteBook": true, "permissionAccessOpds": true, "permissionSyncKoreader": true, "permissionSyncKobo": true, "permissionAdmin": true, "permissionManageMetadataConfig": true, "permissionAccessBookdrop": true, "permissionAccessLibraryStats": true, "permissionAccessUserStats": true, "permissionAccessTaskManager": true, "permissionManageGlobalPreferences": true, "permissionManageIcons": true, "permissionManageFonts": true, "permissionBulkAutoFetchMetadata": true, "permissionBulkCustomFetchMetadata": true, "permissionBulkEditMetadata": true, "permissionBulkRegenerateCover": true, "permissionMoveOrganizeFiles": true, "permissionBulkLockUnlockMetadata": true, "permissionBulkResetBookloreReadProgress": true, "permissionBulkResetKoReaderReadProgress": true, "permissionBulkResetBookReadStatus": true, "selectedLibraries": [ 1 ] }'wget --quiet \ --method POST \ --header 'Content-Type: application/json' \ --body-data '{ "username": "example", "password": "example", "name": "example", "email": "hello@example.com", "permissionUpload": true, "permissionDownload": true, "permissionEditMetadata": true, "permissionManageLibrary": true, "permissionEmailBook": true, "permissionDeleteBook": true, "permissionAccessOpds": true, "permissionSyncKoreader": true, "permissionSyncKobo": true, "permissionAdmin": true, "permissionManageMetadataConfig": true, "permissionAccessBookdrop": true, "permissionAccessLibraryStats": true, "permissionAccessUserStats": true, "permissionAccessTaskManager": true, "permissionManageGlobalPreferences": true, "permissionManageIcons": true, "permissionManageFonts": true, "permissionBulkAutoFetchMetadata": true, "permissionBulkCustomFetchMetadata": true, "permissionBulkEditMetadata": true, "permissionBulkRegenerateCover": true, "permissionMoveOrganizeFiles": true, "permissionBulkLockUnlockMetadata": true, "permissionBulkResetBookloreReadProgress": true, "permissionBulkResetKoReaderReadProgress": true, "permissionBulkResetBookReadStatus": true, "selectedLibraries": [ 1 ] }' \ --output-document \ - http://127.0.0.1:58259/api/v1/auth/registerRegister a new user. Only admins can register users.
Request Body required
Section titled “Request Body required ” Media type application/json
User registration request
object
username
required
string
password
required
string
name
required
string
email
required
string format: email
permissionUpload
boolean
permissionDownload
boolean
permissionEditMetadata
boolean
permissionManageLibrary
boolean
permissionEmailBook
boolean
permissionDeleteBook
boolean
permissionAccessOpds
boolean
permissionSyncKoreader
boolean
permissionSyncKobo
boolean
permissionAdmin
boolean
permissionManageMetadataConfig
boolean
permissionAccessBookdrop
boolean
permissionAccessLibraryStats
boolean
permissionAccessUserStats
boolean
permissionAccessTaskManager
boolean
permissionManageGlobalPreferences
boolean
permissionManageIcons
boolean
permissionManageFonts
boolean
permissionBulkAutoFetchMetadata
boolean
permissionBulkCustomFetchMetadata
boolean
permissionBulkEditMetadata
boolean
permissionBulkRegenerateCover
boolean
permissionMoveOrganizeFiles
boolean
permissionBulkLockUnlockMetadata
boolean
permissionBulkResetBookloreReadProgress
boolean
permissionBulkResetKoReaderReadProgress
boolean
permissionBulkResetBookReadStatus
boolean
selectedLibraries
Array<integer>
Example generated
{ "username": "example", "password": "example", "name": "example", "email": "hello@example.com", "permissionUpload": true, "permissionDownload": true, "permissionEditMetadata": true, "permissionManageLibrary": true, "permissionEmailBook": true, "permissionDeleteBook": true, "permissionAccessOpds": true, "permissionSyncKoreader": true, "permissionSyncKobo": true, "permissionAdmin": true, "permissionManageMetadataConfig": true, "permissionAccessBookdrop": true, "permissionAccessLibraryStats": true, "permissionAccessUserStats": true, "permissionAccessTaskManager": true, "permissionManageGlobalPreferences": true, "permissionManageIcons": true, "permissionManageFonts": true, "permissionBulkAutoFetchMetadata": true, "permissionBulkCustomFetchMetadata": true, "permissionBulkEditMetadata": true, "permissionBulkRegenerateCover": true, "permissionMoveOrganizeFiles": true, "permissionBulkLockUnlockMetadata": true, "permissionBulkResetBookloreReadProgress": true, "permissionBulkResetKoReaderReadProgress": true, "permissionBulkResetBookReadStatus": true, "selectedLibraries": [ 1 ]}Responses
Section titled “ Responses ”User registered successfully
Media type */*
object
Forbidden
Media type */*