Rename a shelf
curl --request PATCH \
--url https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"shelf_name": "<string>"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}"
payload = { "shelf_name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({shelf_name: '<string>'})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'shelf_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}"
payload := strings.NewReader("{\n \"shelf_name\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"shelf_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"shelf_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}Repository Shelves Manipulation
Rename a shelf
Renames an existing shelf by updating its name.
Parameters:
shelf_name(required) - will be stripped of whitespace
Requirements: Requires WRITE access to the repository.
Returns:
400 Bad Requestif the name is empty after stripping409 Conflictif a shelf with the new name already exists204 No Contenton success
PATCH
/
repos
/
{repo_id}
/
shelves
/
{shelf_id}
Rename a shelf
curl --request PATCH \
--url https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"shelf_name": "<string>"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}"
payload = { "shelf_name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({shelf_name: '<string>'})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'shelf_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}"
payload := strings.NewReader("{\n \"shelf_name\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"shelf_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/shelves/{shelf_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"shelf_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}{
"status": 123,
"detail": "<string>",
"title": "<string>",
"type": "<string>"
}Authorizations
This API uses OAuth 2 with the implicit grant flow
Path Parameters
The repo ID of the repository. Repo name can be used instead of the ID, but usage of ID for permanent linking and API requests is preferred.
Required string length:
3 - 128Example:
"example_id"
Shelf identifier
Required string length:
3 - 128Example:
"dv.shelf.12a37e91-bfc4-4e03-a330-13b5b84ab7cb"
Body
application/json
Required string length:
1 - 60Response
Request completed successfully
⌘I

