Referencia

Errores

Todos los errores siguen RFC 7807 Problem Details. El campo code es machine-readable — los clientes deberían hacer switch sobre eso, no sobre el title. En v2, los errores de validación responden 422.

Qué hacer según el error

Revise la API Key

401 · 403

Falta, está mal, se revocó o no tiene el permiso. Reintentar igual no sirve.

Espere y reintente

429

Si superó el tope por minuto, espere lo que diga Retry-After. Si tiene demasiados jobs activos, espere a que termine alguno.

Reintente con backoff

5xx

Falla de nuestro lado. Reintente esperando 1, 2, 4 y 8 segundos; si sigue, escríbanos con el X-Request-Id.

Cómo se ve un error

json
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/problem+json

{
  "type": "https://api.automeli.com/errors/E_PRODUCT_INVALID_SKU",
  "title": "SKU inválido",
  "status": 422,
  "code": "E_PRODUCT_INVALID_SKU",
  "instance": "/api/v2/products",
  "detail": "items[3].sku no cumple el formato (10 chars alfanum)."
}
Haga switch sobre code en su cliente. El title es human-readable y puede cambiar; el code es contrato público y estable. El catálogo es compartido entre v1 y v2 (mismo backend).

Catálogo completo (33)

Código y descripciónStatus
E_AUTH_MISSING_KEY

Falta el header X-API-Key

401
E_AUTH_INVALID_KEY

Key con formato inválido o no reconocida

401
E_AUTH_KEY_REVOKED

Key revocada por el dueño

401
E_AUTH_KEY_EXPIRED

Key con expires_at vencido

401
E_AUTH_FORBIDDEN_SCOPE

Su key no tiene el permiso requerido (ver scopes)

403
E_RATE_LIMITED

Excedió el rate limit. Ver Retry-After

429
E_IDEMPOTENCY_CONFLICT

Misma Idempotency-Key con body distinto

409
E_PRODUCT_INVALID_BODY

Body malformado o con campos inválidos (POST/PATCH)

422
E_PRODUCT_INVALID_PARAM

Parámetro de query o path inválido (fecha, UUID, estado fuera de rango). Sólo v2; en v1 estos casos devuelven E_PRODUCT_INVALID_BODY

422
E_PRODUCT_LIST_TIMEOUT

Sólo v2 (GET /products): la consulta superó su tope de tiempo. Trae Retry-After: 30; reintente una sola vez y, si se repite, quite sort_by, use un término más general o busque por sku o listing_id exactos

503
E_CURSOR_STALE

Sólo v2 (GET /bestsellers): la lista se recalculó desde que empezó a paginar. Pida de nuevo la primera página, sin cursor

409
E_PRODUCT_INVALID_SKU

SKU no cumple regex (10 alfanum)

422
E_PRODUCT_CREDIT_EXHAUSTED

Sin créditos disponibles

400
E_PRODUCT_MAX_CONCURRENT_JOBS

Ya tiene 6 jobs activos

429
E_PROMOTE_NO_CANDIDATES

Ningún producto de prueba publicable coincide con lo pedido

400
E_PROMOTE_REQUIRES_LIVE_KEY

Endpoint /products/test/promote sólo acepta key live

403
E_ACTION_REQUIRES_LIVE_KEY

Acción real sobre Mercado Libre con key test (con test solo se permite dry_run)

403
E_ACTION_COUNT_MISMATCH

Acción real con expected_count (obligatorio en close/republish por filtros): el conteo real supera expected_count más la tolerancia

409
E_ACTION_MAX_CONCURRENT_JOBS

Ya tiene 3 jobs de acciones en cola o en proceso

429
E_ACTION_IDEMPOTENCY_KEY_REQUIRED

close o republish real sin el header Idempotency-Key

428
E_ACTION_REJECTED

El servicio de acciones rechazó la solicitud (p. ej. supera el máximo de publicaciones a cerrar); el detalle trae el motivo

422
E_CATEGORY_INVALID

La categoría de Mercado Libre no cumple el formato (MCO…)

422
E_CATEGORY_AND_AUTO_CONFLICT

Un item manda la categoría y auto_categorize a la vez

422
E_JOB_NOT_FOUND

jobId no existe o no es de su seller

404
E_JOB_NOT_RETRYABLE

Job no terminal o sin items retryables

400
E_JOB_ALREADY_TERMINAL

Cancel sobre job ya cerrado

400
E_ACCOUNT_NOT_FOUND

Cuenta Meli no encontrada

404
E_NO_ML_TOKEN

La cuenta no tiene un token de MercadoLibre vinculado

400
E_INVALID_JSON

El cuerpo de la solicitud no es JSON válido

400
E_UNSUPPORTED_MEDIA_TYPE

El Content-Type o la codificación del cuerpo no está soportado

415
E_PAYLOAD_TOO_LARGE

El cuerpo de la solicitud supera el límite (2 MB)

413
E_NOT_FOUND

Ruta no encontrada dentro de la API

404
E_INTERNAL

Error inesperado. Reintente con backoff

503