Documentation Index
Fetch the complete documentation index at: /docs/llms.txt
Use this file to discover all available pages before exploring further.
curl --request POST \
--url https://api.impossibl.com/v1/provider-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"label": "<string>",
"apiKey": "<string>",
"resourceName": "<string>",
"apiVersion": "<string>",
"endpoint": "<string>",
"region": "<string>",
"modelDeployments": {}
}
'import requests
url = "https://api.impossibl.com/v1/provider-keys"
payload = {
"label": "<string>",
"apiKey": "<string>",
"resourceName": "<string>",
"apiVersion": "<string>",
"endpoint": "<string>",
"region": "<string>",
"modelDeployments": {}
}
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({
label: '<string>',
apiKey: '<string>',
resourceName: '<string>',
apiVersion: '<string>',
endpoint: '<string>',
region: '<string>',
modelDeployments: {}
})
};
fetch('https://api.impossibl.com/v1/provider-keys', 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.impossibl.com/v1/provider-keys",
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([
'label' => '<string>',
'apiKey' => '<string>',
'resourceName' => '<string>',
'apiVersion' => '<string>',
'endpoint' => '<string>',
'region' => '<string>',
'modelDeployments' => [
]
]),
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.impossibl.com/v1/provider-keys"
payload := strings.NewReader("{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\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("https://api.impossibl.com/v1/provider-keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.impossibl.com/v1/provider-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\n}"
response = http.request(request)
puts response.read_bodyVerified with one live call before being stored; a bad key or Azure config
is rejected with the provider’s own error and nothing is persisted.
Resubmitting for the same provider replaces the existing credential.
See the BYOK guide for the per-provider field requirements.
curl --request POST \
--url https://api.impossibl.com/v1/provider-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"label": "<string>",
"apiKey": "<string>",
"resourceName": "<string>",
"apiVersion": "<string>",
"endpoint": "<string>",
"region": "<string>",
"modelDeployments": {}
}
'import requests
url = "https://api.impossibl.com/v1/provider-keys"
payload = {
"label": "<string>",
"apiKey": "<string>",
"resourceName": "<string>",
"apiVersion": "<string>",
"endpoint": "<string>",
"region": "<string>",
"modelDeployments": {}
}
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({
label: '<string>',
apiKey: '<string>',
resourceName: '<string>',
apiVersion: '<string>',
endpoint: '<string>',
region: '<string>',
modelDeployments: {}
})
};
fetch('https://api.impossibl.com/v1/provider-keys', 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.impossibl.com/v1/provider-keys",
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([
'label' => '<string>',
'apiKey' => '<string>',
'resourceName' => '<string>',
'apiVersion' => '<string>',
'endpoint' => '<string>',
'region' => '<string>',
'modelDeployments' => [
]
]),
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.impossibl.com/v1/provider-keys"
payload := strings.NewReader("{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\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("https://api.impossibl.com/v1/provider-keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.impossibl.com/v1/provider-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"label\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"resourceName\": \"<string>\",\n \"apiVersion\": \"<string>\",\n \"endpoint\": \"<string>\",\n \"region\": \"<string>\",\n \"modelDeployments\": {}\n}"
response = http.request(request)
puts response.read_bodyGateway API key (imp-rt-...) from POST /v1/accounts or /v1/keys.
openai, anthropic, google, xai, zai, bedrock, azure, azure-foundry All providers; for Bedrock this is a Bedrock API key (bearer token)
Azure only
Azure only
azure-foundry only
Bedrock only: the AWS region the key was generated for
azure and azure-foundry: gateway model id -> your deployment name
Show child attributes
Credential stored (never echoes the secret)
