Autenticación

API Keys y scopes

Toda llamada va con su API Key en el header X-API-Key. Las keys se crean desde el dashboard y vienen en dos entornos. Son las mismas keys para v1 y v2.

Header obligatorio

Todas las requests a /api/v2/* llevan este header:

header
X-API-Key: automeli_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

Entornos: live y test

Hay dos entornos. El environment de la key determina el comportamiento del job — no se manda en el body.

automeli_live_*

Producción. Publica en cuenta real de Mercado Libre. Consume créditos de publicación.

automeli_test_*

Sandbox. Publica en cuenta test. Sin costo real. Para validar su integración antes de tocar la cuenta real.

Trate la API Key como una contraseña. No la suba a Git ni la pegue en canales públicos. Si se filtra, revóquela desde el dashboard y genere una nueva.

Cabeceras de respuesta

Cada respuesta de /api/v2/* dice con qué entorno y qué cuenta se respondió, sin una llamada extra:

X-Automeli-Environmenttest o live: el entorno de la key con que se respondió.
X-Automeli-Seller-IdEl seller_id de la cuenta de Mercado Libre de la key.
X-Request-IdIdentificador de la request. Cítelo si contacta a soporte.
  • Las dos X-Automeli-* llegan sólo cuando la key ya se verificó: una key inválida, revocada o vencida (401) no las recibe. Un 429 sí las trae.
  • Sólo en v2. Úselas para confirmar en su integración que no está escribiendo en la cuenta o el entorno equivocado.
  • Las cabeceras X-RateLimit-* se explican en Rate limit.

Permisos (scopes)

Al crear la key elige qué scopes habilitar. Si un endpoint requiere un scope que su key no tiene, recibe 403 E_AUTH_FORBIDDEN_SCOPE. Pida sólo los que su integración necesite.

ScopeEndpoints v2 habilitados
products:readGET /products, GET /products/test, GET /products/jobs, GET /products/jobs/{id}, GET /products/ml-actions/{id}, GET /bestsellers, GET /bestsellers/categories
products:writePOST /products, POST /products/test/promote, POST /products/jobs/{id}/retry, POST /products/jobs/{id}/cancel, PATCH /products/sync-status
account:readGET /account, GET /account/tax-categories
listings:writePOST /products/ml-actions, POST /products/ml-actions/{id}/cancel (opcional: viene desmarcado al crear la key)

GET /ping no requiere scope — sirve para verificar la auth sin permisos adicionales.