{
  "protocolVersion": "1.0",
  "name": "Lidra SMM — agente de crecimiento en redes",
  "description": "Agente de la plataforma argentina de marketing en redes sociales Lidra SMM. Pasale el link de un perfil o de un posteo y te dice qué le podés comprar (seguidores, me gusta, vistas, comentarios) y cuánto sale en pesos argentinos. También hace pedidos, sigue su avance, pide reposición y consulta el saldo. Responde en el momento, de forma determinística: no hay un modelo de lenguaje adivinando intenciones.",
  "supportedInterfaces": [
    {
      "url": "https://lidra.com.ar/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "url": "https://lidra.com.ar/api/a2a",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "documentationUrl": "https://lidra.com.ar/desarrolladores",
  "provider": {
    "organization": "Lidra SMM",
    "url": "https://lidra.com.ar"
  },
  "iconUrl": "https://lidra.com.ar/logo-lidra.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "API key de Lidra, o un token del login de agentes (client_id mXpEGOcS6OrOK58V). Cómo conseguirla: https://lidra.com.ar/auth.md"
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "skills": [
    {
      "id": "link_a_servicios",
      "name": "De un link a lo que se le puede comprar",
      "description": "Mandale un mensaje con el link de un perfil o posteo de Instagram, TikTok, YouTube, X, Facebook, Spotify o Telegram, y te devuelve los servicios compatibles con su precio del día en pesos. Es la habilidad principal.",
      "tags": [
        "smm",
        "redes sociales",
        "precios",
        "argentina"
      ],
      "examples": [
        "https://instagram.com/p/ABC123",
        "¿qué le puedo comprar a https://www.tiktok.com/@usuario/video/72?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "detect_link",
      "name": "Analizar un link",
      "description": "Lee un link de red social y devuelve de qué plataforma es, qué tipo de contenido, y qué métricas se le pueden comprar. Primer paso natural antes de buscar servicios. Se invoca mandando una parte de datos: {\"skill\":\"detect_link\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "services_for_link",
      "name": "Servicios compatibles con un link",
      "description": "Dado un link, devuelve todos los servicios que se le pueden aplicar, con el precio del día en pesos. Es la forma más rápida de pasar de un link a algo comprable. Se invoca mandando una parte de datos: {\"skill\":\"services_for_link\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "search_services",
      "name": "Buscar servicios",
      "description": "Busca en el catálogo por plataforma, métrica, tipo de contenido o nombre. Devuelve el precio final en centavos de ARS por cada 1000 unidades. Se invoca mandando una parte de datos: {\"skill\":\"search_services\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_service",
      "name": "Ver un servicio",
      "description": "Devuelve el detalle de un servicio: precio, mínimo, máximo y si admite reposición o entrega gradual. Se invoca mandando una parte de datos: {\"skill\":\"get_service\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "quote_order",
      "name": "Cotizar un pedido",
      "description": "Calcula cuánto costaría un pedido sin crearlo ni cobrar nada. Usalo siempre antes de `create_order` para confirmarle el precio a la persona. Se invoca mandando una parte de datos: {\"skill\":\"quote_order\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_order",
      "name": "Crear un pedido",
      "description": "Crea un pedido y COBRA el saldo de la billetera al instante. Confirmá el precio con `quote_order` antes de llamar a esto. El pedido vuelve en estado `pending`; el avance se consulta con `get_order`. Se invoca mandando una parte de datos: {\"skill\":\"create_order\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción",
        "gasta-saldo"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_orders",
      "name": "Listar pedidos",
      "description": "Devuelve tus pedidos, con filtros por estado, plataforma o cliente. Se invoca mandando una parte de datos: {\"skill\":\"list_orders\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_order",
      "name": "Ver un pedido",
      "description": "Devuelve un pedido con su estado, lo entregado y lo que falta. Se invoca mandando una parte de datos: {\"skill\":\"get_order\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_orders_status",
      "name": "Estado de varios pedidos",
      "description": "Consulta hasta 100 pedidos de una sola vez. Es la forma correcta de seguir el avance de muchos pedidos sin gastar el límite de peticiones. Se invoca mandando una parte de datos: {\"skill\":\"get_orders_status\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "cancel_order",
      "name": "Cancelar un pedido",
      "description": "Cancela un pedido que todavía no empezó a entregarse y reintegra el saldo. Si la entrega ya arrancó, no se puede: hay que abrir una consulta de soporte. Se invoca mandando una parte de datos: {\"skill\":\"cancel_order\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "request_refill",
      "name": "Pedir reposición",
      "description": "Pide la reposición de un pedido completado, si el servicio la admite (por ejemplo, seguidores que se cayeron). Se puede pedir una sola vez por pedido. Se invoca mandando una parte de datos: {\"skill\":\"request_refill\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_refill_status",
      "name": "Estado de la reposición",
      "description": "Devuelve si la reposición de un pedido está pedida, en curso, completada o rechazada. Se invoca mandando una parte de datos: {\"skill\":\"get_refill_status\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_balance",
      "name": "Ver el saldo",
      "description": "Devuelve el saldo disponible en la billetera, en centavos de ARS. Se invoca mandando una parte de datos: {\"skill\":\"get_balance\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_transactions",
      "name": "Listar movimientos",
      "description": "Devuelve los movimientos de la billetera: recargas, cobros de pedidos, reintegros y ajustes. Se invoca mandando una parte de datos: {\"skill\":\"list_transactions\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_topup",
      "name": "Generar una recarga",
      "description": "Crea un link de pago de Mercado Pago para cargar saldo. Devuelve la URL; el saldo se acredita recién cuando el pago se aprueba. Se invoca mandando una parte de datos: {\"skill\":\"create_topup\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_clients",
      "name": "Listar clientes",
      "description": "Devuelve los clientes de tu CRM, con cuántos pedidos hizo cada uno y cuánto gastó. Se invoca mandando una parte de datos: {\"skill\":\"list_clients\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_client",
      "name": "Crear un cliente",
      "description": "Agrega un cliente a tu CRM para imputarle pedidos. Se invoca mandando una parte de datos: {\"skill\":\"create_client\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_folders",
      "name": "Listar carpetas",
      "description": "Devuelve las carpetas con las que organizás tus clientes. Se invoca mandando una parte de datos: {\"skill\":\"list_folders\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_folder",
      "name": "Crear una carpeta",
      "description": "Crea una carpeta para agrupar clientes. Se invoca mandando una parte de datos: {\"skill\":\"create_folder\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_tickets",
      "name": "Listar consultas de soporte",
      "description": "Devuelve tus consultas de soporte con todos sus mensajes. Se invoca mandando una parte de datos: {\"skill\":\"list_tickets\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_ticket",
      "name": "Abrir una consulta de soporte",
      "description": "Abre una consulta de soporte, opcionalmente asociada a un pedido. Se invoca mandando una parte de datos: {\"skill\":\"create_ticket\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "reply_ticket",
      "name": "Responder una consulta",
      "description": "Agrega un mensaje tuyo a una consulta existente. Si estaba cerrada, se reabre. Se invoca mandando una parte de datos: {\"skill\":\"reply_ticket\",\"input\":{…}}.",
      "tags": [
        "smm",
        "acción"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_profile",
      "name": "Ver tu perfil",
      "description": "Devuelve tu email, tu nombre y tu saldo. Se invoca mandando una parte de datos: {\"skill\":\"get_profile\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_api_status",
      "name": "Estado de la API",
      "description": "Confirma que la API key funciona y devuelve qué permisos tiene. No necesita ningún permiso. Se invoca mandando una parte de datos: {\"skill\":\"get_api_status\",\"input\":{…}}.",
      "tags": [
        "smm",
        "consulta"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    }
  ]
}
