Límites
Cada límite que Sallyport aplica a tus llamadas: su valor, dónde se cambia y qué pasa al superarlo.
Un límite existe solo donde su ausencia rompería la memoria, el dinero o el servicio de otro. Pasarte de tu plan nunca detiene una llamada.
Llamadas
| Límite | Valor | Al superarlo |
|---|---|---|
| Llamadas de tu plan | 10.000 al mes en Solo, 100.000 en Pro, 1.000.000 en Team, sin techo en Agency | Las llamadas siguen funcionando. La consola muestra un aviso, y el resultado MCP de una llamada que se ejecutó al momento lleva PLAN_LIMIT. Las respuestas en /p/ no lo llevan. |
| Agentes de tu plan | 1 en Solo, hasta 5 en Pro, hasta 25 en Team, sin límite en Agency | Un agente nuevo se rechaza con PLAN_LIMIT. Elimina un agente o pasa a un plan mayor. |
| Un plan activo | Toda organización necesita uno. Una organización nueva empieza los 7 días gratis con su primer agente. | Las llamadas se rechazan con PLAN_REQUIRED y un enlace a Plan y facturación hasta que un propietario elige un plan. Claves, agentes y registro se conservan. |
| Llamadas por hora, por agente | Sin límite los primeros 30 días de la cuenta, luego 10.000. Pon el tuyo en «Llamadas por hora», en la página del agente. | La llamada se rechaza con RATE_LIMITED y un momento para reintentar: el inicio del minuto siguiente. |
| Llamadas a la vez, por agente | 32. Cámbialo en «Llamadas simultáneas», en la página del agente. | La llamada se rechaza con RATE_LIMITED y un reintento tras un segundo. |
| Llamadas a la vez, por cuenta | 64, entre todos sus agentes | La llamada se rechaza con UNAVAILABLE y un reintento tras medio segundo. |
| Llamadas por hora, por conexión | Ninguno hasta que lo fijes en la página de la conexión, en «Límites», «Llamadas por hora antes de preguntar a una persona», o como budget_calls_per_hour con PATCH /v1/bindings/{id}. 0 lo desactiva. | Cada llamada siguiente en esa conexión durante esa hora espera a una persona, y ningún permiso la cubre. |
| Tarjetas de aprobación en espera | 20 por agente, 100 por cuenta | La llamada que cruza el límite se rechaza con SUSPENDED, y el agente se pausa detrás de una sola tarjeta. Responderla lo pone en marcha de nuevo. |
| Presupuesto de lectura | Apagado. Pon de 2 a 100 en «Presupuesto de lectura», en la página del agente. | Tras 7 días de historial, una tarjeta te pregunta cuando los bytes que el agente lee de una conexión en una hora superan esas veces su hora mediana en esa conexión. |
Tamaños
| Límite | Valor | Al superarlo |
|---|---|---|
| Respuesta dentro del resultado de una herramienta MCP | 24 KiB, o lo que el agente fije en max_inline_bytes, hasta 1 MiB | El resto se guarda. El agente lo lee con fetch_body durante 30 días. |
| Respuesta del servicio | 512 MiB por llamada, lo máximo que acepta una conexión. Bájalo en la página de la conexión, en «Límites», «Respuesta más grande del servicio», o con max_upstream_bytes. | Por MCP la llamada falla con UPSTREAM_TOO_LARGE y no devuelve nada parcial. En /p/ la respuesta ya va en flujo, así que se corta, y una consulta posterior de la llamada muestra UPSTREAM_TOO_LARGE. |
| Cuerpo de la solicitud por el proxy HTTP | 32 MiB, o 1 MiB en la forma abierta JSON | La solicitud se rechaza antes de enviar nada. |
| Un mensaje MCP | 8 MiB | El mensaje se rechaza antes de enviar nada. |
| Archivo escrito por SFTP | Hasta 32 MiB con PUT en /p/. Dentro de una llamada MCP, lo que cabe en un mensaje de 8 MiB: unos 6 MiB como content_base64. | La solicitud se rechaza antes de enviar nada. |
| Archivo leído por SFTP | La respuesta más grande de la conexión, 512 MiB por defecto. offset y length leen un archivo mayor por partes. | Como cualquier respuesta: UPSTREAM_TOO_LARGE por MCP, un flujo que se corta antes en /p/. |
| Respuesta de base de datos | 1.000 filas | La respuesta lo indica. Recorre el resto con LIMIT y OFFSET. |
| Mensaje de correo | 100 destinatarios, 20 adjuntos, 10 MiB | El agente sabe qué límite, y no se envía nada. |
| Mensaje WebSocket | 1 MiB, en cualquier sentido | Ambos lados reciben el cierre 1009, y el mensaje no se pasa. |
Tiempo
| Límite | Valor | Al superarlo |
|---|---|---|
| El servicio empieza a responder | 60 segundos después de enviar la solicitud | La llamada falla con UPSTREAM_ERROR. |
| Una llamada sin flujo | 5 minutos del inicio a la respuesta | La llamada falla con UPSTREAM_ERROR. |
| Silencio dentro de un flujo | 10 minutos entre dos partes de la respuesta | El flujo se cierra. |
| Sesión WebSocket | 60 minutos | Ambos lados reciben el cierre 1001 con el motivo. |
| Silencio en una sesión WebSocket | 10 minutos sin un frame en ningún sentido | Ambos lados reciben el cierre 1001 con el motivo. |
| Sentencia de base de datos | 30 segundos, o hasta 300 segundos si el agente lo pide | La base de datos detiene la sentencia y lo indica. |
| Operación de correo | 120 segundos | La llamada se detiene y lo indica. |
| Llamada MCP que espera a una persona | 240 segundos para un cliente que envía un token de progreso, 45 segundos para uno que no lo envía | El agente recibe APPROVAL_PENDING con un call_id y continúa la misma llamada después. |
| Tarjeta de aprobación | 60 minutos. Cámbialo en «Configuración», «Organización», «Plazo de aprobación (segundos)»: de 60 a 86.400. | La tarjeta caduca y la llamada termina con APPROVAL_EXPIRED. |
| Permiso desde una tarjeta | Lo que fije «Permiso más largo (segundos)»: 24 horas por defecto y como máximo. Por defecto, hasta 200 lecturas, 20 escrituras o 1 llamada destructiva. | La siguiente llamada vuelve a preguntar. |
| Solicitud de acceso | 7 días | La solicitud se cierra. El agente puede pedirlo otra vez. |
| Respuestas guardadas | 30 días | La respuesta se borra. |
| Historial de llamadas y registro | 180 días. Cámbialo en «Registro e historial de llamadas (días)». | Las llamadas antiguas y los meses del registro se borran. |
Las avalanchas se frenan en el borde
Cada nombre de Sallyport está detrás de Cloudflare, y solo Cloudflare llega al gateway. Frenar avalanchas de solicitudes es tarea de Cloudflare. Los límites propios del gateway son los de esta página.