Saltar al contenido principal
POST
/
instances
Crear una instancia de portal cautivo
curl --request POST \
  --url https://api.altostrat.io/instances \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "WiFi Invitados Oficina Principal",
  "strategy": "oauth2",
  "session_ttl": 43200,
  "auth_integration_id": "c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f"
}'
{
  "id": "9a7f1b2c-3d4e-5f6a-7b8c-9d0e1f2a3b4c",
  "auth_integration_id": "c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f",
  "strategy": "oauth2",
  "name": "WiFi Invitados Oficina Principal",
  "session_ttl": 43200,
  "auth_window_ttl": 300,
  "theme": {
    "logo": "https://api.altostrat.io/captive/assets/.../logo_abc123.png?signature=...",
    "icon": "https://api.altostrat.io/captive/assets/.../icon_def456.png?signature=...",
    "accent_text": "#FFFFFF",
    "accent_color": "#0396d5",
    "text_color": "#4f4f4f",
    "secondary_text_color": "#8f8f8f",
    "background_color": "#f9f9f9",
    "border_color": "#e0e0e0",
    "box_color": "#ffffff"
  },
  "terms_text": "Al conectarse, usted acepta nuestros términos de servicio...",
  "sites": [
    {
      "id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6",
      "subnets": [
        "192.168.88.0/24"
      ]
    }
  ],
  "created_at": "2025-10-29T12:00:00Z",
  "preview_url": "https://captive.altostr.at/preauth?token=eyJpdiI6..."
}

Authorizations

Authorization
string
header
required

Autenticación por Clave de API. Proporcione su token en la cabecera 'Authorization'. Ejemplo: Authorization: Bearer <SU_TOKEN>

Body

application/json
name
string
required

Un nombre legible para la instancia.

Example:

"WiFi Invitados Oficina Principal"

strategy
enum<string>
required

El método de autenticación para este portal cautivo.

Opciones disponibles:
oauth2,
coupon
Example:

"oauth2"

session_ttl
integer
required

La duración en segundos que la sesión de un usuario permanece activa después de la autenticación. Mínimo 1200, máximo 604800.

Example:

43200

auth_integration_id
string<uuid> | null

Requerido si la estrategia es 'oauth2'. El ID de una integración de autenticación preconfigurada.

Example:

"c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f"

Response

La instancia del portal cautivo se creó correctamente.

id
string<uuid>

El identificador único para la instancia.

Example:

"9a7f1b2c-3d4e-5f6a-7b8c-9d0e1f2a3b4c"

auth_integration_id
string<uuid> | null

El ID de la integración de autenticación utilizada si la estrategia es 'oauth2'. Nulo para la estrategia 'coupon'.

Example:

"c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f"

strategy
enum<string>

El método de autenticación para este portal cautivo.

Opciones disponibles:
oauth2,
coupon
Example:

"oauth2"

name
string

Un nombre legible para la instancia.

Example:

"WiFi Invitados Oficina Principal"

session_ttl
integer

La duración en segundos que la sesión de un usuario permanece activa después de una autenticación exitosa.

Example:

43200

auth_window_ttl
integer

Para la estrategia OAuth2, la duración en segundos durante la cual el walled garden se abre temporalmente para permitir que el usuario complete la autenticación con el proveedor de identidad.

Example:

300

theme
object

Una colección de ajustes de marca y apariencia.

terms_text
string | null

El texto de los términos y condiciones que se pueden mostrar al usuario.

Example:

"Al conectarse, usted acepta nuestros términos de servicio..."

sites
object[]

Una lista de sitios y sus subredes donde esta instancia de portal cautivo está activa.

created_at
string<date-time>

La marca de tiempo de cuándo se creó la instancia.

Example:

"2025-10-29T12:00:00Z"

preview_url
string<uri> | null

Una URL temporal y firmada para previsualizar la apariencia del portal cautivo.

Example:

"https://captive.altostr.at/preauth?token=eyJpdiI6..."