Refresh or recover credential health before pool selection
curl --request POST \
--url http://localhost:3000/api/v1/runtime/credentials/refresh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent": "<string>",
"force": true,
"id": "<string>",
"model": "<string>",
"provider": "<string>",
"taskProfile": "<string>",
"upstream": "<string>"
}
'import requests
url = "http://localhost:3000/api/v1/runtime/credentials/refresh"
payload = {
"agent": "<string>",
"force": True,
"id": "<string>",
"model": "<string>",
"provider": "<string>",
"taskProfile": "<string>",
"upstream": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent: '<string>',
force: true,
id: '<string>',
model: '<string>',
provider: '<string>',
taskProfile: '<string>',
upstream: '<string>'
})
};
fetch('http://localhost:3000/api/v1/runtime/credentials/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/api/v1/runtime/credentials/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'agent' => '<string>',
'force' => true,
'id' => '<string>',
'model' => '<string>',
'provider' => '<string>',
'taskProfile' => '<string>',
'upstream' => '<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 := "http://localhost:3000/api/v1/runtime/credentials/refresh"
payload := strings.NewReader("{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("http://localhost:3000/api/v1/runtime/credentials/refresh")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/api/v1/runtime/credentials/refresh")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"refreshed": [
{}
]
}runtime
Refresh or recover credential health before pool selection
POST
/
api
/
v1
/
runtime
/
credentials
/
refresh
Refresh or recover credential health before pool selection
curl --request POST \
--url http://localhost:3000/api/v1/runtime/credentials/refresh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent": "<string>",
"force": true,
"id": "<string>",
"model": "<string>",
"provider": "<string>",
"taskProfile": "<string>",
"upstream": "<string>"
}
'import requests
url = "http://localhost:3000/api/v1/runtime/credentials/refresh"
payload = {
"agent": "<string>",
"force": True,
"id": "<string>",
"model": "<string>",
"provider": "<string>",
"taskProfile": "<string>",
"upstream": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent: '<string>',
force: true,
id: '<string>',
model: '<string>',
provider: '<string>',
taskProfile: '<string>',
upstream: '<string>'
})
};
fetch('http://localhost:3000/api/v1/runtime/credentials/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/api/v1/runtime/credentials/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'agent' => '<string>',
'force' => true,
'id' => '<string>',
'model' => '<string>',
'provider' => '<string>',
'taskProfile' => '<string>',
'upstream' => '<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 := "http://localhost:3000/api/v1/runtime/credentials/refresh"
payload := strings.NewReader("{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("http://localhost:3000/api/v1/runtime/credentials/refresh")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/api/v1/runtime/credentials/refresh")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent\": \"<string>\",\n \"force\": true,\n \"id\": \"<string>\",\n \"model\": \"<string>\",\n \"provider\": \"<string>\",\n \"taskProfile\": \"<string>\",\n \"upstream\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"refreshed": [
{}
]
}Authorizations
Runtime context-key (rctx_*) issued by the Ravi gateway. Required for every non-open scope. Bootstrap the first key with ravi daemon init-admin-key; rotate, derive, and revoke via the ravi context family. Specs: runtime/context-keys, sdk/auth.
Body
application/json
Agent id for pool refresh
Attempt provider hook even when health does not require it
Credential id
Model selector for pool refresh
Runtime provider id for pool refresh
Task profile id for pool refresh
Upstream provider id for pool refresh