Haekka Curriculums API
The Curriculums API from Haekka — 9 operation(s) for curriculums.
The Curriculums API from Haekka — 9 operation(s) for curriculums.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/haekka:haekka-curriculums-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Snippets Curriculums API
description: Test description
termsOfService: https://www.google.com/policies/terms/
contact:
email: contact@snippets.local
license:
name: BSD License
version: v1
servers:
- url: https://app.haekka.com/
security:
- Bearer: []
tags:
- name: Curriculums
paths:
/api/curriculums/:
parameters: []
get:
operationId: api_curriculums_list
description: ''
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/Curriculum'
tags:
- Curriculums
summary: Api curriculums list
x-summary-source: derived
post:
operationId: api_curriculums_create
description: ''
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
required: true
summary: Api curriculums create
x-summary-source: derived
/api/curriculums/authors:
parameters: []
get:
operationId: api_curriculums_authors_list
description: ''
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
tags:
- Curriculums
summary: Api curriculums authors list
x-summary-source: derived
/api/curriculums/tags:
parameters: []
get:
operationId: api_curriculums_tags_list
description: ''
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/CurriculumTag'
tags:
- Curriculums
summary: Api curriculums tags list
x-summary-source: derived
/api/curriculums/types:
parameters: []
get:
operationId: api_curriculums_types_list
description: Only the types of courses with created curriculums are shown.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/CurriculumTypeWithoutTitles'
tags:
- Curriculums
summary: Api curriculums types list
x-summary-source: derived
/api/curriculums/{curriculum_id}/content:
parameters:
- name: curriculum_id
in: path
required: true
schema:
type: string
get:
operationId: api_curriculums_content_list
description: ''
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/CurriculumContent'
tags:
- Curriculums
summary: Api curriculums content list
x-summary-source: derived
/api/curriculums/{id}:
parameters:
- name: id
in: path
description: A UUID string identifying this curriculum.
required: true
schema:
type: string
format: uuid
get:
operationId: api_curriculums_read
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
tags:
- Curriculums
summary: Api curriculums read
x-summary-source: derived
put:
operationId: api_curriculums_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
required: true
summary: Api curriculums update
x-summary-source: derived
patch:
operationId: api_curriculums_partial_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Curriculum'
required: true
summary: Api curriculums partial update
x-summary-source: derived
delete:
operationId: api_curriculums_delete
description: ''
responses:
'204':
description: ''
tags:
- Curriculums
summary: Api curriculums delete
x-summary-source: derived
/api/curriculums/{id}/catalogDemo:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: api_curriculums_catalogDemo_read
description: ''
responses:
'200':
description: ''
tags:
- Curriculums
summary: Api curriculums catalog demo read
x-summary-source: derived
put:
operationId: api_curriculums_catalogDemo_update
description: ''
responses:
'200':
description: ''
tags:
- Curriculums
summary: Api curriculums catalog demo update
x-summary-source: derived
patch:
operationId: api_curriculums_catalogDemo_partial_update
description: ''
responses:
'200':
description: ''
tags:
- Curriculums
summary: Api curriculums catalog demo partial update
x-summary-source: derived
delete:
operationId: api_curriculums_catalogDemo_delete
description: ''
responses:
'204':
description: ''
tags:
- Curriculums
summary: Api curriculums catalog demo delete
x-summary-source: derived
/api/curriculums/{id}/global:
parameters:
- name: id
in: path
description: A UUID string identifying this curriculum.
required: true
schema:
type: string
format: uuid
get:
operationId: api_curriculums_global_read
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalCurriculum'
tags:
- Curriculums
summary: Api curriculums global read
x-summary-source: derived
put:
operationId: api_curriculums_global_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalCurriculum'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalCurriculum'
required: true
summary: Api curriculums global update
x-summary-source: derived
patch:
operationId: api_curriculums_global_partial_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalCurriculum'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalCurriculum'
required: true
summary: Api curriculums global partial update
x-summary-source: derived
delete:
operationId: api_curriculums_global_delete
description: ''
responses:
'204':
description: ''
tags:
- Curriculums
summary: Api curriculums global delete
x-summary-source: derived
/api/curriculums/{id}/reorder_content:
parameters:
- name: id
in: path
required: true
schema:
type: string
post:
operationId: api_curriculums_reorder_content_create
description: ''
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
required: true
summary: Api curriculums reorder content create
x-summary-source: derived
put:
operationId: api_curriculums_reorder_content_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
required: true
summary: Api curriculums reorder content update
x-summary-source: derived
patch:
operationId: api_curriculums_reorder_content_partial_update
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
tags:
- Curriculums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CurriculumContent'
required: true
summary: Api curriculums reorder content partial update
x-summary-source: derived
components:
schemas:
CurriculumTag:
required:
- name
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
created:
title: Created date
type: string
format: date-time
readOnly: true
modified:
title: Modified date
type: string
format: date-time
readOnly: true
name:
title: Curriculum tag name
type: string
maxLength: 60
minLength: 1
editor_state_in_question_serializers:
type: object
properties:
id:
title: Id
type: string
format: uuid
note_editor_state:
title: Stringified note Editor's content
type:
- string
- 'null'
summary_editor_state:
title: Stringified summary Editor's content
type:
- string
- 'null'
question_editor_state:
title: Stringified question Editor's content
type:
- string
- 'null'
quiz_editor_state:
title: Stringified quiz Editor's content
type:
- string
- 'null'
quiz_message_state:
title: Stringified quiz message Editor's content
type:
- string
- 'null'
content:
type: array
items:
$ref: '#/components/schemas/lesson_image_in_question_serializers'
lesson_image_in_question_serializers:
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
company:
title: Company
type:
- string
- 'null'
format: uuid
image_name:
title: Image Name
type:
- string
- 'null'
maxLength: 200
image_url:
title: Image url
type:
- string
- 'null'
readOnly: true
format: uri
image_url_public:
title: Image url public
type:
- string
- 'null'
readOnly: true
format: uri
editor_content:
title: Editor Content
type:
- string
- 'null'
format: uuid
content_type:
title: Content Type
type:
- string
- 'null'
enum:
- lesson
- quiz
- engagement_question
- engagement_message
- assessment_question_content
AssessmentAnswer:
required:
- answer
type: object
properties:
id:
title: Id
type:
- string
- 'null'
format: uuid
answer:
title: Answer
description: "You must use the Slack nomenclature for the markdown,\n for more info visit: https://api.slack.com/reference/surfaces/formatting"
type: string
maxLength: 150
minLength: 1
correct:
title: Correct
type:
- boolean
- 'null'
position:
title: Order
type: integer
maximum: 32767
minimum: -32768
explanation:
title: Answer Explanation
type:
- string
- 'null'
Curriculum:
required:
- title
- subtitle
- curriculum_type
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
title:
title: Training Title
type: string
maxLength: 150
minLength: 1
subtitle:
title: Training Subtitle
type: string
maxLength: 255
minLength: 1
company:
title: Company
type: string
format: uuid
readOnly: true
curriculum_type:
title: Category
type: string
format: uuid
training_sample:
title: Training Sample URL
type:
- string
- 'null'
format: uri
maxLength: 200
is_technical:
title: Is technical
type: boolean
is_archived:
title: Is archived
type: boolean
is_published:
title: Is published
type: boolean
is_editable:
title: Is editable
type: boolean
readOnly: true
author_name:
title: Author name
type: string
readOnly: true
author_icon_url:
title: Author Icon URL
type:
- string
- 'null'
maxLength: 255
is_already_in_use:
title: Is already in use
type: string
readOnly: true
active_training_id:
title: Active training id
type: string
readOnly: true
is_available_for_free:
title: Is available for free
type: boolean
curriculum_type_details:
$ref: '#/components/schemas/CurriculumType'
action_id:
title: Answer Action Id
type: string
enum:
- lesson_submit
- branching
includes_video:
title: Includes video
type: string
readOnly: true
average_length:
title: Average length
type: string
readOnly: true
CurriculumContent:
required:
- assessments
type: object
properties:
lessons:
title: Lessons
type: string
readOnly: true
assessments:
type: array
items:
$ref: '#/components/schemas/TrainingCompanyAssessment'
AssessmentQuestion:
type: object
properties:
id:
title: Id
type:
- string
- 'null'
format: uuid
position:
title: Position
type: integer
maximum: 32767
minimum: -32768
answers:
type: array
items:
$ref: '#/components/schemas/AssessmentAnswer'
editor_content:
$ref: '#/components/schemas/editor_state_in_question_serializers'
image_ids:
type: array
items:
type:
- string
- 'null'
slack_markup:
title: Slack markup
type: string
readOnly: true
single_select:
title: Single select
type: boolean
single_correct:
title: Single correct
type: boolean
CurriculumType:
required:
- name
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
name:
title: Curriculum type name
type: string
maxLength: 60
minLength: 1
titles:
title: Titles
type: string
readOnly: true
GlobalCurriculum:
required:
- title
- subtitle
- curriculum_type
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
title:
title: Training Title
type: string
maxLength: 150
minLength: 1
subtitle:
title: Training Subtitle
type: string
maxLength: 255
minLength: 1
company:
title: Company
type: string
format: uuid
readOnly: true
curriculum_type:
title: Category
type: string
format: uuid
training_sample:
title: Training Sample URL
type:
- string
- 'null'
format: uri
maxLength: 200
is_technical:
title: Is technical
type: boolean
is_archived:
title: Is archived
type: boolean
is_published:
title: Is published
type: boolean
is_editable:
title: Is editable
type: boolean
is_available_for_free:
title: Is available for free
type: boolean
action_id:
title: Answer Action Id
type: string
enum:
- lesson_submit
- branching
author_name:
title: Author Name
type:
- string
- 'null'
maxLength: 255
author_icon_url:
title: Author Icon URL
type:
- string
- 'null'
maxLength: 255
tags:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CurriculumTag'
readOnly: true
CurriculumTypeWithoutTitles:
required:
- name
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
name:
title: Curriculum type name
type: string
maxLength: 60
minLength: 1
TrainingCompanyAssessment:
required:
- assessment
- company
- curriculum
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
assessment:
$ref: '#/components/schemas/Assessment'
created:
title: Created date
type: string
format: date-time
readOnly: true
modified:
title: Modified date
type: string
format: date-time
readOnly: true
passing_grade:
title: Passing grade
type: integer
maximum: 2147483647
minimum: -2147483648
retake_status:
title: Retake status
type: string
enum:
- optional
- force_retake
- force_continue
is_active:
title: Is active
type: boolean
position:
title: Position
type: integer
maximum: 32767
minimum: -32768
polymorphic_ctype:
title: Polymorphic ctype
type: integer
readOnly: true
company:
title: Company
type: string
format: uuid
created_by:
title: Created by
type:
- string
- 'null'
format: uuid
curriculum:
title: Curriculum
type: string
format: uuid
lessons_to_skip:
type: array
items:
type: string
format: uuid
uniqueItems: true
Assessment:
required:
- questions
- title
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
questions:
type: array
items:
$ref: '#/components/schemas/AssessmentQuestion'
created:
title: Created date
type: string
format: date-time
readOnly: true
modified:
title: Modified date
type: string
format: date-time
readOnly: true
title:
title: Assessment Title
type: string
maxLength: 200
minLength: 1
company:
title: Company
type:
- string
- 'null'
format: uuid
securitySchemes:
Bearer:
type: apiKey
name: Authorization
in: header
x-provenance:
method: harvested
publisher: Haekka
source: https://app.haekka.com/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)