05Fundamentos de la API
Claves y acceso
Cada solicitud a la API va firmada con una clave. Aquí encontrarás cómo crearla, cómo enviarla, qué responde la API si algo falla con ella y cómo guardarla.
Cómo es la clave
Una clave activa se compone del prefijo rg_live_ y 40 caracteres más. Se muestra completa una sola vez, al crearla. Solo guardamos su huella, por lo que una clave perdida no se puede recuperar: crea una nueva.
rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
El nombre de usuario y la contraseña del portal no sirven para la API: tienen otro fin y la API no los acepta.
Cómo enviar la clave
Sirve cualquiera de los dos encabezados, uno por solicitud: Authorization: Bearer <clave> o X-API-Key: <clave>. Si se envían los dos, vale el Bearer no vacío; si el Bearer es incorrecto, el otro encabezado ya no se comprueba.
La forma más sencilla de comprobar una clave es consultar el saldo: no hace ningún cargo.
# Opción 1: encabezado Authorization curl --fail-with-body --max-time 20 \ https://api.rendergrid.io/ api/ public/ v1/ balance \ -H "Authorization: Bearer $RENDERGRID_API_KEY" # Opción 2: encabezado X-API-Key curl --fail-with-body --max-time 20 \ https:// api.rendergrid.io/ api/ public/ v1/ balance \ -H "X-API-Key: $RENDERGRID_API_KEY"
import os import requests key = os.environ["RENDERGRID_API_KEY"] response = requests.get( "https://api.rendergrid.io/ api/ public/ v1/ balance", headers={"Authorization": f"Bearer {key}"}, timeout=(5, 20), ) response.raise_for_status() print(response.json())
// Node.js 22+, archivo .mjs const url = "https://api.rendergrid.io/ api/ public/ v1/ balance"; const key = process.env.RENDERGRID_API_KEY; const response = await fetch(url, { headers: { Authorization: `Bearer ${key}` }, signal: AbortSignal.timeout(20_000), }); if (!response.ok) { const body = await response.text(); throw new Error(`HTTP ${response.status}: ${body}`); } console.log(await response.json());
{
"currency": "USD",
"balance": "42.5000",
"overdraft_limit": "0.0000",
"available": "42.5000"
}Crear, sustituir, revocar
Crea una clave
En el portal, en la sección «Claves de API», pulsa «Crear clave». Ponle el nombre de la integración: «sitio web», «bot», «almacén». Así es más fácil saber de quién es la clave.
Cópiala enseguida
Cuando cierres la ventana, no se podrá mostrar la clave otra vez. Guárdala en una variable de entorno o en un almacén de secretos.
Sustituye sin interrupciones
Crea una clave nueva, ponla en la integración, comprueba una solicitud y solo después revoca la anterior. Una clave revocada deja de funcionar de inmediato.
El saldo y los límites de la cuenta son comunes a todas sus claves. Las claves separadas sirven para cambiar y revocar el acceso de cada integración de forma independiente.
Una cuenta puede tener hasta 50 claves activas. Las claves que Playground emite para la duración de tu sesión no cuentan en este total. Una clave sustituida sigue contando hasta que vence su plazo.
A cada clave se le puede fijar su propio límite mensual de gasto. Es un límite estricto para esa clave: cuando se agota, las solicitudes con ella reciben 402 (más información).
Qué responde la API
Lee la causa del rechazo en error.code y error.details.reason, no en el texto del mensaje.
| Qué pasó | Respuesta de la API | Qué hacer |
|---|---|---|
| No se envió la clave | 401 ERR_API_KEY_INVALID, api_key_missing | Comprueba que el encabezado llega a la API |
| La clave es incorrecta, está revocada o caducada | 401 ERR_API_KEY_INVALID, api_key_invalid | Crea una clave nueva. En estas situaciones la respuesta es la misma |
| Se agotó el límite mensual de la clave o de la cuenta (si está fijado) | 402 ERR_INSUFFICIENT_BALANCE, monthly_budget_exceeded | Sube el límite en el portal o espera al mes nuevo en UTC |
| Cuenta desactivada | 403 ERR_ACCOUNT_DISABLED, account_disabled | Deja de enviar solicitudes y escribe a soporte |
| API suspendida por el gestor de cuenta | 403 ERR_API_SUSPENDED, api_suspended | Contacta con el gestor de cuenta. El portal sigue disponible |
HTTP/1.1 401 Unauthorized { "error": { "code": "ERR_API_KEY_INVALID", "message": "no API key on the request", "details": { "reason": "api_key_missing" } } }
Los demás rechazos tienen la misma forma. Sus textos message y los valores de details.reason están reunidos en la sección «Errores de acceso».
No repitas las solicitudes en bucle ante un 401 o un 403. Con más de 30 rechazos por minuto desde una misma IP, la API dejará de responder a las solicitudes de esa IP durante 120 segundos (burst_block). Más información en la página «Límites».
Cómo guardar la clave
- Guarda la clave en las variables de entorno del servidor o en un gestor de secretos.
- No pongas la clave en el código de un sitio web ni de una aplicación para teléfonos, ni en un repositorio público ni en los registros. Envía las solicitudes a la API solo desde el servidor.
- Da una clave aparte a cada integración.
- Si la clave pudo filtrarse, revócala de inmediato y después crea una nueva.
¿Trabajas con un asistente de IA? No pegues la clave en el chat; más información en la sección «Qué no dar al asistente».