Haekka Trainings API

Training courses configured for the company.

Operations 3

GET /trainings List trainings #
GET /trainings/{training_id} Get a training #
POST /trainings/assign Assign a training to employees #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/haekka-trainings-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

haekka-trainings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Haekka Public Employee Trainings API
  version: '1.0'
  description: The Haekka Public API provides read access to a company's employees, trainings, and employee-training records, plus the ability to assign trainings to employees and update employee-training completion. Haekka is a Slack-native microlearning and security-awareness training platform. API keys are generated in Haekka account settings and passed as a bearer token.
  contact:
    name: Haekka Support
    url: https://www.haekka.com/support
    email: hello@haekka.com
  x-provenance:
    generated: '2026-07-19'
    method: generated
    source: https://www.haekka.com/documentation/haekka-public-api-documentation
    note: Faithfully modeled from Haekka's published Public API documentation (routes, HTTP methods, bearer auth, and documented request fields). Field schemas are intentionally open (additionalProperties) where the docs do not enumerate response fields; nothing is fabricated.
servers:
- url: https://app.haekka.com/api/public
  description: Haekka Public API
security:
- bearerAuth: []
tags:
- name: Trainings
  description: Training courses configured for the company.
paths:
  /trainings:
    get:
      operationId: listTrainings
      tags:
      - Trainings
      summary: List trainings
      description: Returns all trainings associated with the company.
      responses:
        '200':
          description: A list of trainings.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Training'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /trainings/{training_id}:
    get:
      operationId: getTraining
      tags:
      - Trainings
      summary: Get a training
      description: Returns data for a specific training.
      parameters:
      - $ref: '#/components/parameters/TrainingId'
      responses:
        '200':
          description: The requested training.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Training'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /trainings/assign:
    post:
      operationId: assignTraining
      tags:
      - Trainings
      summary: Assign a training to employees
      description: Assigns a training to one or more employees. Requires the training id and a list of employee ids. Optionally alerts the assigned employees.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - training_id
              - employee_ids
              properties:
                training_id:
                  type: string
                  description: The id of the training to assign.
                employee_ids:
                  type: array
                  description: The ids of the employees to assign the training to.
                  items:
                    type: string
                alert_employees:
                  type: boolean
                  default: true
                  description: Whether to alert the assigned employees. Defaults to true.
      responses:
        '200':
          description: The training was assigned.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    NotFound:
      description: The requested resource was not found.
    BadRequest:
      description: The request was malformed or missing required fields.
    Unauthorized:
      description: Authentication is missing or the API key is invalid.
  schemas:
    Training:
      type: object
      description: A training course configured for the company.
      properties:
        id:
          type: string
          description: The unique id of the training.
      additionalProperties: true
  parameters:
    TrainingId:
      name: training_id
      in: path
      required: true
      description: The id of the training.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API key generated in Haekka account settings, passed as `Authorization: Bearer {key}`.'