Eligible · Authentication Profile
Eligible Authentication
Authentication
Eligible secures its APIs with apiKey across 5 declared security schemes, as derived from its OpenAPI definitions.
BillingEligibilityHealthcareInsuranceClaims
Methods: apiKey
Schemes: 5
OAuth flows:
API key in: query, body, header
Security Schemes
api_key apiKey
· in: query (api_key)
api_key apiKey
· in: body (api_key)
authorization_bearer http
scheme: bearer
· in: header (Authorization)
session_token apiKey
· in: body (session_token)
publishable_key apiKey
· in: body (publishable_key)
Source
Authentication Profile
generated: '2026-08-14'
method: searched
source: >-
https://eligible.com/community/technical-features-faq/ (Eligible's published
Technical & Features FAQ) cross-read against the request layer of Eligible's own
first-party clients: rubygems.org eligible 3.0.3 (lib/eligible.rb) and
registry.npmjs.org eligible-node 1.2.9 (lib/http/client.js, lib/http/config.js).
docs: https://eligible.com/community/technical-features-faq/
note: >-
DERIVED FROM FIRST-PARTY CLIENT SOURCE, NOT FROM AN OPENAPI. Eligible publishes no
machine-readable specification, and its API reference sits behind an account login
(https://eligible.com/docs serves a "Sign In" page). Everything below is read out
of the vendor's own published SDKs and its own public FAQ, so it describes the
scheme Eligible actually implements; it is not a securityScheme block harvested
from a spec, and it is not a guess.
summary:
types: [apiKey]
api_key_in: [query, body, header]
oauth2_flows: []
oauth2: false
openid_connect: false
mutual_tls: false
bearer_token: true
schemes:
- name: api_key
type: apiKey
in: query
parameter: api_key
applies_to: GET, HEAD, DELETE
description: >-
On GET/HEAD/DELETE the client appends the account API key to the query string
as `api_key=<key>` (together with `test=true|false`). Confirmed in
Eligible::request in the Ruby gem.
source: rubygems:eligible@3.0.3 lib/eligible.rb
- name: api_key
type: apiKey
in: body
parameter: api_key
applies_to: POST, PUT
description: >-
On write methods the API key is merged into the JSON request body alongside
`test`, rather than sent as a parameter.
source: rubygems:eligible@3.0.3 lib/eligible.rb
- name: authorization_bearer
type: http
scheme: bearer
in: header
parameter: Authorization
description: >-
The Ruby client additionally sets `Authorization: Bearer <api_key>` on every
request. The same key value is used; this is a header carriage of the API key,
not a separate OAuth token, and there is no authorization server, token
endpoint, refresh flow or scope set anywhere in the client or the docs.
source: rubygems:eligible@3.0.3 lib/eligible.rb
- name: session_token
type: apiKey
in: body
parameter: session_token
description: >-
A short-lived alternative credential. `POST /session_tokens/create.json` mints
one and `POST /session_tokens/revoke.json` destroys it; when a session_token is
supplied the client does not require the account API key. Intended for
browser/mobile contexts where the long-lived key must not be shipped.
source: rubygems:eligible@3.0.3 lib/eligible/session_token.rb
- name: publishable_key
type: apiKey
in: body
parameter: publishable_key
description: >-
A separate, non-authenticating identifier. Eligible's own FAQ is explicit: "The
publishable key is used in certain libs for identifying the customer, but the
API key is used for authentication across all the API. In all cases, use the
API key unless prompted for the publishable key." Sending it where the API key
is expected is the documented cause of a 401.
source: https://eligible.com/community/technical-features-faq/
key_management:
issued_from: https://account.eligible.com/ ("Admin > API keys")
environments: [live, staging, sandbox]
rotation: >-
Keys are reset by the account holder from the admin console; Eligible documents
no programmatic key-rotation endpoint.
note: >-
Three distinct keys per account, one per environment. The environment is
additionally selected per request by the `test` parameter, which every client
sends on every call.
transport:
tls: required
certificate_pinning: true
pinning_note: >-
Unusually, both first-party clients PIN the SHA-1 fingerprint of the
gds.eligibleapi.com leaf certificate and refuse to connect on a mismatch (Ruby:
Eligible.fingerprints, 7 digests; Node: FINGERPRINTS, 5 digests). This is why the
SDKs ship a new version roughly every January — the pinned certificate rotates
and an un-upgraded client stops working. It is a real operational constraint for
any consumer and is not documented anywhere on the public site.
observed_response_headers:
strict-transport-security: max-age=63072000; includeSubDomains; preload
x-frame-options: DENY
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
cross-origin-opener-policy: same-origin
observed_on: https://gds.eligibleapi.com/v1.5/payers.json
failure_mode:
status: 401
content_type: application/json
body: Could not authenticate you. Please re-try with a valid API key.
probed: '2026-08-14'
note: >-
Observed anonymously. The body is a bare string served under an
application/json content type, not a JSON object — see errors/.
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
This security artifact
curl "https://apis.io/api/v1/security/eligible-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.