OpenAPI Specification
openapi: 3.0.3
info:
title: Trakstar Hire Auth Courses API
description: The Trakstar Hire REST API (formerly Recruiterbox) enables developers to manage openings, candidates, candidate messages, internal notes, interviews, reviews, evaluations, and to-dos programmatically. It returns JSON responses and uses API key authentication generated from the account's Super Admin settings. The most common use cases include building custom career sites and syncing opening or candidate data with external systems.
version: '2'
contact:
name: Trakstar Hire Support
url: https://support.hire.trakstar.com/article/1617-accessing-the-hire-api
license:
name: Proprietary
servers:
- url: https://{companyName}.hire.trakstar.com/api/v2
description: Trakstar Hire API v2
variables:
companyName:
description: Your company subdomain name
default: yourcompany
security:
- apiKey: []
tags:
- name: Courses
description: Manage course enrollment and information
paths:
/course:
get:
operationId: listCourses
summary: List Courses
description: Returns a list of all courses in the organization.
tags:
- Courses
parameters:
- name: status
in: query
description: Filter results by course status.
required: false
schema:
type: string
enum:
- Active
- Archive
- All
default: All
responses:
'200':
description: A list of courses.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Course'
example:
- id: 1662438386
name: Course A
description: Introduction to safety procedures
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/course/{courseId}:
get:
operationId: getCourse
summary: Get Course
description: Returns detailed information for a specific course.
tags:
- Courses
parameters:
- name: courseId
in: path
required: true
description: The Mindflash ID of the course.
schema:
type: integer
format: int64
- name: status
in: query
description: Filter results by course status.
required: false
schema:
type: string
enum:
- Active
- Archive
- All
responses:
'200':
description: A single course with detailed information.
content:
application/json:
schema:
$ref: '#/components/schemas/CourseDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
/course/{courseId}/user/{userId}:
post:
operationId: inviteUserToCourse
summary: Invite User to Course
description: Invites a specific user to a specific course.
tags:
- Courses
parameters:
- name: courseId
in: path
required: true
description: The Mindflash ID of the course.
schema:
type: integer
format: int64
- name: userId
in: path
required: true
description: The Mindflash ID of the user.
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
clientDatestamp:
type: string
format: date
description: The current date in YYYY-MM-DD format.
required:
type: boolean
description: Set true to make the course required for the user.
default: false
example:
clientDatestamp: '2024-01-15'
required: false
responses:
'200':
description: User invited to course successfully.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
/course/{courseId}/user:
post:
operationId: inviteUsersToCourse
summary: Invite Multiple Users to Course
description: Invites multiple users to a specific course.
tags:
- Courses
parameters:
- name: courseId
in: path
required: true
description: The Mindflash ID of the course.
schema:
type: integer
format: int64
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
userIds:
type: array
items:
type: integer
format: int64
description: List of Mindflash user IDs to invite.
clientDatestamp:
type: string
format: date
description: The current date in YYYY-MM-DD format.
required:
type: boolean
description: Set true to make the course required for the users.
default: false
responses:
'200':
description: Users invited to course successfully.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
responses:
Unauthorized:
description: Authentication credentials were not provided or are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Rate limit exceeded. The API enforces a limit of 10 requests per 10 seconds per API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request was invalid or cannot be otherwise served.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
CourseDetail:
allOf:
- $ref: '#/components/schemas/Course'
- type: object
properties:
modules:
type: array
description: Modules within the course.
items:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
type:
type: string
Error:
type: object
properties:
message:
type: string
description: Human-readable error message.
errors:
type: array
items:
type: string
Course:
type: object
description: A course in Trakstar Learn.
properties:
id:
type: integer
format: int64
description: Unique Mindflash course identifier.
readOnly: true
name:
type: string
description: Name of the course.
description:
type: string
description: Course description.
nullable: true
status:
type: string
description: Course status.
enum:
- Active
- Archive
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: API key generated from the Trakstar Hire Super Admin settings page. Pass as "ApiKey {your_api_key}".
externalDocs:
description: Trakstar Hire API Reference
url: https://developers.recruiterbox.com/reference/introduction