Rotate Root Key

This API generates a new root key while preserving system integrity.

Endpoint

GET /root/rotate

Headers

Name Type Required Description
Authorization string Yes The root-key of the project.

Example Request

curl --request GET \
--url http://{{you-endpoint}}:{{your-port}}/root/rotate \
--header 'Authorization: {{root-key}}'
const request = require('request');

const options = {
    method: 'GET',
    url: 'http://{{you-endpoint}}:{{your-port}}/root/rotate',
    headers: {Authorization: '{{root-key}}'}
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
});
import requests

url = "http://{{you-endpoint}}:{{your-port}}/root/rotate"

headers = {"Authorization": "{{root-key}}"}

response = requests.get(url, headers=headers)

print(response.json())
<?php
$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'http://{{you-endpoint}}:{{your-port}}/root/rotate', [
    'headers' => [
    'Authorization' => '{{root-key}}',
    ],
]);

echo $response->getBody();
package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {

    url := "http://{{you-endpoint}}:{{your-port}}/root/rotate"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("Authorization", "{{root-key}}")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "http://{{you-endpoint}}:{{your-port}}/root/rotate")
    .setHeader("Authorization", "{{root-key}}")
    .execute()
    .toCompletableFuture()
    .thenAccept(System.out::println)
    .join();

client.close();

Example Success Response

{
"new-key": "YOUR-NEW-ROOT-KEY"
}

Response Fields

The response contains a new root key.

Field Type Description
new-key string A new root key

Responses

Status Code Description
200 Ok Success
403 Access Denied When the provided root key in Authorization header is invalid.
500 Internal Server Error Mostly because of the database error. Check the log for root cause details.