Saltar al contenido principal

Claves API

Las claves API le permiten acceder a sus datos de BeePass desde aplicaciones externas, scripts o integraciones de terceros sin usar la interfaz web. Cada clave tiene permisos granulares por recurso.

Funcionamiento

[Su aplicacion]
| Authorization: Bearer bp_live_a3f8...5e82
v
https://beepass.io/api/v1/queens
| Validacion SHA-256 -> Consulta BD -> Verificacion de permisos
v
[Datos JSON devueltos]
  1. Cree una clave desde la interfaz web (menu de avatar -> Claves API)
  2. Copie la clave — solo se mostrara una vez
  3. Usela en el encabezado Authorization de sus solicitudes

Formato de la clave

bp_live_ + 64 caracteres hexadecimales = 72 caracteres

Ejemplo: bp_live_a3f8e2b1c4d5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1

Seguridad

La clave en texto claro solo se muestra una vez durante la creacion. BeePass solo almacena un hash SHA-256 — es imposible recuperar una clave perdida. Debera crear una nueva.

Uso

Anada la clave al encabezado Authorization de cada solicitud:

curl -H "Authorization: Bearer bp_live_a3f8..." \
https://beepass.io/api/v1/queens
const response = await fetch('https://beepass.io/api/v1/queens', {
headers: {
'Authorization': 'Bearer bp_live_a3f8...',
'Content-Type': 'application/json'
}
});
const data = await response.json();
import requests

headers = {
'Authorization': 'Bearer bp_live_a3f8...',
'Content-Type': 'application/json'
}
response = requests.get('https://beepass.io/api/v1/queens', headers=headers)
data = response.json()

Permisos

Cada clave define un nivel de acceso por recurso:

RecursoDescripcion
QueensReinas F0 y F1 (reproductoras, produccion)
EvaluationsEvaluaciones de rendimiento
BLUPValores geneticos estimados (EBV)
HiveColmenares y colmenas
AccountPerfil y configuracion de la cuenta

Niveles de permisos

NivelLectura (GET)Escritura (POST/PUT/DELETE)
Ninguno--
LecturaSi-
EscrituraSiSi
consejo

El nivel Escritura incluye automaticamente el acceso de lectura. No es necesario configurar ambos.

Plantillas predefinidas

PlantillaDescripcionPermisos
Solo lecturaVer todos los datosTodos los recursos en modo lectura
EvaluadorEntrada de evaluaciones de campoEvaluaciones en escritura, resto en lectura (excepto Hive)
PersonalizadoConfiguracion manualUsted elige cada permiso

Restricciones

Expiracion (TTL)

Establezca una duracion de vida para su clave:

OpcionDescripcion
7 diasPruebas y desarrollo
30 diasIntegraciones temporales
90 diasUso estandar
365 diasIntegraciones a largo plazo
NuncaSin expiracion automatica

Una clave expirada es rechazada automaticamente. Permanece visible en la lista con el estado "Expirada".

Restriccion por IP

Limite el uso de la clave a direcciones IP especificas para mayor seguridad:

  • IP unica: 203.0.113.5
  • Subred CIDR: 192.168.1.0/24

Si no se configura ninguna IP, la clave puede usarse desde cualquier direccion.

informacion

La restriccion por IP se verifica en cada solicitud. La IP del cliente se extrae de los encabezados CF-Connecting-IP, X-Forwarded-For o X-Real-IP.

Gestion de claves

Crear una clave

Acceda a la pagina Claves API desde el menu de avatar en el encabezado, luego haga clic en Generar clave. El asistente de 4 pasos le guia:

  1. Nombre — Elija un nombre descriptivo y una plantilla de permisos
  2. Permisos — Ajuste los permisos por recurso (modo personalizado)
  3. Restricciones — Configure la expiracion y las IP permitidas
  4. Clave generada — Copie su clave inmediatamente

Desactivar / Reactivar

Use el interruptor en la columna "Activar" para desactivar temporalmente una clave sin eliminarla. Una clave desactivada es rechazada inmediatamente por la API.

Revocar

Haga clic en el icono de papelera y confirme la revocacion. La clave cambia al estado "Revocada" y no puede ser reactivada.

Limites

LimiteValor
Maximo de claves por usuario20
Creaciones por hora10
Longitud del nombre1 a 100 caracteres

API de gestion

Las claves se gestionan a traves de la API REST estandar (autenticacion por sesion Supabase):

MetodoRutaDescripcion
GET/api/api-keysListar sus claves (sin hash)
POST/api/api-keysCrear una nueva clave
PUT/api/api-keys/{id}Actualizar nombre o estado
DELETE/api/api-keysRevocar una clave

Crear una clave (POST)

curl -X POST https://beepass.io/api/api-keys \
-H "Content-Type: application/json" \
-b "sb-cookie=..." \
-d '{
"name": "Mi aplicacion movil",
"permissions": {
"queens": "read",
"evaluations": "write",
"blup": "read",
"hive": "none",
"account": "read"
},
"expires_in_days": 90,
"ip_allowlist": ["203.0.113.0/24"]
}'

Respuesta (201):

{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "bp_live_a3f8e2b1c4d5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1",
"key_prefix": "bp_live_a3f8e2b1...f0a1"
}
}

Revocar una clave (DELETE)

curl -X DELETE https://beepass.io/api/api-keys \
-H "Content-Type: application/json" \
-b "sb-cookie=..." \
-d '{ "id": "550e8400-e29b-41d4-a716-446655440000" }'

Codigos de error

CodigoSituacion
400Parametros invalidos (nombre, permisos, TTL, IP)
400Maximo de 20 claves alcanzado
401Sesion no autenticada
429Limite de creacion excedido (10/h)

Vea tambien: Descripcion general | Autenticacion | Reinas | Evaluaciones