AmTrust Financial Services · Authentication Profile

Amtrust Financial Services Authentication

Authentication

AmTrust Financial Services secures its APIs with apiKey and openIdConnect across 4 declared security schemes, as derived from its OpenAPI definitions.

Commercial InsuranceInsuranceProperty and CasualtySmall BusinessWorkers CompensationFortune 1000UnderwritingClaimsPolicyReinsuranceCyber InsuranceSurety
Methods: apiKey, openIdConnect Schemes: 4 OAuth flows: API key in: header, query

Security Schemes

apiKeyHeader apiKey
· in: header (subscriber_id)
apiKeyQuery apiKey
· in: query (subscription-key)
apiKeyQueryConversa apiKey
· in: query (subscriber_id)
amtrustIdentityServer openIdConnect

Source

Authentication Profile

Raw ↑
generated: '2026-09-02'
method: searched
source: >-
  https://apiportal.amtrustgroup.com/authentication (HTTP 200),
  https://auth.amtrustgroup.com/AuthServer/.well-known/openid-configuration (HTTP 200),
  https://uatauth.amtrustgroup.com/AuthServer_usertest/.well-known/openid-configuration (HTTP 200),
  a live 401 from https://gateway.amtrustgroup.com/digital-bop/api/v1/agent-contacts, and the nine
  harvested OpenAPI documents in openapi/ — probed 2026-09-02
docs: https://apiportal.amtrustgroup.com/authentication
summary:
  model: two-factor gateway — an Azure API Management subscription key AND an OpenID Connect bearer token
  types:
  - apiKey
  - openIdConnect
  api_key_in:
  - header
  - query
note: >-
  AmTrust requires BOTH credentials on every call and the OpenAPI documents only describe one of them.
  The specs declare the APIM subscription key (`subscriber_id` header / `subscription-key` query) and
  nothing else; the bearer token from AmTrust's IdentityServer is documented only on the portal
  authentication page. An integrator working from the machine-readable contract alone would build a
  client that 401s. This gap is the single most consequential thing in AmTrust's auth surface.
schemes:
- name: apiKeyHeader
  type: apiKey
  in: header
  parameter: subscriber_id
  description: >-
    Azure API Management subscription key. Issued per subscriber after the partner vetting process.
    Confirmed live: the gateway answers an unauthenticated call with
    `WWW-Authenticate: AzureApiManagementKey realm="https://gateway.amtrustgroup.com/digital-bop",name="subscriber_id",type="header"`.
  sources:
  - openapi/amtrust-financial-services-conversa-engine-api-openapi.json
  - openapi/amtrust-financial-services-digital-bop-api-openapi.json
  - openapi/amtrust-financial-services-digital-cyber-api-openapi.json
  - openapi/amtrust-financial-services-digital-es-api-openapi.json
  - openapi/amtrust-financial-services-digital-pac-api-openapi.json
  - openapi/amtrust-financial-services-digital-wc-api-openapi.json
  - openapi/amtrust-financial-services-experience-claims-medical-case-api-openapi.json
  - openapi/amtrust-financial-services-experience-next-gen-bond-pro-api-openapi.json
  - openapi/amtrust-financial-services-reinsurance-contract-entry-api-openapi.json
- name: apiKeyQuery
  type: apiKey
  in: query
  parameter: subscription-key
  description: Same subscription key passed as a query parameter instead of a header. Discouraged.
  sources:
  - openapi/amtrust-financial-services-digital-bop-api-openapi.json
  - openapi/amtrust-financial-services-digital-cyber-api-openapi.json
  - openapi/amtrust-financial-services-digital-es-api-openapi.json
  - openapi/amtrust-financial-services-digital-pac-api-openapi.json
  - openapi/amtrust-financial-services-digital-wc-api-openapi.json
  - openapi/amtrust-financial-services-experience-claims-medical-case-api-openapi.json
  - openapi/amtrust-financial-services-experience-next-gen-bond-pro-api-openapi.json
  - openapi/amtrust-financial-services-reinsurance-contract-entry-api-openapi.json
- name: apiKeyQueryConversa
  type: apiKey
  in: query
  parameter: subscriber_id
  description: >-
    The Conversa Engine API alone names its query-string key `subscriber_id` rather than
    `subscription-key` — an inconsistency across the estate.
  sources:
  - openapi/amtrust-financial-services-conversa-engine-api-openapi.json
- name: amtrustIdentityServer
  type: openIdConnect
  openIdConnectUrl: https://auth.amtrustgroup.com/AuthServer/.well-known/openid-configuration
  description: >-
    AmTrust IdentityServer bearer token, sent as `Authorization: Bearer <access token>` alongside the
    subscription key. NOT declared in any OpenAPI securityScheme — documented only on the portal.
  sources:
  - https://apiportal.amtrustgroup.com/authentication
  - https://auth.amtrustgroup.com/AuthServer/.well-known/openid-configuration
identity_provider:
  vendor: IdentityServer (self-hosted by AmTrust)
  environments:
  - environment: production
    issuer: https://auth.amtrustgroup.com/AuthServer
    discovery: https://auth.amtrustgroup.com/AuthServer/.well-known/openid-configuration
    token_endpoint: https://auth.amtrustgroup.com/AuthServer/OpenIDConnect/Token
    jwks_uri: https://auth.amtrustgroup.com/AuthServer/.well-known/jwks
    status: 200
  - environment: uat
    issuer: https://uatauth.amtrustgroup.com/AuthServer_usertest
    discovery: https://uatauth.amtrustgroup.com/AuthServer_usertest/.well-known/openid-configuration
    token_endpoint: https://uatauth.amtrustgroup.com/AuthServer_usertest/OpenIDConnect/Token
    jwks_uri: https://uatauth.amtrustgroup.com/AuthServer_usertest/.well-known/jwks
    status: 200
  grant_types_supported:
  - client_credentials
  - token_exchange
  - authorization_code
  - refresh_token
  - password
  token_endpoint_auth_methods_supported:
  - client_secret_basic
  - client_secret_post
  id_token_signing_alg_values_supported:
  - RS256
  code_challenge_methods_supported:
  - plain
  - S256
  token_lifetime: 4 hours (documented on the portal authentication page; tokens are reusable within
    that window)
  flows:
  - name: General Access Token
    grant_type: client_credentials
    scope: openid profile
    use: APIs that do not need a user identity
  - name: User Authenticated Token
    grant_type: password
    scope: openid profile legacy_info legacy_id
    use: APIs that act on behalf of a named portal user
  required_headers:
  - Content-Type: application/x-www-form-urlencoded (on the token request)
  - Authorization: Bearer <access token>
  - subscriber_id: <subscriber_id>
gaps:
- >-
  No securityScheme of type oauth2 or openIdConnect appears in any of the nine OpenAPI documents,
  so the bearer-token half of the contract is invisible to code generators and agents.
- >-
  `plain` is advertised in code_challenge_methods_supported alongside S256, which permits a PKCE
  downgrade for any public client using the authorization_code flow.
- >-
  The `password` (resource owner password credentials) grant is enabled in production. OAuth 2.1
  removes it and RFC 9700 (BCP for OAuth 2.0 Security) explicitly says it MUST NOT be used.

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/amtrust-financial-services-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.