Confido Legal Authentication
Confido Legal authenticates every GraphQL request with a single API-key header. There is no OAuth 2.0, no OIDC, no mutual TLS and no scope system; authority is expressed by which of four token TYPES you hold, each identifiable from a human-readable prefix.
Confido Legal declares 1 security scheme(s) across its OpenAPI definitions.
Security Schemes
Source
Authentication Profile
generated: '2026-09-05'
method: searched
source: https://docs.confidolegal.com/docs/introduction/authorization
provider: Confido Legal
providerId: confido-legal
description: >-
Confido Legal authenticates every GraphQL request with a single API-key header. There is
no OAuth 2.0, no OIDC, no mutual TLS and no scope system; authority is expressed by which
of four token TYPES you hold, each identifiable from a human-readable prefix.
docs: https://docs.confidolegal.com/docs/introduction/authorization
schemes:
- id: apiKey
type: apiKey
in: header
name: x-api-key
description: All four token types are presented in the same header.
token_types:
- name: Partner Token
prefix: p_secret_
environment_encoded: true
audience: server-side only
issued_by: Confido Legal Partner Portal, Settings
purpose: >-
Create and manage Firms and Firm tokens. Used with createFirm, firmApiTokenCreate and
firmApiTokenExchangeCode.
never_expose_to_frontend: true
- name: Firm Token
prefix: f_secret_
environment_encoded: true
audience: server-side only
issued_by: firmApiTokenCreate or createFirm (called with a Partner token), or the Connect code exchange
purpose: The workhorse credential — most API operations run under a Firm token.
never_expose_to_frontend: true
- name: Payment Session Token
prefix: pay_public_
environment_encoded: true
audience: browser / frontend
issued_by: paymentSessionCreate (Firm token required)
purpose: Initialize the Hosted Fields JavaScript SDK for one payment.
single_use: true
- name: Onboarding Token
prefix: onboarding_public_
environment_encoded: true
audience: browser / frontend
issued_by: createOnboardingToken (Firm token required)
purpose: Initialize onboarding.js to render the firm application form.
short_lived: true
prefix_semantics: >-
Tokens are self-describing. In "p_secret_sandbox_…" the leading segment names the token
type, "secret" or "public" says whether it may reach a browser, and "sandbox" names the
environment. Sandbox and production tokens are not interchangeable.
scopes:
supported: false
detail: >-
Confido states plainly that Firm API tokens are NOT scoped — there is no read-only
versus full-access token. Any valid Firm token can perform every Firm-level operation
the product allows server-side. There is consequently no scopes/ artifact for this
provider.
schema_note: >-
The schema does expose a `Scope` type (with ScopeFirm, ScopePartner and
ScopePaymentSession variants) returned by the `me` query. This identifies WHICH
principal a token represents, not a permission set.
lifecycle:
expiry: >-
Firm tokens are long-lived — no TTL, no refresh endpoint, no rotate endpoint. Payment
Session tokens are single-use; Onboarding tokens are short-lived.
rotation: >-
Create a new token (firmApiTokenCreate), then revoke the old one in the Confido Legal
app under Settings, API Tokens. Revocation takes effect immediately.
multiple_tokens: A Firm may hold more than one active token simultaneously.
revocation_notification: >-
No webhook fires when a Firm API token is created or revoked. Handle 401/403 responses
by checking the portal — there is no push signal to react to.
management_operations: [firmApiTokenCreate, firmApiTokenList, firmApiTokenUpdate, firmApiTokenDelete, firmApiTokenExchangeCode]
delegation:
mechanism: Connect
detail: >-
A partner obtains authority over an existing firm through a redirect flow shaped like
OAuth but not implementing it: the user is sent to the partner's unique Connect URL,
authorizes, and is redirected to the partner's Callback URL with a one-time-use `code`
and an opaque `state` passthrough. firmApiTokenExchangeCode swaps the code for a Firm
token using the Partner token.
docs: https://docs.confidolegal.com/docs/firm-onboarding/connect
note: >-
No token endpoint, no refresh token, no scope parameter and no PKCE — this is a
bespoke code exchange, not OAuth 2.0.
observed_failure:
probed: '2026-09-05'
request: 'POST https://api.gravity-legal.com/ with x-api-key: f_secret_sandbox_<invalid>'
http_status: 500
body: >-
{"errors":[{"message":"Context creation failed: Invalid firm token.",
"extensions":{"code":"INTERNAL_SERVER_ERROR"},"code":"INTERNAL_SERVER_ERROR","status":500}]}
finding: >-
An invalid credential returns HTTP 500 with extensions.code INTERNAL_SERVER_ERROR, not
a 401 and not an auth-specific code. A client cannot distinguish a revoked token from a
server fault by status or code — only by parsing the message string.
anonymous_surface:
detail: >-
Schema introspection and the `me` query answer without any x-api-key (me returns a
Scope typename). No business data is reachable anonymously.
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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/security/confido-legal-authentication"
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.