Coorpacademy · Authentication Profile

Coorpacademy Authentication

Authentication

Coorpacademy secures its APIs with apiKey across 5 declared security schemes, as derived from its OpenAPI definitions.

CompanySoftware-as-a-ServiceCorporate LearningLMSLearning Experience PlatformEdTechE-LearningSCORMh5pSCIMUser ProvisioningLearning AnalyticsSkillsCertificationsGamificationFranceSwitzerland
Methods: apiKey Schemes: 5 OAuth flows: API key in: header

Security Schemes

token apiKey
· in: header (authorization)
Authorization apiKey
· in: header (Authorization)
token apiKey
· in: header (token)
Authorization apiKey
· in: header (Api-Secret)
authentication apiKey
· in: header (authentication)

Source

Authentication Profile

Raw ↑
generated: '2026-08-17'
method: derived
source: openapi/coorpacademy-content-openapi.json, openapi/coorpacademy-content-scorm-openapi.json,
  openapi/coorpacademy-h5p-openapi.json, openapi/coorpacademy-mail-openapi.json, openapi/coorpacademy-mobile-openapi.json,
  openapi/coorpacademy-platform-openapi.json, openapi/coorpacademy-progression-aggregations-openapi.json,
  openapi/coorpacademy-progression-openapi.json, openapi/coorpacademy-review-openapi.json, openapi/coorpacademy-scim-openapi.json,
  openapi/coorpacademy-scorm-openapi.json
summary:
  types:
  - apiKey
  api_key_in:
  - header
schemes:
- name: token
  type: apiKey
  in: header
  parameter: authorization
  sources:
  - openapi/coorpacademy-content-openapi.json
  - openapi/coorpacademy-review-openapi.json
- name: Authorization
  type: apiKey
  in: header
  parameter: Authorization
  sources:
  - openapi/coorpacademy-content-scorm-openapi.json
  - openapi/coorpacademy-mail-openapi.json
  - openapi/coorpacademy-scorm-openapi.json
- name: token
  type: apiKey
  in: header
  parameter: token
  sources:
  - openapi/coorpacademy-h5p-openapi.json
  - openapi/coorpacademy-scim-openapi.json
- name: Authorization
  type: apiKey
  in: header
  parameter: Api-Secret
  sources:
  - openapi/coorpacademy-mobile-openapi.json
- name: authentication
  type: apiKey
  in: header
  parameter: authentication
  sources:
  - openapi/coorpacademy-platform-openapi.json
  - openapi/coorpacademy-progression-aggregations-openapi.json
  - openapi/coorpacademy-progression-openapi.json

# --- API Evangelist enrichment 2026-08-17: docs search + live probes -------------------------------
docs: https://api.coorpacademy.com/
docs_note: >-
  There is NO authentication documentation. The Swagger UI at https://api.coorpacademy.com/ renders the
  securityScheme declarations and nothing else — no auth guide, no key-issuance page, no developer
  portal. Searched coorpacademy.com (nav, footer, all five sitemaps), support.coorpacademy.com (a
  learner-facing FAQ with no API content) and github.com/CoorpAcademy. Nothing explains how to obtain a
  key. Method stays `derived` because there is no prose to upgrade it with.
model:
  types: [apiKey]
  transport: header
  oauth2: false
  openid_connect: false
  bearer: false
  mutual_tls: false
  basic: false
  scopes: false
  key_rotation_documented: false
  key_issuance_documented: false
header_name_inconsistency:
  distinct_header_names: 5
  finding: >-
    The most important fact about authentication here: there is no single header. Five names are used
    across fourteen services, two of which differ only by letter case, and one of which is non-standard.
    An integrator must read the per-service specification.
  map:
  - header: authorization
    services: [content, review]
  - header: Authorization
    services: [content-scorm, mail, scorm]
  - header: token
    services: [h5p, scim]
  - header: authentication
    services: [platform, progression, progression-aggregations]
  - header: Api-Secret
    services: [mobile]
undeclared_services:
  services: [external, media, pdf]
  finding: >-
    Three of the fourteen specs declare no securityScheme at all. They are NOT open: an unauthenticated
    call to a sibling path on the same host returns HTTP 403 {"message":"Missing Authentication Token"}
    — the AWS API Gateway body — so the edge gates them while the contract stays silent about how. This
    is a documentation gap, not an unauthenticated API.
observed:
  method: probed
  checked: '2026-08-17'
  probes:
  - url: https://content.coorpacademy.com/api/v2/notifications
    http_status: 401
    body: '{"message":"Invalid or missing authorization key"}'
    server: Express (x-powered-by)
  - url: https://progression.coorpacademy.com/api/v1/progressions
    http_status: 401
    body: >-
      {"code":"server_error","status":401,"success":false,"message":"Unauthorized","errors":[{"message":"Unauthorized","code":"server_error","status":401,"statusCode":401,"expose":true}]}
    server: Express (x-powered-by)
  - url: https://platform.coorpacademy.com/api/v1/brands
    http_status: 401
    body: '{"code":"server_error","status":401,"success":false,"message":"Unauthorized","errors":[{"statusCode":401,"status":401,"code":"server_error"}]}'
    server: Express (x-powered-by)
  - url: https://api.coorpacademy.com/scim/coorp/Users
    http_status: 400
    body: >-
      {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"JWTError: Expecting type:
      string at key: authorization but instead got: undefined","status":400}
    edge: CloudFront (x2) behind Cloudflare
  - url: https://api.coorpacademy.com/mail/api/v1/welcome
    http_status: 403
    body: '{"message":"Missing Authentication Token"}'
    edge: AWS API Gateway behind CloudFront (x2) behind Cloudflare
contract_vs_behaviour_discrepancy:
  service: scim
  declared: apiKey in a `token` header
  observed: >-
    The 400 body reports "JWTError: Expecting type: string at key: authorization but instead got:
    undefined", which indicates the implementation reads a JWT from an `authorization` header rather than
    the `token` header the contract names. Two disagreements in one: the header name, and the credential
    type (a signed JWT, not an opaque key).
  action: >-
    Confirm with Coorpacademy which header and credential type are authoritative for SCIM before
    configuring an identity provider. Recorded in overlays/coorpacademy-scim-overlay.yaml.
  severity: blocks-integration
information_disclosure:
  finding: >-
    Two unauthenticated responses leak implementation detail. The SCIM 400 names an internal JWT library
    and its parse failure; the three Express hosts return `x-powered-by: Express`. Neither is severe,
    both are trivially removable, and both are the kind of thing a security review flags.
key_issuance:
  self_serve: false
  documented: false
  note: >-
    No signup, no developer portal, no pricing page, no documented key request. API access is negotiated
    inside a platform contract; commercial contact now routes to Go1
    (https://www.go1.com/fr/speak-with-an-expert-old). There is a learner login and self-serve learner
    signup at https://connect.coorpacademy.com/login (email/password plus Facebook, Google and LinkedIn
    social sign-on), but that is the platform front door, not API access.
well_known:
  openid_configuration: 404
  oauth_authorization_server: 404
  oauth_protected_resource: 404
  note: >-
    Every /.well-known/ path 404s on every host. www and api 301 into an empty S3 bucket. See
    well-known/coorpacademy-well-known.yml.
sso_for_end_users:
  note: >-
    Distinct from API auth. Coorpacademy brokers enterprise SSO for LEARNERS through the Platform API —
    SAML 2.0 (POST /brands/{id}/metadatas parses an IdP metadata.xml) and OIDC, with a claim-to-user
    mapping (userMappingPayload) per brand. Coorpacademy is an OIDC relying party there, not a provider.
    See openapi/coorpacademy-platform-openapi.json and skills/coorpacademy-configure-brand-sso.md.
cross_links:
  conventions: conventions/coorpacademy-conventions.yml
  conformance: conformance/coorpacademy-conformance.yml
  errors: errors/coorpacademy-problem-types.yml
  scopes: null
  scopes_note: >-
    No scopes/ artifact is written and no OAuthScopes pointer is emitted. derive-oauth-scopes.py found
    zero oauth2 securitySchemes across all fourteen specs; there is no scope surface to document.

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/coorpacademy-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.