# Get training academy > The Vigilbase Academy enrolments, progress and certificates the Academy synced for a customer (apps/academy/docs/architecture.md section 12.5). Source: https://docs.vigilbase.com/one/api/reference/training/get-training-academy `GET https://one.vigilbase.com/api/training/academy` The Vigilbase Academy enrolments, progress and certificates the Academy synced for a customer (apps/academy/docs/architecture.md section 12.5). The customer is the caller's active organization's; Vigilbase staff pick it with ?customer_id= (the staff customer page) or ?impersonate_customer_id= (View as). Both are ignored for anyone else, as /api/training/me ignores impersonation: they always get their own organization's learning. Staff and the org's owners and admins get every learner with emails; other members only their own enrolments, without emails (lib/academy/learning.ts). ## Authorizations Send one of these: - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. - `Authorization` (string, header, required): Organisation API key (`vb_one_…`) from **Settings → API keys** in Vigilbase One, sent as `Authorization: Bearer vb_one_…`. Read-only keys work. See [organisation API keys](https://docs.vigilbase.com/one/api#organisation-api-keys). - Permissions checked: `read:training` ## Query parameters - `customer_id` (string) - `impersonate_customer_id` (string) ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`, or an API key (vb_one_…) curl --request GET \ --url 'https://one.vigilbase.com/api/training/academy' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" ```