curl --request GET \
--url https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show', 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-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "d6ef8c66-3c3d-4a87-9edf-9ec5fa929a9c",
"name": "Backend Integration",
"description": "Servicio interno para métricas",
"environment": "production",
"scopes": [
"agents:read",
"campaigns:read"
],
"keyPreview": "sk_live_d6ef...29a9",
"createdAt": "2025-10-15T15:22:00.000Z",
"updatedAt": "2025-10-15T15:22:00.000Z",
"lastUsedAt": null,
"key": "sk_live_d6ef8c66-3c3d-4a87-9edf-9ec5fa929a9c"
}{
"statusCode": 403,
"error": "Forbidden",
"message": "Se requiere el scope api-keys:read"
}{
"statusCode": 404,
"error": "Not Found",
"message": "No existe una API Key activa con ese identificador"
}Mostrar valor completo de una API Key
Devuelve el valor completo de una API Key activa. Esta operación está auditada y debe usarse únicamente cuando el usuario necesite recuperar la credencial. Si la llave ya fue revocada o no puede desencriptarse, se responderá 404.
La respuesta no viaja marcada como no cacheable. El servidor no envía hoy
Cache-Control: no-store, así que el cuerpo —que trae el secreto en claro— puede quedar
guardado por un proxy intermedio, por el caché del cliente HTTP o en un log de respuestas.
Pide esta ruta sólo cuando vayas a entregarle la llave a una persona, y no la reenvíes a
través de infraestructura que cachee.
curl --request GET \
--url https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show', 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-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/api-keys/{apiKeyId}/show")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "d6ef8c66-3c3d-4a87-9edf-9ec5fa929a9c",
"name": "Backend Integration",
"description": "Servicio interno para métricas",
"environment": "production",
"scopes": [
"agents:read",
"campaigns:read"
],
"keyPreview": "sk_live_d6ef...29a9",
"createdAt": "2025-10-15T15:22:00.000Z",
"updatedAt": "2025-10-15T15:22:00.000Z",
"lastUsedAt": null,
"key": "sk_live_d6ef8c66-3c3d-4a87-9edf-9ec5fa929a9c"
}{
"statusCode": 403,
"error": "Forbidden",
"message": "Se requiere el scope api-keys:read"
}{
"statusCode": 404,
"error": "Not Found",
"message": "No existe una API Key activa con ese identificador"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Identificador del workspace multi-tenant. Obligatorio al autenticar con Authorization: Bearer, donde su ausencia devuelve 400 Workspace context is required. Con x-api-key es opcional: la llave ya identifica a su workspace y lo que mandes aquí se ignora.
Path Parameters
Identificador de la API Key emitida
Response
Valor completo de la API Key
Lista de scopes autorizados para esta credencial.
1production, sandbox, staging, development Prefijo y sufijo visibles de la API Key (el valor completo no se expone después de la creación).
Valor completo de la API Key. Solo se entrega una vez y debe almacenarse de forma segura.
255Fecha/hora del último uso registrado.
Fecha/hora en que se revocó la credencial (si aplica).
