Scan library paths
POST
/api/v1/libraries/scan
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/libraries/scan");
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, "{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }");
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/libraries/scan"), Content = new StringContent("{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }") { 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/libraries/scan"
payload := strings.NewReader("{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }")
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/libraries/scan")) .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }")) .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, "{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }");Request request = new Request.Builder() .url("http://127.0.0.1:58259/api/v1/libraries/scan") .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/libraries/scan', headers: {'Content-Type': 'application/json'}, data: { name: 'example', icon: 'example', iconType: 'PRIME_NG', paths: [{id: 1, libraryId: 1, path: 'example'}], watch: true, formatPriority: ['PDF'], allowedFormats: ['PDF'], metadataSource: 'EMBEDDED', organizationMode: 'BOOK_PER_FILE' }};
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/libraries/scan';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"name":"example","icon":"example","iconType":"PRIME_NG","paths":[{"id":1,"libraryId":1,"path":"example"}],"watch":true,"formatPriority":["PDF"],"allowedFormats":["PDF"],"metadataSource":"EMBEDDED","organizationMode":"BOOK_PER_FILE"}'};
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, "{ \"name\": \"example\", \"icon\": \"example\", \"iconType\": \"PRIME_NG\", \"paths\": [ { \"id\": 1, \"libraryId\": 1, \"path\": \"example\" } ], \"watch\": true, \"formatPriority\": [ \"PDF\" ], \"allowedFormats\": [ \"PDF\" ], \"metadataSource\": \"EMBEDDED\", \"organizationMode\": \"BOOK_PER_FILE\" }")val request = Request.Builder() .url("http://127.0.0.1:58259/api/v1/libraries/scan") .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/libraries/scan";
let payload = json!({ "name": "example", "icon": "example", "iconType": "PRIME_NG", "paths": ( json!({ "id": 1, "libraryId": 1, "path": "example" }) ), "watch": true, "formatPriority": ("PDF"), "allowedFormats": ("PDF"), "metadataSource": "EMBEDDED", "organizationMode": "BOOK_PER_FILE" });
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/libraries/scan \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "icon": "example", "iconType": "PRIME_NG", "paths": [ { "id": 1, "libraryId": 1, "path": "example" } ], "watch": true, "formatPriority": [ "PDF" ], "allowedFormats": [ "PDF" ], "metadataSource": "EMBEDDED", "organizationMode": "BOOK_PER_FILE" }'wget --quiet \ --method POST \ --header 'Content-Type: application/json' \ --body-data '{ "name": "example", "icon": "example", "iconType": "PRIME_NG", "paths": [ { "id": 1, "libraryId": 1, "path": "example" } ], "watch": true, "formatPriority": [ "PDF" ], "allowedFormats": [ "PDF" ], "metadataSource": "EMBEDDED", "organizationMode": "BOOK_PER_FILE" }' \ --output-document \ - http://127.0.0.1:58259/api/v1/libraries/scanScan the provided library paths and return a count of processable files. Requires admin or manipulation permission.
Request Body required
Section titled “Request Body required ” Media type application/json
Library creation request with paths to scan
object
name
required
string
icon
string
iconType
string
paths
required
Array<object>
object
id
integer format: int64
libraryId
integer format: int64
path
string
watch
boolean
formatPriority
Array<string>
allowedFormats
Array<string>
metadataSource
string
organizationMode
string
Responses
Section titled “ Responses ”Processable files count returned successfully
Media type */*
integer format: int32