openapi: 3.0.3
info:
title: Teachfloor
description: ''
version: 1.0.0
servers:
-
url: 'https://api.teachfloor.com'
paths:
'/v0/activities/{id}':
get:
summary: 'Retrieve an Activity'
description: "Retrieves the details of an existing activity in your organization based on the provided unique activity ID. The response includes comprehensive information about the activity, such as its score, timestamps, associated element details, and related metadata.\n
If the activity is performed by an individual, the member
key contains the details of the member who completed the activity.\n
If the activity is performed by a group, the members
key provides a list of all members who participated in the activity.\n
The meta
object contains additional details and metadata about the activity's completion status. It provides context on the outcome and participant of the activity."
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n\"error\": null,\n\"payload\": {\n \"id\": \"KwJ8VgrmlAp4PBnM\",\n \"object\": \"activity\",\n \"timestamp\" : \"2022-11-27T13:52:02.000000Z\",\n \"status\": \"PASSED\",\n \"passed\": true,\n \"score\": 100,\n \"completed_by\": \"6K8vojJn1xe14abL\",\n \"member\": {\n \"id\": \"6K8vojJn1xe14abL\",\n \"object\": \"member\",\n \"first_name\": \"Adalberto\",\n \"last_name\": \"Bruen\",\n \"full_name\": \"Adalberto Bruen\",\n \"avatar\": null,\n \"email\": \"iva52@example.org\",\n \"is_email_verified\": true,\n \"last_seen\": \"2024-11-27T13:51:52.000000Z\"\n },\n \"context\": {\n \"id\": \"QB8nmEJjqdbLA2K5\",\n \"object\": \"element\",\n \"created_at\": \"2024-11-26T11:37:16.000000Z\",\n \"name\": \"Multiple Choice Quiz\",\n \"cover\": null,\n \"type\": \"QUIZ\",\n \"position\": 3,\n \"module\": \"no0aApWNyRMD68rv\",\n \"metadata\": {}\n }\n}"
tags:
- Activities
parameters:
-
in: path
name: id
description: 'The ID of the requested activity.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
/v0/activities:
get:
summary: 'List all Activities'
description: "Returns a list of activities within your organization. The activities are sorted by their creation date, with the most recently created activities appearing first. Each activity in the list includes information such as the score, dates, element data and more.\n
If the activity is performed by an individual, the member
key contains the details of the member who completed the activity.\n
If the activity is performed by a group, the members
key provides a list of all members who participated in the activity."
parameters:
-
in: query
name: module
description: 'The unique ID to filter activities by module'
example: no0aApWNyRMD68rv
required: false
schema:
type: string
description: 'The unique ID to filter activities by module'
example: no0aApWNyRMD68rv
-
in: query
name: element
description: 'The unique ID to filter activities by element'
example: QB8nmEJjqdbLA2K5
required: false
schema:
type: string
description: 'The unique ID to filter activities by element'
example: QB8nmEJjqdbLA2K5
-
in: query
name: member
description: 'The unique ID to filter activities by member'
example: 6K8vojJn1xe14abL
required: false
schema:
type: string
description: 'The unique ID to filter activities by member'
example: 6K8vojJn1xe14abL
-
in: query
name: page
description: 'A cursor for pagination across multiple pages of results.'
example: 2
required: false
schema:
type: integer
description: 'A cursor for pagination across multiple pages of results.'
example: 2
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n\"error\": null,\n\"payload\": {\n \"data\": [\n {\n \"id\": \"KwJ8VgrmlAp4PBnM\",\n \"object\": \"activity\",\n \"timestamp\" : \"2022-11-27T13:52:02.000000Z\",\n \"status\": \"PASSED\",\n \"passed\": true,\n \"score\": 100,\n \"completed_by\": \"6K8vojJn1xe14abL\",\n \"member\": {\n \"id\": \"6K8vojJn1xe14abL\",\n \"object\": \"member\",\n \"first_name\": \"Adalberto\",\n \"last_name\": \"Bruen\",\n \"full_name\": \"Adalberto Bruen\",\n \"avatar\": null,\n \"email\": \"iva52@example.org\",\n \"is_email_verified\": true,\n \"last_seen\": \"2024-11-27T13:51:52.000000Z\"\n },\n \"context\": {\n \"id\": \"QB8nmEJjqdbLA2K5\",\n \"object\": \"element\",\n \"created_at\": \"2024-11-26T11:37:16.000000Z\",\n \"name\": \"Multiple Choice Quiz\",\n \"cover\": null,\n \"type\": \"QUIZ\",\n \"position\": 3,\n \"module\": \"no0aApWNyRMD68rv\",\n \"metadata\": {}\n }\n },\n {...},\n {...},\n ],\n \"pagination\": {\n \"total\": 3,\n \"count\": 3,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 1\n }\n}"
tags:
- Activities
/v0/courses/search:
get:
summary: 'Search Courses'
description: 'Search for existing courses in your organization. You can search by course name. The search is case-insensitive and supports partial matches.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"p5v87ERWKR3dkjyD\",\n \"object\": \"course\",\n \"name\": \"Ultimate Marketing Course\",\n \"status\": \"PUBLISHED\",\n \"created_at\": \"2022-02-03T16:06:42.000000Z\",\n \"cover\": null,\n \"availability\": \"CONTINUOUS\",\n \"visibility\": \"PRIVATE\",\n \"start_date\": null,\n \"end_date\": null,\n \"currency\": \"eur\",\n \"price\": null,\n \"url\": null,\n \"public_url\": null,\n \"join_url\": null,\n \"metadata\": {},\n \"custom_fields\": {\n \"field_1\": {\n \"key\": \"field_1\",\n \"object\": \"custom-field\",\n \"created_at\": \"2024-07-30T16:05:47.000000Z\",\n \"name\": \"Multiple Field Question\",\n \"description\": null,\n \"type\": \"MULTIPLE_OPTIONS\",\n \"options\": [\n \"Option A\",\n \"Option B\",\n \"Option C\"\n ],\n \"required\": false\n }\n }\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 5,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 1\n }\n }\n}"
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
q:
type: string
description: 'The search query to filter courses by name.'
example: Marketing
include_test_user:
type: boolean
description: ''
example: true
required:
- q
'/v0/courses/{id}':
get:
summary: 'Retrieve a Course'
description: 'Retrieves the details of an existing course in your organization based on the provided unique course ID. Returns a comprehensive information about the course, including its name, availability, status, dates, and more.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
properties:
error:
type: string
example: null
payload:
type: object
example:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
tags:
- Courses
post:
summary: 'Update a Course'
description: 'Updates the details of an existing course in your organization based on the provided unique course ID. Any parameters not provided will be left unchanged. Returns the updated course details upon successful update.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
properties:
error:
type: string
example: null
payload:
type: object
example:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
tags:
- Courses
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The course name.'
example: 'Ultimate Marketing Course'
availability:
type: string
description: 'The course availability. Must be one of CONTINUOUS
or SCHEDULED
.'
example: SCHEDULED
start_date:
type: string
description: 'If the course availability is set to SCHEDULED, this defines the course schedule start. Specify the date in `YYYY-MM-DD` format. This field is required when availability
is SCHEDULED
. Must be a valid date.'
example: '2023-07-12'
end_date:
type: string
description: 'If the course availability is set to SCHEDULED, this defines the course schedule end. Specify the date in `YYYY-MM-DD` format. This field is required when availability
is SCHEDULED
or date
. Must be a date after or equal to start_date
.'
example: '2023-07-26'
visibility:
type: string
description: 'The course visibility inside your organization. A course with PUBLIC visibility is shown to all the members of your organization. A course with PRIVATE visibility is shown only to the members of the course but is hidden by the other members of your organization. Must be one of PUBLIC
or PRIVATE
.'
example: PRIVATE
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
parameters:
-
in: path
name: id
description: 'The ID of the requested course.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
/v0/courses:
get:
summary: 'List all Courses'
description: 'Returns a list of courses within your organization. The courses are sorted by their creation date, with the most recently created courses appearing first. Each course in the list includes information such as the course name, availability, status, dates, and more.'
parameters:
-
in: query
name: page
description: 'A cursor for pagination across multiple pages of results.'
example: 2
required: false
schema:
type: integer
description: 'A cursor for pagination across multiple pages of results.'
example: 2
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"p5v87ERWKR3dkjyD\",\n \"object\": \"course\",\n \"name\": \"Ultimate Marketing Course\",\n \"status\": \"PUBLISHED\",\n \"created_at\": \"2022-02-03T16:06:42.000000Z\",\n \"cover\": null,\n \"availability\": \"CONTINUOUS\",\n \"visibility\": \"PRIVATE\",\n \"start_date\": null,\n \"end_date\": null,\n \"currency\": \"eur\",\n \"price\": null,\n \"url\": null,\n \"public_url\": null,\n \"join_url\": null,\n \"metadata\": {},\n \"custom_fields\": {\n \"field_1\": {\n \"key\": \"field_1\",\n \"object\": \"custom-field\",\n \"created_at\": \"2024-07-30T16:05:47.000000Z\",\n \"name\": \"Multiple Field Question\",\n \"description\": null,\n \"type\": \"MULTIPLE_OPTIONS\",\n \"options\": [\n \"Option A\",\n \"Option B\",\n \"Option C\"\n ],\n \"required\": false\n }\n }\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 15,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 2\n }\n }\n}"
tags:
- Courses
post:
summary: 'Create a Course'
description: 'Creates a course in your organization. Returns the created course details upon successful creation.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
properties:
error:
type: string
example: null
payload:
type: object
example:
id: p5v87ERWKR3dkjyD
object: course
name: 'Ultimate Marketing Course'
status: PUBLISHED
created_at: '2022-02-03T16:06:42.000000Z'
cover: null
availability: CONTINUOUS
visibility: PRIVATE
start_date: null
end_date: null
currency: eur
price: null
url: null
public_url: null
join_url: null
metadata: { }
custom_fields:
field_1:
key: field_1
object: custom-field
created_at: '2024-07-30T16:05:47.000000Z'
name: 'Multiple Field Question'
description: null
type: MULTIPLE_OPTIONS
options:
- 'Option A'
- 'Option B'
- 'Option C'
required: false
tags:
- Courses
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The course name.'
example: 'Ultimate Marketing Course'
availability:
type: string
description: 'The course availability. Must be one of CONTINUOUS
or SCHEDULED
.'
example: CONTINUOUS
start_date:
type: string
description: 'If the course availability is set to SCHEDULED, this defines the course schedule start. Specify the date in `YYYY-MM-DD` format. This field is required when availability
is SCHEDULED
. Must be a valid date.'
example: '2023-07-12'
end_date:
type: string
description: 'If the course availability is set to SCHEDULED, this defines the course schedule end. Specify the date in `YYYY-MM-DD` format. This field is required when availability
is SCHEDULED
or date
. Must be a date after or equal to start_date
.'
example: '2023-07-26'
visibility:
type: string
description: 'The course visibility inside your organization. A course with PUBLIC visibility is shown to all the members of your organization. A course with PRIVATE visibility is shown only to the members of the course but is hidden by the other members of your organization. Must be one of PUBLIC
or PRIVATE
.'
example: PRIVATE
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
'/v0/courses/{id}/join':
post:
summary: 'Join a Course'
description: 'Joins a member in one of your courses.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload: null
properties:
error:
type: string
example: null
payload:
type: string
example: null
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
member:
type: string
description: 'The unique ID of the member who is being added to the course.'
example: e7W6kP8wvjd3GRBz
role:
type: string
description: 'The role to assign to the member inside the course. If not set the member will be enrolled to the course as a customer. To assign an instructor or assiatant to the course use `lecturer` or `assistant`. Must be one of customer
, lecturer
, or assistant
.'
example: customer
required:
- member
parameters:
-
in: path
name: id
description: 'The ID of the course to enroll.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
'/v0/courses/{id}/revoke':
post:
summary: 'Revoke Course Access'
description: 'Revokes a member access to a course.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload: null
properties:
error:
type: string
example: null
payload:
type: string
example: null
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
member:
type: string
description: 'The ID of the member to revoke access to the course.'
example: e7W6kP8wvjd3GRBz
required:
- member
parameters:
-
in: path
name: id
description: 'The ID of the course from which the member should be revoked.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
'/v0/courses/{id}/members':
get:
summary: 'List all Course Members'
description: 'Returns a list of members within the course.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"6jO9XN7mZEVpvxqo\",\n \"object\": \"course_member\",\n \"joined_at\": \"2024-01-22T12:56:04.000000Z\",\n \"member\": {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"member\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"full_name\": \"John Doe\",\n \"avatar\": null,\n \"email\": null,\n \"is_email_verified\": false,\n \"last_seen\": \"2024-01-22T12:56:04.000000Z\"\n },\n \"course\": {\n \"id\": \"p5v87ERWKR3dkjyD\",\n \"object\": \"course\",\n \"name\": \"Ultimate Marketing Course\",\n \"status\": \"PUBLISHED\",\n \"created_at\": \"2022-02-03T16:06:42.000000Z\",\n \"cover\": null,\n \"availability\": \"CONTINUOUS\",\n \"visibility\": \"PRIVATE\",\n \"start_date\": null,\n \"end_date\": null,\n \"currency\": \"eur\",\n \"price\": null,\n \"url\": null,\n \"public_url\": null,\n \"join_url\": null,\n \"metadata\": {},\n \"custom_fields\": {\n \"field_1\": {\n \"key\": \"field_1\",\n \"object\": \"custom-field\",\n \"created_at\": \"2024-07-30T16:05:47.000000Z\",\n \"name\": \"Multiple Field Question\",\n \"description\": null,\n \"type\": \"MULTIPLE_OPTIONS\",\n \"options\": [\n \"Option A\",\n \"Option B\",\n \"Option C\"\n ],\n \"required\": false\n }\n }\n },\n \"custom_fields\": {\n \"field_1\": [\n \"Option A\",\n \"Option B\"\n ]\n }\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 15,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 2\n }\n }\n}"
tags:
- Courses
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
include_test_user:
type: boolean
description: 'Include test users to the results if set to true.'
example: true
parameters:
-
in: path
name: id
description: 'The ID of the course from which the members should be retrieved.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
'/v0/courses/{id}/modules':
get:
summary: 'List all Course Modules'
description: 'Returns a list of modules within the course.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"LZ6dN0DGgBD3QjxB\",\n \"object\": \"module\",\n \"created_at\": \"2024-01-22T12:55:11.000000Z\",\n \"name\": \"Lesson #1\",\n \"type\": \"LESSON\",\n \"availability\": \"CONTINUOUS\",\n \"position\": 0,\n \"course\": \"B4peAvmZ1L9OY3Xr\",\n \"metadata\": {}\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 15,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 2\n }\n }\n}"
tags:
- Courses
parameters:
-
in: path
name: id
description: 'The ID of the course from which the modules should be retrieved.'
example: LZ6dN0DGgBD3QjxB
required: true
schema:
type: string
'/v0/courses/{id}/elements':
get:
summary: 'List all Course Elements'
description: 'Returns a list of elements within the course.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"WYxKj5OlrekVAGr7\",\n \"object\": \"element\",\n \"created_at\": \"2024-01-22T12:55:11.000000Z\",\n \"name\": \"Introduction\",\n \"cover\": null,\n \"type\": \"CONTENT\",\n \"position\": 0,\n \"module\": \"LZ6dN0DGgBD3QjxB\",\n \"metadata\": {}\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 15,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 2\n }\n }\n}"
tags:
- Courses
parameters:
-
in: path
name: id
description: 'The ID of the course from which the elements should be retrieved.'
example: WYxKj5OlrekVAGr7
required: true
schema:
type: string
'/v0/elements/{id}/activities':
get:
summary: 'List all activites'
description: 'Returns a list of activites related to the element.
If the activity is performed by an individual, the member
key contains the details of the member who completed the activity.
If the activity is performed by a group, the members
key provides a list of all members who participated in the activity.'
parameters:
-
in: query
name: member
description: 'The unique ID of the member to filter activities for.'
example: 6K8vojJn1xe14abL
required: false
schema:
type: string
description: 'The unique ID of the member to filter activities for.'
example: 6K8vojJn1xe14abL
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n\"error\": null,\n\"payload\": {\n \"data\": [\n {\n \"id\": \"KwJ8VgrmlAp4PBnM\",\n \"object\": \"activity\",\n \"timestamp\" : \"2022-11-27T13:52:02.000000Z\",\n \"status\": \"PASSED\",\n \"passed\": true,\n \"score\": 100,\n \"completed_by\": \"6K8vojJn1xe14abL\",\n \"member\": {\n \"id\": \"6K8vojJn1xe14abL\",\n \"object\": \"member\",\n \"first_name\": \"Adalberto\",\n \"last_name\": \"Bruen\",\n \"full_name\": \"Adalberto Bruen\",\n \"avatar\": null,\n \"email\": \"iva52@example.org\",\n \"is_email_verified\": true,\n \"last_seen\": \"2024-11-27T13:51:52.000000Z\"\n },\n \"context\": {\n \"id\": \"QB8nmEJjqdbLA2K5\",\n \"object\": \"element\",\n \"created_at\": \"2024-11-26T11:37:16.000000Z\",\n \"name\": \"Multiple Choice Quiz\",\n \"cover\": null,\n \"type\": \"QUIZ\",\n \"position\": 3,\n \"module\": \"no0aApWNyRMD68rv\",\n \"metadata\": {}\n },\n },\n {...},\n {...},\n ],\n \"pagination\": {\n \"total\": 3,\n \"count\": 3,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 1\n }\n}"
tags:
- Elements
parameters:
-
in: path
name: id
description: 'The ID of the element to retrieve an activities.'
example: e7W6kP8wvjd3GRBz
required: true
schema:
type: string
/v0/elements:
post:
summary: 'Create element'
description: 'Creates an element in the specified module. Returns the created element details upon successful creation.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
data:
id: QB8nmEJjqdbLA2K5
object: element
created_at: '2024-11-26T11:37:16.000000Z'
name: 'Multiple Choice Quiz'
cover: null
type: QUIZ
position: 3
module: no0aApWNyRMD68rv
metadata: { }
properties:
error:
type: string
example: null
payload:
type: object
example:
data:
id: QB8nmEJjqdbLA2K5
object: element
created_at: '2024-11-26T11:37:16.000000Z'
name: 'Multiple Choice Quiz'
cover: null
type: QUIZ
position: 3
module: no0aApWNyRMD68rv
metadata: { }
tags:
- Elements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The element name.'
example: 'First knowledge'
module:
type: string
description: 'The module id of an element.'
example: no0aApWNyRMD68rv
type:
type: string
description: 'The element type. Must be one of: CONTENT, VIDEO, ZOOM_MEETING, MEETING_LINK, QUIZ, SUBMISSION, GROUP_SUBMISSION, SUBMISSION_RUBRIC, EMBED, SURVEY, CERTIFICATE, TAG, DATACAMP, SELF_REVIEW, PEER_REVIEW, FEEDBACK_REFLECTION, INSTRUCTOR_REVIEW, CHECKLIST, DISCUSSION, FILE, GROUP_FORMATION, FORM, SCORE, GROUP_PEER_REVIEW, GROUP_FEEDBACK_REFLECTION.'
example: QUIZ
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
required:
- module
'/v0/elements/{id}':
post:
summary: 'Update element'
description: 'Updates the details of an existing element in your organization based on the provided unique element ID. Any parameters not provided will be left unchanged. Returns the updated element details upon successful update.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
data:
id: QB8nmEJjqdbLA2K5
object: element
created_at: '2024-11-26T11:37:16.000000Z'
name: 'Multiple Choice Quiz'
cover: null
type: QUIZ
position: 3
module: no0aApWNyRMD68rv
metadata: { }
properties:
error:
type: string
example: null
payload:
type: object
example:
data:
id: QB8nmEJjqdbLA2K5
object: element
created_at: '2024-11-26T11:37:16.000000Z'
name: 'Multiple Choice Quiz'
cover: null
type: QUIZ
position: 3
module: no0aApWNyRMD68rv
metadata: { }
tags:
- Elements
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The element name.'
example: 'Ultimate Marketing Element'
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
parameters:
-
in: path
name: id
description: 'The ID of the requested element to update.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
/v0/members/search:
get:
summary: 'Search Members'
description: 'Search for existing members in your organization. You can search by first name, last name or email. The search is case-insensitive and supports partial matches.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"member\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"full_name\": \"John Doe\",\n \"avatar\": null,\n \"email\": null,\n \"is_email_verified\": false,\n \"last_seen\": \"2024-01-22T12:56:04.000000Z\"\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 5,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 1\n }\n }\n}"
tags:
- Members
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
q:
type: string
description: 'The search query to filter members by first name, last name or email.'
example: John
include_test_user:
type: boolean
description: 'Include test users to the search results if set to true.'
example: true
required:
- q
'/v0/members/{id}':
get:
summary: 'Retrieve a Member'
description: 'Retrieves the details of an existing member in your organization based on the provided unique member ID. Returns a comprehensive information about the member, including their first name, last name, email, and profile image.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: null
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
properties:
error:
type: string
example: null
payload:
type: object
example:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: null
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
tags:
- Members
post:
summary: 'Update a Member'
description: 'Updates the details of an existing member in your organization based on the provided unique member ID. Any parameters not provided will be left unchanged. Returns the updated member details upon successful update.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: john.doe@example.com
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
properties:
error:
type: string
example: null
payload:
type: object
example:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: john.doe@example.com
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
tags:
- Members
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'The member''s email. Must be a valid email address.'
example: john.doe@example.com
password:
type: string
description: 'The member''s password. Must be at least 8 characters. Must have at least one uppercase and one lowercase letter. Must have at least one number. Must have at least one symbol.'
example: doNotU5e_thiSPassw0rd
first_name:
type: string
description: "The member first name. Example: John\nlast_name string The member last name. Example: Doe\nemail string The member email. Example: john.doe@example.com\navatar string The member profile picture. Example: https://example.com/avatar.png\npassword string The new password."
example: 'tm7v$7ER9KR4dk*yD'
last_name:
type: string
description: 'The member''s last name.'
example: Doe
avatar:
type: string
description: 'The member''s profile picture. Must be a valid URL. Must not be greater than 255 characters.'
example: 'https://example.com/avatar.png'
parameters:
-
in: path
name: id
description: 'The ID of the requested member.'
example: e7W6kP8wvjd3GRBz
required: true
schema:
type: string
/v0/members:
get:
summary: 'List all Members'
description: 'Retrieves a paginated list of members in your organization. This API endpoint allows you to retrieve detailed information about each member, including their name, email, and other relevant details.'
parameters:
-
in: query
name: page
description: 'A cursor for pagination across multiple pages of results.'
example: 2
required: false
schema:
type: integer
description: 'A cursor for pagination across multiple pages of results.'
example: 2
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"member\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"full_name\": \"John Doe\",\n \"avatar\": null,\n \"email\": null,\n \"is_email_verified\": false,\n \"last_seen\": \"2024-01-22T12:56:04.000000Z\"\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 152,\n \"count\": 10,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 16\n }\n }\n}"
tags:
- Members
post:
summary: 'Create a Member'
description: 'Create a member in your organization.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: john.doe@example.com
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
properties:
error:
type: string
example: null
payload:
type: object
example:
id: e7W6kP8wvjd3GRBz
object: member
first_name: John
last_name: Doe
full_name: 'John Doe'
avatar: null
email: john.doe@example.com
is_email_verified: false
last_seen: '2024-01-22T12:56:04.000000Z'
tags:
- Members
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'The member''s email. Must be a valid email address.'
example: john.doe@example.com
password:
type: string
description: 'The member''s password. Must be at least 8 characters. Must have at least one uppercase and one lowercase letter. Must have at least one number. Must have at least one symbol.'
example: doNotU5e_thiSPassw0rd
first_name:
type: string
description: 'The member''s first name.'
example: John
last_name:
type: string
description: 'The member''s last name.'
example: Doe
role:
type: string
description: 'The member''s role. It must be "owner", "admin", "lecturer", "assistant" or "customer".'
example: lecturer
avatar:
type: string
description: 'The member''s profile picture. Must be a valid URL. Must not be greater than 255 characters.'
example: 'https://example.com/avatar.png'
required:
- email
- password
- first_name
- last_name
- role
'/v0/members/{id}/courses':
get:
summary: 'List all Member Courses'
description: 'Returns a list of courses the member belongs to.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"data\": [\n {\n \"id\": \"6jO9XN7mZEVpvxqo\",\n \"object\": \"course_member\",\n \"joined_at\": \"2024-01-22T12:56:04.000000Z\",\n \"member\": {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"member\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"full_name\": \"John Doe\",\n \"avatar\": null,\n \"email\": null,\n \"is_email_verified\": false,\n \"last_seen\": \"2024-01-22T12:56:04.000000Z\"\n },\n \"course\": {\n \"id\": \"p5v87ERWKR3dkjyD\",\n \"object\": \"course\",\n \"name\": \"Ultimate Marketing Course\",\n \"created_at\": \"2022-02-03T16:06:42.000000Z\",\n \"cover\": null,\n \"availability\": \"CONTINUOUS\",\n \"visibility\": \"PRIVATE\",\n \"start_date\": null,\n \"end_date\": null,\n \"currency\": \"eur\",\n \"price\": null,\n \"url\": null,\n \"public_url\": null,\n \"join_url\": null,\n \"metadata\": {}\n },\n \"custom_fields\": {\n \"field_1\": {\n \"key\": \"field_1\",\n \"object\": \"custom-field\",\n \"created_at\": \"2024-07-30T16:05:47.000000Z\",\n \"name\": \"Multiple Field Question\",\n \"description\": null,\n \"type\": \"MULTIPLE_OPTIONS\",\n \"options\": [\n \"Option A\",\n \"Option B\",\n \"Option C\"\n ],\n \"required\": false\n }\n }\n },\n {...},\n {...}\n ],\n \"pagination\": {\n \"total\": 15,\n \"count\": 5,\n \"per_page\": 10,\n \"current_page\": 1,\n \"total_pages\": 2\n }\n }\n}"
tags:
- Members
parameters:
-
in: path
name: id
description: 'The ID of the member which the courses should be retrieveds.'
example: e7W6kP8wvjd3GRBz
required: true
schema:
type: string
/v0/modules:
post:
summary: 'Create a module'
description: 'Create a module in the specified course. Returns the created module details upon successful creation.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"module\",\n \"created_at\": \"2024-01-22T12:56:04.000000Z\",\n \"name\": \"Example module\",\n \"type\": \"LESSON\",\n \"availability\": CONTINUOUS,\n \"position\": 1,\n \"course\": p5v87ERWKR3dkjyD,\n \"metadata\": {},\n }\n}"
tags:
- Modules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The module name.'
example: 'Ultimate Marketing Module'
course:
type: string
description: 'The course id.'
example: e7W6kP8wvjd3GRBz
availability:
type: string
description: 'Defines the availability of the module. Can be one of the following values: "CONTINUOUS" for an ongoing module or "SCHEDULED" for a module with specific start and end dates. Must be one of CONTINUOUS
or SCHEDULED
.'
example: CONTINUOUS
start_date:
type: string
description: 'The start date of the module. The date should be in ISO 8601 format (e.g., "2025-02-17T00:00:00Z"). This field is required if the availability is "SCHEDULED". This field is required when availability
is SCHEDULED
. Must be a valid date.'
example: '2025-02-17T00:00:00Z'
end_date:
type: string
description: 'The end date of the module. The date should be in ISO 8601 format (e.g., "2025-03-18T00:00:00Z"). This field is required if the availability is "SCHEDULED" and must be after the start date. This field is required when availability
is SCHEDULED
or date
. Must be a date after or equal to start_date
.'
example: '2025-03-17T00:00:00Z'
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
required:
- course
'/v0/modules/{id}':
post:
summary: 'Update a module'
description: 'Updates the details of an existing module based on the provided unique module ID. Any parameters not provided will be left unchanged. Returns the updated module details upon successful update.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"error\": null,\n \"payload\": {\n \"id\": \"e7W6kP8wvjd3GRBz\",\n \"object\": \"module\",\n \"created_at\": \"2024-01-22T12:56:04.000000Z\",\n \"name\": \"Example module\",\n \"type\": \"LESSON\",\n \"availability\": CONTINUOUS,\n \"position\": 1,\n \"course\": p5v87ERWKR3dkjyD,\n \"metadata\": {},\n }\n}"
tags:
- Modules
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The module name.'
example: 'Ultimate Marketing Module'
availability:
type: string
description: 'Defines the availability of the module. Can be one of the following values: "CONTINUOUS" for an ongoing module or "SCHEDULED" for a module with specific start and end dates. Must be one of CONTINUOUS
or SCHEDULED
.'
example: CONTINUOUS
start_date:
type: string
description: 'The start date of the module. The date should be in ISO 8601 format (e.g., "2025-02-17T00:00:00Z"). This field is required if the availability is "SCHEDULED". This field is required when availability
is SCHEDULED
. Must be a valid date.'
example: '2025-02-17T00:00:00Z'
end_date:
type: string
description: 'The end date of the module. The date should be in ISO 8601 format (e.g., "2025-03-18T00:00:00Z"). This field is required if the availability is "SCHEDULED" and must be after the start date. This field is required when availability
is SCHEDULED
or date
. Must be a date after or equal to start_date
.'
example: '2025-03-17T00:00:00Z'
metadata:
type: object
description: 'Metadata is an attribute that lets you store more information, structured as key-value pairs, for your own use and reference.
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Keys and values are stored as strings and can contain any characters with one exception: you can’t use square brackets ([ and ]) in keys.'
example:
category: marketing
level: advanced
properties: []
parameters:
-
in: path
name: id
description: 'The ID of the requested module to update.'
example: p5v87ERWKR3dkjyD
required: true
schema:
type: string
/v0/revoke:
post:
summary: 'Revoke Organization Access'
description: 'Revoke a member access from organization.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload: null
properties:
error:
type: string
example: null
payload:
type: string
example: null
tags:
- Organization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
member:
type: string
description: 'The ID of the member to revoke access to the organization.'
example: e7W6kP8wvjd3GRBz
required:
- member
/v0/invites:
post:
summary: 'Invite Member'
description: 'Invite a member to join the organization or course.'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
-
in: header
name: Content-Type
description: ''
example: application/json
schema:
type: string
-
in: header
name: Accept
description: ''
example: application/json
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
error: null
payload:
id: R8dXqkpL1BaJl92y
object: invite
token: PgvInCUzTnNuTYpYWb2c
url: null
full_name: 'John Doe'
role: customer
discount_percentage: 0
course: null
skip_email: false
properties:
error:
type: string
example: null
payload:
type: object
example:
id: R8dXqkpL1BaJl92y
object: invite
token: PgvInCUzTnNuTYpYWb2c
url: null
full_name: 'John Doe'
role: customer
discount_percentage: 0
course: null
skip_email: false
tags:
- Organization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'The member''s emails to whom will sent an invitation. Must be a valid email address.'
example: john.doe@example.com
full_name:
type: string
description: 'The member''s full name.'
example: 'John Doe'
role:
type: string
description: 'The member''s role. Default to "customer". Must be one of customer
, lecturer
, admin
, or owner
.'
example: customer
discount_percentage:
type: integer
description: 'Must be between 0 and 100.'
example: 100
course:
type: string
description: 'If set, the ID of the course the member will be invited to.'
example: e7W6kP8wvjd3GRBz
skip_email:
type: boolean
description: 'If set to true, an email notification will be skipped.'
example: false
required:
- email
tags:
-
name: Activities
description: ''
-
name: Courses
description: ''
-
name: Elements
description: ''
-
name: Members
description: ''
-
name: Modules
description: ''
-
name: Organization
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ''
security:
-
default: []