Documentación
Dos líneas. Cualquier herramienta.
Todas las herramientas de abajo necesitan las mismas dos cosas: la URL base de apmix y tu clave de API. Pega tu clave una vez y todos los fragmentos de código de esta página quedarán listos para copiar.
URL base
https://api.apmix.ai/v1Compatible con OpenAIChat Completions y Responses. Codex, Cursor, OpenCode, Kilo Code, Pi, Kimi, Grok, Hermes y los SDK.
https://api.apmix.aiCompatible con AnthropicMessages API. Claude Code y los SDK de Anthropic.
Tu configuración
Obtener una clave →- base_url
- https://api.apmix.ai
- api_key
- apx_live_YOUR_KEY
- model
- claude-sonnet-5
Elige tu herramienta
12 herramientas
Instala Claude Code
Requiere Node.js 18 o posterior. Omite este paso si ya lo tienes instalado.
Terminalnpm install -g @anthropic-ai/claude-codeConéctalo a apmix
Claude Code usa el protocolo de Anthropic, así que la URL base no lleva
/v1. Define las tres variables en la terminal desde la que lo ejecutas.export ANTHROPIC_BASE_URL="https://api.apmix.ai" export ANTHROPIC_AUTH_TOKEN="apx_live_YOUR_KEY" export ANTHROPIC_MODEL="claude-sonnet-5"Pega tu clave arriba para completar esto
Hazlo permanente
Pon los mismos valores en
~/.claude/settings.jsonpara que cada terminal nueva esté lista. El script hace antes una copia de seguridad del archivo existente; si ya tienes una configuración, combina el bloqueenvcon ella en lugar de reemplazar el archivo.mkdir -p ~/.claude [ -f ~/.claude/settings.json ] && cp ~/.claude/settings.json ~/.claude/settings.json.bak cat > ~/.claude/settings.json <<'EOF' { "env": { "ANTHROPIC_BASE_URL": "https://api.apmix.ai", "ANTHROPIC_AUTH_TOKEN": "apx_live_YOUR_KEY", "ANTHROPIC_MODEL": "claude-sonnet-5" } } EOFPega tu clave arriba para completar esto
Ejecútalo
Inicia Claude Code dentro de tu proyecto. Cambia de modelo cuando quieras con
/model, usando cualquier ID de Claude del catálogo.Terminalcd your-project claude
Verificación
Comprueba que la clave funciona.
Consulta los modelos a los que tiene acceso tu clave. Si recibes una lista en JSON, la clave y la URL son correctas; un 401 significa que la clave es incorrecta o ha expirado.
curl https://api.apmix.ai/v1/models -H "Authorization: Bearer apx_live_YOUR_KEY"Pega tu clave arriba para completar esto
¿Tu herramienta no aparece?
Cualquier herramienta que te permita configurar una URL base de OpenAI o de Anthropic funciona con apmix. Busca un campo Base URL o Custom provider, pega la URL y tu clave, y usa un ID de modelo del catálogo.
¿Sigue sin funcionar? Escribe a support@apmix.ai con el nombre de la herramienta y el ID de tu solicitud.
Errores
Cada error, su número y qué hacer.
La API responde con un estado HTTP estándar y un cuerpo JSON que identifica el error. El code nunca cambia, así que puedes basarte en él; el message está escrito para personas. Cada respuesta incluye además un encabezado x-apmix-request-id: indícalo cuando escribas a support@apmix.ai.
Dos formatos, según el endpoint
/v1/chat/completions, /v1/responses, /v1/models, /v1/usage)HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…
{
"error": {
"message": "Your monthly allowance is used up. …",
"type": "insufficient_quota",
"code": "allowance_exhausted",
"param": null
}
}/v1/messages, /v1/messages/count_tokens)HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…
{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Your monthly allowance is used up. …",
"code": "allowance_exhausted"
}
}- 400
invalid_jsoninvalid_request_error
Cuándo ocurre: El cuerpo de la solicitud no se pudo interpretar como JSON.
Qué hacer: Revisa las comillas, las comas y el encabezado
Content-Type: application/json. - 400
missing_modelinvalid_request_error
Cuándo ocurre: La solicitud no tiene el campo
model.Qué hacer: Añade un ID de modelo del catálogo, p. ej.,
claude-sonnet-4-6. - 400
bad_requestinvalid_request_error
Cuándo ocurre: El modelo rechazó un parámetro (tipo incorrecto, opción no admitida, contenido demasiado largo).
Qué hacer: Lee el
message: repite el motivo que dio el modelo. Corrige el parámetro y vuelve a enviar la solicitud.
- 401
missing_api_keyauthentication_error
Cuándo ocurre: No se envió ninguna clave. Todos los endpoints la necesitan, incluido
GET /v1/models, porque el catálogo depende de tu plan.Qué hacer: Envía
Authorization: Bearer apx_live_…(ox-api-keyen los endpoints de Anthropic). - 401
invalid_api_keyauthentication_error
Cuándo ocurre: La clave no existe o se eliminó.
Qué hacer: Vuelve a copiarla desde Panel → Claves de API o crea una nueva.
- 401
key_expiredauthentication_error
Cuándo ocurre: La clave superó la fecha de expiración que fijaste al crearla.
Qué hacer: Crea una clave nueva; la fecha de expiración no se puede extender.
- 403
model_not_in_planpermission_error
Cuándo ocurre: El modelo existe, pero está por encima de tu plan, o la cuenta aún no tiene plan. El
messageindica el modelo, el plan que necesita y el plan de tu clave.Qué hacer: Llama a
GET /v1/modelscon la misma clave (solo muestra lo que tu plan puede usar) o mejora tu plan en Panel → Facturación. - 403
event_not_startedpermission_error
Cuándo ocurre: El modelo pertenece a un evento de la comunidad que aún no ha empezado. El
messageindica la hora de inicio.Qué hacer: Espera a que el contador de apmix.ai/event llegue a cero o, mientras tanto, usa otro modelo.
- 403
event_endedpermission_error
Cuándo ocurre: La bolsa de tokens compartida del evento se agotó o el evento se cerró.
Qué hacer: Cambia a otro modelo. El próximo evento se anuncia en apmix.ai/event.
- 403
account_suspendedpermission_error
Cuándo ocurre: La cuenta se suspendió por incumplir los términos.
Qué hacer: Escribe a support@apmix.ai desde la dirección de correo de la cuenta.
- 403
account_on_holdpermission_error
Cuándo ocurre: Se está revisando un pago de la cuenta; las solicitudes quedan en pausa hasta que se resuelva.
Qué hacer: No tienes que hacer nada. Revisa tu correo o escribe a support@apmix.ai si tarda más de un día.
- 404
model_not_foundnot_found_error
Cuándo ocurre: El ID del modelo no existe o el modelo se retiró.
Qué hacer: Usa un ID de
/v1/modelso de la página Modelos. Se aceptan prefijos de proveedor comoanthropic/. - 404
not_foundnot_found_error
Cuándo ocurre: La ruta o el método no existen.
Qué hacer: Usa
POST /v1/chat/completions,POST /v1/responses,POST /v1/messages,GET /v1/modelsoGET /v1/usage.
- 429
allowance_exhaustedinsufficient_quota · rate_limit_error
Cuándo ocurre: Se agotaron tus tokens ponderados del mes. El
typeesinsufficient_quota, como en OpenAI.Qué hacer: Mejora tu plan en Panel → Facturación o espera a la fecha de renovación que aparece en la página Resumen.
- 429
daily_limit_reachedrate_limit_error
Cuándo ocurre: Alcanzaste el tope diario que fijaste tú en Configuración → Límites.
Qué hacer: Sube o quita el tope, o espera a la medianoche UTC.
- 429
weekly_limit_reachedrate_limit_error
Cuándo ocurre: Alcanzaste el tope semanal que fijaste tú en Configuración → Límites.
Qué hacer: Sube o quita el tope, o espera al lunes a las 00:00 UTC.
- 429
rate_limit_exceededrate_limit_error
Se puede reintentarCuándo ocurre: Más de 60 solicitudes en un minuto con una misma clave.
Qué hacer: Espera los segundos que indique
retry-after. Reparte los trabajos pesados entre varias claves. - 429
upstream_rate_limitedrate_limit_error
Se puede reintentarCuándo ocurre: El propio modelo está saturado en este momento.
Qué hacer: Reintenta con esperas crecientes (1 s, 2 s, 4 s). No se cobró nada.
- 502
upstream_errorapi_error
Se puede reintentarCuándo ocurre: El modelo devolvió una respuesta dañada o inesperada.
Qué hacer: Reintenta una vez; si se repite, prueba con otro modelo. No se cobró nada.
- 503
upstream_unavailableapi_error · overloaded_error
Se puede reintentarCuándo ocurre: El modelo agotó el tiempo de espera o está fuera de servicio por mantenimiento.
Qué hacer: Reintenta en un momento o cambia de modelo. No se cobró nada.
- 503
no_providerapi_error · overloaded_error
Se puede reintentarCuándo ocurre: El modelo no tiene ninguna ruta activa por nuestra parte (poco habitual, durante tareas de mantenimiento).
Qué hacer: Reintenta en unos minutos o elige otro modelo.
Los errores marcados como “se puede reintentar” son transitorios: espera uno o dos segundos y vuelve a enviar la misma solicitud (la mayoría de los SDK lo hacen automáticamente con 429 y 5xx). Todo lo demás requiere antes un cambio por tu parte.
Encabezados de respuesta útiles
- x-apmix-request-id
- ID único de esta solicitud. Inclúyelo cuando escribas a support@apmix.ai.
- x-apmix-remaining
- Tokens ponderados que quedan en tu cuota mensual después de esta solicitud.
- x-apmix-weighted-tokens
- Lo que costó esta solicitud, ya aplicado el multiplicador del modelo.
- retry-after
- Segundos que debes esperar; se envía con
rate_limit_exceeded.

