Authologic · Authentication Profile

Authologic Authentication

Authentication

Authologic offers two authentication styles over the same credential pair, and the published OAuth authorization server is materially richer than the OpenAPI lets on. The spec declares one clientCredentials flow; the RFC 8414 metadata document advertises five grant types, mTLS-bound tokens and DPoP.

Authologic secures its APIs with http and oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials flow(s).

AMLDigital IdentityeIDIdentity VerificationKYBKYCLiveness Check
Methods: http, oauth2 Schemes: 2 OAuth flows: clientCredentials API key in:

Security Schemes

apiKey http
scheme: basic
oauth2 oauth2
· flows: clientCredentials

Source

Authentication Profile

Raw ↑
generated: '2026-09-14'
method: searched
source: https://developer.authologic.com/docs/technical/implementation,
  openapi/authologic-customer-api-openapi.yml (components.securitySchemes),
  well-known/authologic-sandbox-oauth-authorization-server.json (RFC 8414, probed 2026-09-14),
  live 401 probe of https://sandbox.authologic.com/api/conversations
docs: https://developer.authologic.com/docs/technical/implementation
specification: API Commons Authentication
specificationVersion: '0.1'
provider: Authologic
providerId: authologic
description: >-
  Authologic offers two authentication styles over the same credential pair, and the published OAuth
  authorization server is materially richer than the OpenAPI lets on. The spec declares one
  clientCredentials flow; the RFC 8414 metadata document advertises five grant types, mTLS-bound tokens
  and DPoP.
summary:
  types:
    - http
    - oauth2
  oauth2_flows:
    - clientCredentials
  default_security: 'either scheme satisfies the requirement — security: [{apiKey: []}, {oauth2: []}]'
  applies_to: all 14 operations
  transport: HTTPS only
schemes:
  - name: apiKey
    type: http
    scheme: basic
    label: HTTP Basic
    description: >-
      Username is the account name; password is the environment-specific API key. This is the style every
      published example uses (`curl -u my_login`). The key is generated in the API Keys section of
      OmniPanel and is NOT the OmniPanel account password — the docs call the confusion out explicitly.
    credential_scope: per environment (a sandbox key does not work against production)
    issuance: https://omnipanel.authologic.com
    rotation: >-
      Self-serve — generate a new key in OmniPanel. No rotation policy or key lifetime is published, and
      no expiry is signalled at runtime.
    verified:
      probe: POST https://sandbox.authologic.com/api/conversations
      status: 401
      header: 'www-authenticate: Basic realm="Realm"'
      date: '2026-09-14'
    sources:
      - openapi/authologic-customer-api-openapi.yml
      - https://developer.authologic.com/docs/technical/implementation
  - name: oauth2
    type: oauth2
    label: OAuth 2.0 client credentials
    description: >-
      The same account name and API key are used as client_id and client_secret. POST to the token
      endpoint with Content-Type application/x-www-form-urlencoded and grant_type=client_credentials, then
      send Authorization: Bearer <token> on subsequent calls.
    flows:
      - flow: clientCredentials
        tokenUrl: https://sandbox.authologic.com/api/oauth2/token
        scopes: 0
        scopes_note: >-
          The scopes object is EMPTY in the contract and no scope taxonomy is published anywhere.
          Authorization is account- and environment-scoped, not scope-scoped. See
          scopes/authologic-scopes.yml.
    token_type: Bearer
    token_lifetime: not published
    sources:
      - openapi/authologic-customer-api-openapi.yml
authorization_server:
  metadata_url: https://sandbox.authologic.com/.well-known/oauth-authorization-server
  rfc: RFC 8414
  status: 200
  probed: '2026-09-14'
  file: well-known/authologic-sandbox-oauth-authorization-server.json
  issuer: https://sandbox.authologic.com
  endpoints:
    authorization: https://sandbox.authologic.com/oauth2/authorize
    device_authorization: https://sandbox.authologic.com/oauth2/device_authorization
    token: https://sandbox.authologic.com/api/oauth2/token
    jwks: https://sandbox.authologic.com/api/oauth2/jwks
    introspection: https://sandbox.authologic.com/oauth2/introspect
    revocation: https://sandbox.authologic.com/oauth2/revoke
  grant_types_supported:
    - authorization_code
    - client_credentials
    - refresh_token
    - 'urn:ietf:params:oauth:grant-type:device_code'
    - 'urn:ietf:params:oauth:grant-type:token-exchange'
  response_types_supported:
    - code
  token_endpoint_auth_methods_supported:
    - client_secret_basic
    - client_secret_post
    - client_secret_jwt
    - private_key_jwt
    - tls_client_auth
    - self_signed_tls_client_auth
  code_challenge_methods_supported:
    - S256
  tls_client_certificate_bound_access_tokens: true
  dpop_signing_alg_values_supported:
    - RS256
    - RS384
    - RS512
    - PS256
    - PS384
    - PS512
    - ES256
    - ES384
    - ES512
  finding: >-
    A significant undocumented capability gap. The developer documentation describes Basic auth only and
    the OpenAPI declares only clientCredentials, yet the environment advertises authorization_code with
    PKCE, refresh tokens, the device grant, token exchange, private_key_jwt, mutual-TLS client
    authentication with certificate-bound access tokens (RFC 8705) and DPoP (RFC 9449). For an agent
    integrator that is the difference between a shared static secret and a cryptographically bound
    workload credential — and nothing in the docs mentions it is available.
webhook_authentication:
  direction: inbound (Authologic to integrator)
  scheme: HMAC-SHA-256
  headers:
    - X-Signature
    - X-Signature-Timestamp
  key: >-
    A dedicated signature key issued by Authologic, distinct from the API key. Replaced at go-live along
    with the API address and API key.
  replay_window_minutes: 5
  detail: asyncapi/authologic-callbacks-webhooks.yml
gaps:
  - No OpenID Connect discovery document (/.well-known/openid-configuration returns 404 on every host).
  - No /.well-known/oauth-protected-resource (RFC 9728), so an MCP-style client cannot discover the
    authorization server from the resource.
  - No published token lifetime, no key-rotation policy and no runtime expiry signal for API keys.
  - >-
    Production (api.authologic.com) adds an IP allowlist on top of credentials — an unlisted caller never
    reaches the auth layer and receives an nginx 403 HTML page instead of a JSON error.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/authologic-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.