openapi: 3.0.3
info:
title: Teachfloor
description: ''
version: 1.0.0
servers:
-
url: 'https://api.teachfloor.com'
paths:
/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 \"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: false
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'
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'
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
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 \"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'
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'
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
'/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 ID of the member to join 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: assistant
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 \"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: false
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 },\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 },\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/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
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.'
example: 'http://pfannerstill.biz/iusto-sunt-sint-ut-sed-enim-ipsam.html'
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/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: 90
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: Courses
description: ''
-
name: Members
description: ''
-
name: Organization
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ''
security:
-
default: []