API de paquetes
Consulta tus paquetes de proxies ilimitados y administra las IP permitidas de cada paquete. Las escrituras requieren una clave de API Bearer; una sesión iniciada en la documentación puede leer, pero no escribir. Cada escritura es una sola llamada: no hay encabezado de precondición y gana la última escritura exitosa.
Listar y leer#
GET /api/v1/packages
GET /api/v1/packages/{packageId}
Authorization: Bearer lit_...
| Parámetro | Reglas |
|---|---|
limit |
Entero de 1 a 100; el valor predeterminado es 50. |
cursor |
El page de la página anterior, enviado de vuelta sin cambios. |
{
"data": {
"id": 45,
"status": "active",
"product": { "key": "dc-shared-rotating", "name": "DC Shared Rotating" },
"country": "us",
"quantity": 2,
"addOns": ["high-speed"],
"limits": { "speedMbps": 20, "connections": 300, "requestsPerSec": 25 },
"renewsAt": "2027-01-01T00:00:00.000Z",
"endsAt": null,
"tokenIds": [12345, 12346]
}
}
Un packageId desconocido, ajeno o que no se puede interpretar da 404 PACKAGE_NOT_FOUND.
Estado#
status |
Significado | Fechas |
|---|---|---|
awaiting-payment |
Pedido realizado, aún sin pagar. | Ambas null. |
active |
Se está pagando, incluido un período que ya está programado para terminar. | renewsAt es la próxima renovación, o endsAt es cuándo se detiene si no se va a renovar. |
suspended |
El pago falló o el paquete se pausó. | endsAt cuando se conoce; si no, null. |
ended |
Ya no está activo. | endsAt es cuándo terminó. |
setup-failed |
El aprovisionamient |
Ambas null. |
product.key es la clave de la familia del catálogo y product.name, su nombre para mostrar. addOns enumera los nombres públicos de los complementos: high-speed, more-allowed-ips, multi-location. limits es el tope efectivo por token de velocidad, conexiones y frecuencia de solicitudes para la configuración de este paquete, o null cuando no se puede determinar. tokenIds enumera los tokens actuales del paquete; consulta cada uno con Tokens.
IP permitidas#
La lista de IP permitidas de un paquete le permite aceptar conexiones sin contraseña desde direcciones de origen IPv4 públicas exactas. Se aplica a todos los endpoints de proxy listos del paquete; cada uno de esos tokens también informa su propio endpoint sin contraseña como ipAuth (consulta Tokens). Las credenciales siguen funcionando, esté la lista vacía o no. IPv6 no es compatible; ponte en contacto con soporte.
GET /api/v1/packages/{packageId}/allowed-ips
Authorization: Bearer lit_...
{
"data": {
"packageId": 45,
"limit": 50,
"ips": ["8.8.8.8", "9.9.9.9"],
"available": true,
"unavailableCode": null
}
}
limit es 1 para un paquete sin el complemento, o 50 con more-allowed-ips. available: false significa que la función de IP permitidas en sí no está disponible en este momento; unavailableCode indica entonces el motivo.
Cambiar la lista#
Define la lista completa de una vez:
PUT /api/v1/packages/{packageId}/allowed-ips
Authorization: Bearer lit_...
Content-Type: application/json
{"ips": ["8.8.8.8", "9.9.9.9"]}
Todo o nada: una IP no válida rechaza toda la solicitud con un 400 INVALID_IP que la nombra, y una lista que supere limit da un 409 ALLOWED_IPS_LIMIT_REACHED. Envía {"ips": []} para vaciar la lista.
Agrega o elimina una sola IP, sin necesidad de leer la lista antes:
PUT /api/v1/packages/{packageId}/allowed-ips/{ip}
DELETE /api/v1/packages/{packageId}/allowed-ips/{ip}
Authorization: Bearer lit_...
Ninguna de las dos lleva cuerpo. Agregar una IP que ya está en la lista, o eliminar una que ya no está, es una operación exitosa sin cambios. Eliminar solo marca la fila como revocada, por lo que su historial de auditoría se conserva; no vuelve a aparecer en ips.
Toda escritura de IP permitidas devuelve la misma estructura {data: ...} que se muestra arriba.
Seguridad y límites#
Agregar una IP concede acceso sin contraseña desde ese origen a todos los endpoints listos del paquete; eliminarla quita ese acceso. Las escrituras en un mismo paquete se limitan a 20 cada 60 segundos, además del límite por clave; consulta los límites de frecuencia.
Errores de IP permitidas#
| Estado | Código | Significado |
|---|---|---|
400 |
INVALID_IP |
La dirección no es un literal IPv4 público exacto. El mensaje la nombra. |
400 |
IPV6 |
Se envió una dirección IPv6. Ponte en contacto con soporte. |
400 |
INVALID |
El cuerpo para definir la lista no es exactamente {"ips": [...]}. |
404 |
PACKAGE |
packageId desconocido, ajeno o con formato incorrecto. |
409 |
ALLOWED |
La lista superaría limit. Ponte en contacto con soporte para aumentarlo. |
409 |
PACKAGE |
El paquete no está activo. Eliminar IP sigue funcionando. |
409 |
CONCURRENT |
Otra escritura en este paquete llegó en el mismo instante. Reintenta la misma solicitud. |
429 |
RATE_LIMITED |
Se superó el límite por clave o por paquete. Espera el tiempo indicado en Retry-After. |
503 |
ALLOWED |
El almacenamiento de IP permitidas o la asignación de puertos no está disponible temporalmenteRetry-After. |
Cada código se describe en Errores de la API; los esquemas están en el contrato OpenAPI.
Proxies «Multiubicación»#
La ciudad y el operador de destino de un proxy «Multiubicación» son ajustes del token, no del paquete: consúltalos y cámbialos con Tokens: ubicación.