LoclixDocs
Web application firewallIntegration reference

Access API

Read and update account identity providers and website access applications.

Authentication

Use your authenticated dashboard session. Requests that change configuration must include the dashboard's exact Origin header. Replace SITE-ID and ACCOUNT-ID with the website and account IDs.

MethodEndpointPurpose
GET/customer/api/identity-providers/ACCOUNT-ID?account=ACCOUNT-IDRead account providers and callback hostnames.
PUT/customer/api/identity-providers/ACCOUNT-ID?account=ACCOUNT-IDSave shared account providers.
GET/customer/api/zero-trust/SITE-ID?account=ACCOUNT-IDRead configuration with secrets redacted.
PUT/customer/api/zero-trust/SITE-ID?account=ACCOUNT-IDSave website applications and policies.
GET/customer/api/access-events/SITE-ID?account=ACCOUNT-IDRead access activity.

Read the current revision before saving and include it in the PUT body. The response contains the new revision and redacted configuration. For an initial configuration, use an empty revision.

Configure Zero Trust after creating the website. General website edits preserve its Zero Trust settings.

Configuration payload

This example protects /admin for one verified email address:

Save providers through the account endpoint first. Its GET and PUT responses contain config (redacted providers, revision, and any setup notice) and websites (IDs, hostnames, and aliases for callback setup). Use config.revision for provider updates.

Account provider PUT body:

{
  "revision": "CURRENT-ACCOUNT-PROVIDER-REVISION",
  "providers": [{
    "id": "company-google",
    "name": "Google",
    "kind": "google",
    "client_id": "GOOGLE-CLIENT-ID",
    "client_secret": "GOOGLE-CLIENT-SECRET"
  }]
}

Website application PUT body:

{
  "revision": "CURRENT-REVISION",
  "applications": [{
    "id": "administration",
    "name": "Administration",
    "enabled": true,
    "hostname": "private.example.com",
    "path": "/admin",
    "session_seconds": 3600,
    "provider_ids": ["company-google"],
    "policies": [{
      "id": "administrators",
      "name": "Administrators",
      "action": "allow",
      "emails": ["admin@example.com"],
      "email_domains": [],
      "subjects": []
    }]
  }]
}

A blank provider secret retains the saved value only if the provider, client ID, and credential endpoints are unchanged. Supply a new secret when changing those values.

Provider updates invalidate application sessions across the account. Deleting a provider referenced by any application fails. A stale revision returns HTTP 409; reload before retrying.

Access activity

Responses contain up to 100 events and a next_cursor for pagination. Use the dashboard's Export all logs action to download all available activity.

Limits

SettingLimit
Providers per account16
Applications per website64
Policies per application64
Selectors per policy256

Provider IDs must be unique within the account. Application IDs must be unique within each website. Website payloads must omit providers; website provider writes are rejected with an account setup notice. See Access policies for selector behavior.

On this page