Autenticación

Autenticación de la API

Todas las solicitudes a la API requieren autenticación con una clave API. Incluye tu clave en el encabezadox-api-keyen cada solicitud.

Obtener tu clave API

  1. Visita nuestra página de precios y elige un plan
  2. Selecciona el plan de suscripción que se ajuste a tus necesidades
  3. Abre tu panel
  4. Tu clave API aparecerá en la sección API Key

Base URL

https://api.freeastroapi.com

Encabezados requeridos

EncabezadoValorRequerido
x-api-keyTu clave API
Content-Typeapplication/jsonSí (para POST)
Idempotency-KeyClave de operación única generada por el clienteNo (recomendado para reintentos POST facturables)
Reintentos seguros con Idempotency-Key

Las solicitudes astrológicas POST 请求支持 Idempotency-Key: <client-generated unique operation key>. Genera una clave por operación prevista. Reutiliza la misma clave solo cuando reintentes exactamente la misma solicitud después de un timeout o un error de red.

Node.js

const idempotencyKey = crypto.randomUUID();

await fetch("https://api.freeastroapi.com/api/v1/natal/calculate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.FREE_ASTRO_API_KEY,
    "Idempotency-Key": idempotencyKey
  },
  body: JSON.stringify(payload)
});

Python

import uuid

idempotency_key = str(uuid.uuid4())

headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY",
    "Idempotency-Key": idempotency_key
}

Ejemplos de autenticación

curl -X POST "https://api.freeastroapi.com/api/v1/natal/calculate" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year": 1990, "month": 5, "day": 15, "hour": 10, "minute": 30, "city": "New York", "lat": 40.7128, "lng": -74.006}'

Buenas prácticas de seguridad

  • Nunca expongas tu clave API en código del cliente. Realiza las llamadas a la API desde tu servidor.
  • Usa variables de entorno para almacenar tu clave API, no cadenas hardcodeadas.
  • Rota tu clave API si crees que puede estar comprometida.
  • Supervisa tu uso en el panel para detectar actividad inusual.

Errores de autenticación

EstadoMensajeDescripción
401Missing API keyNo se proporcionó el encabezado x-api-key
401Invalid API keyLa clave API no existe o fue revocada
429Rate limit exceededHas superado el límite de solicitudes de tu plan
403Subscription requiredTu suscripción expiró o no está activa

Límites de velocidad

Los límites de velocidad varían según el plan. Los siguientes encabezados se incluyen en cada respuesta:

EncabezadoDescripción
X-RateLimit-LimitNúmero total de solicitudes permitidas por periodo
X-RateLimit-RemainingSolicitudes restantes en el periodo actual
X-RateLimit-ResetTimestamp en el que se reinicia el límite

Siguientes pasos