Nexla · Authentication Profile

Nexla Authentication

Authentication

Nexla secures its APIs with http and apiKey across 6 declared security schemes, as derived from its OpenAPI definitions.

CompanyData IntegrationData EngineeringETLELTData ProductsStreamingChange Data CaptureData GovernanceArtificial IntelligenceRetrieval Augmented GenerationMCPAgent ToolsData PipelinesConnectors
Methods: http, apiKey Schemes: 6 OAuth flows: API key in: query, header

Security Schemes

NexlaSessionToken http
scheme: Bearer
NexlaApiKeyQuery apiKey
· in: query (api_key)
NexlaApiKeyHeader http
scheme: Basic
basicAuth http
scheme: basic
GoogleSSOToken http
scheme: Bearer
NexlaServiceKey http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-26'
method: searched
source: >-
  https://docs.nexla.com/dev-guides/authentication/overview and
  https://docs.nexla.com/dev-guides/authentication (docs) enriched over the securitySchemes derived from
  openapi/nexla-rest-api-openapi.yml
docs: https://docs.nexla.com/dev-guides/authentication
summary:
  types:
  - http
  - apiKey
  oauth2: false
  openid_connect: partial
  mutual_tls: false
  api_key_in:
  - query
  - header
  transport: 'HTTPS only — "Calls made without authentication or over plain HTTP will fail with HTTP status 401 (Unauthorized)"'
  accept_header: 'Accept: application/vnd.nexla.api.v1+json'
credential_models:
- name: Session access token
  kind: bearer-jwt
  lifetime: '~1 hour (configurable)'
  obtained_from:
  - 'Nexla UI /token route — e.g. https://dataops.nexla.io/token — which routes through the org preferred Identity Provider'
  - Nexla CLI
  - exchange from a service key
  usage: 'Authorization: Bearer <access-token>'
  purpose: 'Interactive API usage and CLI operations; development, testing and manual API exploration.'
  refresh: 'NexlaClient.refresh_access_token() in the Python SDK; re-exchange the service key otherwise.'
- name: Service key
  kind: long-lived-secret
  lifetime: 'permanent (until rotated or deactivated)'
  obtained_from:
  - Nexla UI
  - Nexla API
  usage: 'Exchanged for a session token, or sent as Bearer to the GenAI/MCP surface.'
  purpose: 'Server-to-server communication, automated workflows, integration scenarios, and MCP server authentication.'
- name: Per-resource API key
  kind: resource-scoped-key
  lifetime: 'until rotated via the API key management endpoints'
  usage:
  - 'Authorization: Basic <api-key>'
  - '?api_key=<api-key>'
  purpose: 'Authenticating a specific resource — notably the webhook ingestion endpoints.'
  warning: 'Docs: "Never share your API keys. Keep them guarded and secure. If you think the key has been compromised, you can rotate the API key by calling relevant API Key management endpoints."'
schemes:
- name: NexlaSessionToken
  type: http
  scheme: Bearer
  bearerFormat: JWT
  default: true
  applies_to: 'Top-level security on the Nexla REST API — every operation unless overridden.'
  sources: [openapi/nexla-rest-api-openapi.yml]
- name: NexlaApiKeyQuery
  type: apiKey
  in: query
  parameter: api_key
  applies_to: 'Webhook ingestion operations (send_one_record, send_many_records).'
  sources: [openapi/nexla-rest-api-openapi.yml]
- name: NexlaApiKeyHeader
  type: http
  scheme: Basic
  applies_to: 'Webhook ingestion operations, as the header alternative to the query key.'
  sources: [openapi/nexla-rest-api-openapi.yml]
- name: basicAuth
  type: http
  scheme: basic
  sources: [openapi/nexla-rest-api-openapi.yml]
- name: GoogleSSOToken
  type: http
  scheme: Bearer
  bearerFormat: JWT
  description: 'The token that is used when logging into Nexla via Google SSO.'
  sources: [openapi/nexla-rest-api-openapi.yml]
- name: NexlaServiceKey
  type: http
  scheme: bearer
  applies_to: 'Nexla GenAI (RAG + MCPaaS) API and the remote MCP endpoint.'
  sources: [docs, overlays/nexla-genai-mcpaas-overlay.yaml]
  note: >-
    The published GenAI OpenAPI declares an EMPTY securitySchemes map even though every operation requires
    authentication. This scheme comes from the docs and is added by our overlay, not invented.
oauth:
  rest_api: false
  mcp: true
  detail: >-
    The REST API does not use OAuth. The MCP surface does, for clients that cannot send a custom header.
    RFC 9728 Protected Resource Metadata is served at
    https://api-genai.nexla.io/.well-known/oauth-protected-resource with scopes_supported
    [openid, email, profile] and bearer_methods_supported [header]. Upstream identity bridges are
    declared in the GenAI contract at /mcp/auth/google/callback and /mcp/auth/azure/callback.
  scopes_artifact: null
  scopes_note: >-
    No `scopes/` artifact is emitted. derive-oauth-scopes.py found zero oauth2 securitySchemes in either
    contract, and the only scopes Nexla publishes are the three standard OIDC scopes above — an identity
    surface, not an API permission model. Nexla's authorization model is role-based accessors
    (AccessRoles bound per resource), not OAuth scopes.
enterprise_sso:
  supported: true
  protocols: [OIDC, 'SAML 2.0']
  tier: Enterprise
  api_surface:
  - 'GET /orgs/{org_id}/auth_settings (get_api_auth_settings)'
  - 'PUT /orgs/{org_id}/auth_settings/{auth_setting_id} (update_api_auth_config)'
  - 'GET|POST /api_auth_configs (get_api_auth_configs, create_api_auth_config)'
  fields_declared: [oidc_domain, oidc_keys_url_key, oidc_id_claims, oidc_access_claims, oidc_token_verify_url, idp_entity_id, service_entity_id]
  source: https://nexla.com/pricing/
security_best_practices_docs: https://docs.nexla.com/dev-guides/authentication/security-best-practices
evidence:
- url: https://docs.nexla.com/dev-guides/authentication/overview
  status: 200
- url: https://dataops.nexla.io/nexla-api/teams
  status: 401
  note: 'live unauthenticated probe confirms auth is enforced'

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/nexla-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 email required.

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