Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.lapyme.com.ar/llms.txt

Use this file to discover all available pages before exploring further.

Bienvenido a la API de La Pyme

La API REST de La Pyme te permite integrar nuestro sistema de gestión con tus aplicaciones. Podés acceder a datos de clientes, productos y realizar operaciones de manera segura usando API keys. La API pública actual cubre compras, ventas, inventario, contactos, productos, reportes y configuración con request_id, recursos con object, paginación por cursor y errores estructurados.
Si estás integrando compras o automatizaciones, empezá por la referencia de la API.

Base URL

Todos los endpoints de la API están disponibles en:
https://api.lapyme.com.ar

Autenticación

Todas las requests (excepto /health) requieren autenticación usando Bearer tokens. Incluí tu API key en el header Authorization:
Authorization: Bearer tu_api_key
Necesitás obtener tu API key desde el Dashboard de La Pyme en la sección de Integraciones.

Formato de Response

La API usa request_id, recursos con object, tokens para paginar listados y errores estructurados con type. El status HTTP es la señal de éxito o error.

Response de lectura

{
  "request_id": "req_123",
  "object": "list",
  "url": "/api/v1/customers",
  "data": [
    {
      "object": "customer",
      "id": "cus_123",
      "name": "Acme S.A."
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Response de error

{
  "request_id": "req_123",
  "error": {
    "type": "invalid_request_error",
    "code": "INVALID_REQUEST",
    "message": "Descripción del error",
    "retryable": false,
    "details": []
  }
}

Paginación

Los endpoints que devuelven listas usan un token para pedir la siguiente página:
  • limit: cantidad máxima de items por respuesta (máximo 100, default: 50)
  • cursor: valor recibido en next_cursor para pedir la siguiente respuesta
La API no acepta page; si has_more es true, copiá next_cursor y envialo como cursor en la próxima request.

Rate Limiting

La API implementa rate limiting para asegurar un servicio estable:
  • Cuota principal: 5000 requests por hora por organización
  • Burst protection: 120 requests por minuto por organización
  • Superficie afectada: se aplica a toda la API pública autenticada (/api/v1/*) y se comparte entre todas las API keys y clientes delegados de la misma organización
  • Fuera de alcance: no aplica sobre /health, OPTIONS, rutas internas ni webhooks
  • Headers: las responses incluyen Retry-After cuando recibís 429, más headers X-RateLimit-* y RateLimit-* con el estado de la ventana activa

Cómo leer este límite

  • El límite es por organización, no por credencial individual.
  • Si una misma organización usa varias API keys, una CLI y agentes delegados al mismo tiempo, todo suma sobre la misma cuota.
  • La API controla dos ventanas al mismo tiempo: una ventana amplia de 5000 requests por hora y una ventana corta de 120 requests por minuto para evitar picos.
  • Si superás cualquiera de las dos, la API responde 429 RATE_LIMITED.
  • Cuando eso pasa, usá Retry-After para saber cuántos segundos esperar antes de reintentar.

Ejemplo de respuesta cuando llegás al límite

HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 30
RateLimit-Limit: 5000
RateLimit-Remaining: 0
RateLimit-Reset: 30
{
  "request_id": "req_rate_limit_1",
  "error": {
    "type": "rate_limit_error",
    "code": "RATE_LIMITED",
    "message": "Se alcanzó el límite de solicitudes de la organización. Reintentá más tarde.",
    "retryable": true,
    "details": []
  }
}

Códigos de Error Comunes

CódigoDescripción
AUTHENTICATION_REQUIREDFalta la credencial bearer, es inválida o expiró
FORBIDDENTu credencial no tiene permisos para esta operación
INVALID_REQUESTParámetros o payload inválidos
NOT_FOUNDEl recurso solicitado no existe
INTERNAL_ERRORError interno del servidor
RATE_LIMITEDLa organización superó su cuota horaria o su burst por minuto
PRECONDITION_FAILEDLa operación no puede ejecutarse hasta resolver bloqueos detectados
IDEMPOTENCY_CONFLICTLa misma Idempotency-Key fue reutilizada con otro payload

Próximos Pasos

  1. Configurá tu autenticación
  2. Si vas a integrar compras, leé la referencia de la API
  3. Explorá los endpoints disponibles en la sección Endpoints
  4. Probá las requests directamente desde esta documentación usando el API playground
Todos los endpoints incluyen ejemplos interactivos que podés ejecutar directamente desde esta documentación.