Echo360 Public API Swagger Docs

Base URLs:
https://echo360.org (US Region)
https://echo360.org.uk (UK Region)
https://echo360.org.au (AU/ANZ Region)

Version: 1.0

Summary of Calls

Tag: courses

Operation Description
GET /public/api/v1/courses

List of all Courses for current Institution

POST /public/api/v1/courses

Add Course

GET /public/api/v1/courses/{courseId}

Get Course by ID or External ID

PUT /public/api/v1/courses/{courseId}

Update Course By ID or External ID

DELETE /public/api/v1/courses/{courseId}

Delete Course By ID or External ID

Tag: oauth2access_token

Operation Description
POST /oauth2/access_token

Request an access token

Tag: sections

Operation Description
GET /public/api/v1/sections

List of all Sections for current Institution

POST /public/api/v1/sections

Add Section

GET /public/api/v1/sections/{sectionId}

Get Section by ID or External ID

PUT /public/api/v1/sections/{sectionId}

Update Section by ID or External ID

DELETE /public/api/v1/sections/{sectionId}

Delete Section by ID or External ID

PUT /public/api/v1/sections/{sectionId}/lms-course-ids

Update Section LMS Course IDs by ID or External ID

PUT /public/api/v1/sections/{sectionId}/secondary-instructors

Update Section Secondary Instructors by ID or External ID

Tag: schedules

Operation Description
GET /public/api/v1/schedules

List of all Schedules for current Institution

POST /public/api/v1/schedules

Add Schedule

GET /public/api/v1/schedules/{scheduleId}

Get Schedule by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}

Update Schedule by ID or External ID

DELETE /public/api/v1/schedules/{scheduleId}

Delete Schedule by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/deviceOptions

Update Schedule's Device Options by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/external_id

Update Schedule's External ID by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/flags

Update Schedule's Flags by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/instructors

Update Schedule's Instructors by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/name

Update Schedule's Name by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/section

Update Schedule's Section by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/times

Update Schedule's Times by ID or External ID

Tag: lms-profiles

Operation Description
GET /public/api/v1/lms-profiles

List of all LmsProfiles for current Institution

POST /public/api/v1/lms-profiles

Add LmsProfile by externalSystemIdRef

GET /public/api/v1/lms-profiles/{lmsProfileId}

Get LmsProfile by Id

PUT /public/api/v1/lms-profiles/{lmsProfileId}

Update LmsProfile

DELETE /public/api/v1/lms-profiles/{lmsProfileId}

Delete a LmsProfile

Tag: room-configuration

Operation Description
GET /public/api/v1/rooms/{roomId}/device-access

Get Network Connection Protocol and Port for a given Room

GET /public/api/v1/rooms/{roomId}/hardware1/inputs

Get Hardware 1 (SCHD) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware2/front-panel

Get the enabled status of a Hardware 2 (Echo360 PRO) front panel

GET /public/api/v1/rooms/{roomId}/hardware2/inputs

Get Hardware 2 (Echo360 PRO) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware2/one-touch

Get the One Touch details of a front-panel-enabled Hardware 2 (Echo360 PRO) device

GET /public/api/v1/rooms/{roomId}/hardware3/front-panel

Get the enabled status of a Hardware 3 (Echo360 POD) front panel

GET /public/api/v1/rooms/{roomId}/hardware3/inputs

Get Hardware 3 (Echo360 POD) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware3/one-touch

Get the One Touch details of a front-panel-enabled Hardware 3 (Echo360 POD) device

GET /public/api/v1/rooms/{roomId}/local-user/admin

Get Local Admin User Credentials

GET /public/api/v1/rooms/{roomId}/local-user/generic

Get Local Generic User Credentials

GET /public/api/v1/rooms/{roomId}/network

Get Network Settings plus Time Servers for a given Room

GET /public/api/v1/rooms/{roomId}/outbound-proxy

Get Outbound Proxy details for a given Room

GET /public/api/v1/rooms/{roomId}/software1/inputs

Get Software (CCAP) Input Configuration

Tag: users

Operation Description
GET /public/api/v1/users

List of all Users for current Institution

POST /public/api/v1/users

Add a new User

GET /public/api/v1/users/{userIdOrEmail}

Get a single User

PUT /public/api/v1/users/{userId}

Update User

Tag: organizations

Operation Description
GET /public/api/v1/organizations

List of all Organizations for current Institution

POST /public/api/v1/organizations

Add Organization

GET /public/api/v1/organizations/{organizationId}

Get Organization by ID or External ID

PUT /public/api/v1/organizations/{organizationId}

Update Organization by ID or External ID

DELETE /public/api/v1/organizations/{organizationId}

Delete Organization by ID or External ID

Tag: rooms

Operation Description
GET /public/api/v1/rooms

List of all Rooms for current Institution

POST /public/api/v1/rooms

Add Room

GET /public/api/v1/rooms/{roomId}

Get Room by ID or External ID

PUT /public/api/v1/rooms/{roomId}

Update Room by ID or External ID

DELETE /public/api/v1/rooms/{roomId}

Delete Room by ID or External ID

Tag: buildings

Operation Description
GET /public/api/v1/buildings

List of all Buildings for current Institution

POST /public/api/v1/buildings

Add Building

GET /public/api/v1/buildings/{buildingId}

Get Building by ID or External ID

PUT /public/api/v1/buildings/{buildingId}

Update Building by ID or External ID

DELETE /public/api/v1/buildings/{buildingId}

Delete Building by ID or External ID

Tag: publish

Operation Description
GET /public/api/v1/publish/media/lessons/{lessonId}

list publishable media for a lesson

GET /public/api/v1/publish/media/{mediaId}/lessons

list all lessons a media is published to

POST /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

publish media to a lesson and with availability set by json

PUT /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

update the status of a media that's been published to a lesson

DELETE /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

unpublish media from a section

Tag: enrollment

Operation Description
GET /public/api/v1/sections/{sectionId}/users

Get enrolled Users by Section

POST /public/api/v1/sections/{sectionId}/users

Enroll User in a Section

GET /public/api/v1/sections/{sectionId}/users/{userId}

Get user enrollment for section

PUT /public/api/v1/sections/{sectionId}/users/{userId}

Update a User's Section Role

DELETE /public/api/v1/sections/{sectionId}/users/{userId}

Unenroll User from Section

Tag: departments

Operation Description
GET /public/api/v1/departments

List of all Departments for current Institution

POST /public/api/v1/departments

Add Department

GET /public/api/v1/departments/{departmentId}

Get Department by ID or External ID

PUT /public/api/v1/departments/{departmentId}

Update Department by ID or External ID

DELETE /public/api/v1/departments/{departmentId}

Delete Department by ID or External ID

Tag: campuses

Operation Description
GET /public/api/v1/campuses

List of all Campuses for current Institution

POST /public/api/v1/campuses

Add Campus

GET /public/api/v1/campuses/{campusId}

Get Campus by ID or External ID

PUT /public/api/v1/campuses/{campusId}

Update Campus by ID or External ID

DELETE /public/api/v1/campuses/{campusId}

Delete Campus by ID or External ID

Tag: terms

Operation Description
GET /public/api/v1/terms

List of all Terms for current Institution

POST /public/api/v1/terms

Add Term

GET /public/api/v1/terms/{termId}

Get Term by ID or External ID

PUT /public/api/v1/terms/{termId}

Update Term by ID or External ID

DELETE /public/api/v1/terms/{termId}

Delete Term by ID or External ID

Paths

Request an access token

POST /oauth2/access_token

Tags: oauth2access_token

application/x-www-form-urlencoded

grant_type

Can be one of the following: client_credentials, password, or refresh_token

query string
client_id

Needed for all grant types

query string
client_secret

Needed for all grant types except refresh_token

query string
username

If password chosen

query string
password

If password chosen

query string
refresh_token

If refresh_token chosen

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

500 Internal Server Error

Internal Error

List of all Buildings for current Institution

GET /public/api/v1/buildings

Tags: buildings
campusId

ID or External ID of the Campus to filter Buildings

query string None
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Building

POST /public/api/v1/buildings

Tags: buildings

Building data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Building by ID or External ID

DELETE /public/api/v1/buildings/{buildingId}

Tags: buildings
buildingId

ID or External ID of the Building to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Building by ID or External ID

GET /public/api/v1/buildings/{buildingId}

Tags: buildings
buildingId

ID or External ID of the Building to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Update Building by ID or External ID

PUT /public/api/v1/buildings/{buildingId}

Tags: buildings

Building data

buildingId

ID or External ID of the Building to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Campuses for current Institution

GET /public/api/v1/campuses

Tags: campuses
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Campus

POST /public/api/v1/campuses

Tags: campuses

Campus data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Campus by ID or External ID

DELETE /public/api/v1/campuses/{campusId}

Tags: campuses
campusId

ID or External ID of the Campus to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Campus by ID or External ID

GET /public/api/v1/campuses/{campusId}

Tags: campuses
campusId

ID or External ID of the Campus to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Campus by ID or External ID

PUT /public/api/v1/campuses/{campusId}

Tags: campuses

Campus data

campusId

ID or External ID of the Campus to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Courses for current Institution

GET /public/api/v1/courses

Tags: courses
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Course

POST /public/api/v1/courses

Tags: courses

Course data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Course By ID or External ID

DELETE /public/api/v1/courses/{courseId}

Tags: courses
courseId

ID or External ID of the Course to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Course by ID or External ID

GET /public/api/v1/courses/{courseId}

Tags: courses
courseId

ID or External ID of the Course to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Course By ID or External ID

PUT /public/api/v1/courses/{courseId}

Tags: courses

Course Data

courseId

ID or External ID of the Course to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Departments for current Institution

GET /public/api/v1/departments

Tags: departments
organizationId

ID or External ID of the Organization to filter Departments

query string None
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Department

POST /public/api/v1/departments

Tags: departments

Department data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Department by ID or External ID

DELETE /public/api/v1/departments/{departmentId}

Tags: departments
departmentId

ID or External ID of the Department to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Department by ID or External ID

GET /public/api/v1/departments/{departmentId}

Tags: departments
departmentId

ID of the Department to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Department by ID or External ID

PUT /public/api/v1/departments/{departmentId}

Tags: departments

Department data

departmentId

ID or External ID of the Department to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all LmsProfiles for current Institution

GET /public/api/v1/lms-profiles

Tags: lms-profiles
limit

Number of results

query integer (int32)
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add LmsProfile by externalSystemIdRef

POST /public/api/v1/lms-profiles

Tags: lms-profiles

LmsProfile data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Delete a LmsProfile

DELETE /public/api/v1/lms-profiles/{lmsProfileId}

Tags: lms-profiles
lmsProfileId

Name of the LmsProfile to Deleted

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get LmsProfile by Id

GET /public/api/v1/lms-profiles/{lmsProfileId}

Tags: lms-profiles
lmsProfileId

ID of the LmsProfile to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Update LmsProfile

PUT /public/api/v1/lms-profiles/{lmsProfileId}

Tags: lms-profiles

LmsProfile data

lmsProfileId

ID of the LmsProfile to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Organizations for current Institution

GET /public/api/v1/organizations

Tags: organizations
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Organization

POST /public/api/v1/organizations

Tags: organizations

Organization data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Organization by ID or External ID

DELETE /public/api/v1/organizations/{organizationId}

Tags: organizations
organizationId

ID or External ID of the Organization to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Organization by ID or External ID

GET /public/api/v1/organizations/{organizationId}

Tags: organizations
organizationId

ID or External ID of the Organization to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Organization by ID or External ID

PUT /public/api/v1/organizations/{organizationId}

Tags: organizations

Organization data

organizationId

ID or External ID of the Organization to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

list publishable media for a lesson

GET /public/api/v1/publish/media/lessons/{lessonId}

Tags: publish
lessonId

ID of the lesson

path string
200 OK

Successful

400 Bad Request

Not Authenticated

500 Internal Server Error

Internal Error

list all lessons a media is published to

GET /public/api/v1/publish/media/{mediaId}/lessons

Tags: publish
mediaId

ID of the media

path string
200 OK

Successful

400 Bad Request

Not Authenticated

500 Internal Server Error

Internal Error

unpublish media from a section

DELETE /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

Tags: publish
mediaId

ID of the media

path string
lessonId

ID of the lesson

path string
200 OK

Successful

400 Bad Request

Not Authenticated

500 Internal Server Error

Internal Error

publish media to a lesson and with availability set by json

POST /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

Tags: publish

Availability

mediaId

ID of the media

path string
lessonId

ID of the lesson

path string
200 OK

Successful

400 Bad Request

Not Authenticated

500 Internal Server Error

Internal Error

update the status of a media that's been published to a lesson

PUT /public/api/v1/publish/media/{mediaId}/lessons/{lessonId}

Tags: publish

Availability

mediaId

ID of the media

path string
lessonId

ID of the lesson

path string
200 OK

Successful

400 Bad Request

Not Authenticated

500 Internal Server Error

Internal Error

List of all Rooms for current Institution

GET /public/api/v1/rooms

Tags: rooms
buildingId

ID or External ID of the Building to filter Rooms

query string None
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Room

POST /public/api/v1/rooms

Tags: rooms

Room data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Room by ID or External ID

DELETE /public/api/v1/rooms/{roomId}

Tags: rooms
roomId

ID or External ID of the Room to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Room by ID or External ID

GET /public/api/v1/rooms/{roomId}

Tags: rooms
roomId

ID or External ID of Room to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Room by ID or External ID

PUT /public/api/v1/rooms/{roomId}

Tags: rooms

Room data

roomId

ID or External ID of the Room to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Get Network Connection Protocol and Port for a given Room

GET /public/api/v1/rooms/{roomId}/device-access

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Hardware 1 (SCHD) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware1/inputs

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get the enabled status of a Hardware 2 (Echo360 PRO) front panel

GET /public/api/v1/rooms/{roomId}/hardware2/front-panel

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Hardware 2 (Echo360 PRO) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware2/inputs

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get the One Touch details of a front-panel-enabled Hardware 2 (Echo360 PRO) device

GET /public/api/v1/rooms/{roomId}/hardware2/one-touch

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get the enabled status of a Hardware 3 (Echo360 POD) front panel

GET /public/api/v1/rooms/{roomId}/hardware3/front-panel

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Hardware 3 (Echo360 POD) Input Configuration

GET /public/api/v1/rooms/{roomId}/hardware3/inputs

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get the One Touch details of a front-panel-enabled Hardware 3 (Echo360 POD) device

GET /public/api/v1/rooms/{roomId}/hardware3/one-touch

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Local Admin User Credentials

GET /public/api/v1/rooms/{roomId}/local-user/admin

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Local Generic User Credentials

GET /public/api/v1/rooms/{roomId}/local-user/generic

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Network Settings plus Time Servers for a given Room

GET /public/api/v1/rooms/{roomId}/network

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Outbound Proxy details for a given Room

GET /public/api/v1/rooms/{roomId}/outbound-proxy

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Get Software (CCAP) Input Configuration

GET /public/api/v1/rooms/{roomId}/software1/inputs

Tags: room-configuration
roomId

ID of the Room

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Not Found

500 Internal Server Error

Internal Error

List of all Schedules for current Institution

GET /public/api/v1/schedules

Tags: schedules
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Schedule

POST /public/api/v1/schedules

Tags: schedules

Schedule data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Schedule by ID or External ID

DELETE /public/api/v1/schedules/{scheduleId}

Tags: schedules
scheduleId

ID or External ID of the Schedule to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Schedule by ID or External ID

GET /public/api/v1/schedules/{scheduleId}

Tags: schedules
scheduleId

ID or External ID of the Schedule to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}

Tags: schedules

Schedule data

scheduleId

ID or External ID of the Schedule to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Device Options by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/deviceOptions

Tags: schedules

Schedule Device Options data

scheduleId

ID or External ID of the Schedule to Update Device Options

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's External ID by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/external_id

Tags: schedules

Schedule External ID

scheduleId

ID or External ID of the Schedule to Update External ID

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Flags by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/flags

Tags: schedules

Schedule flags data

scheduleId

ID or External ID of the Schedule to Update Flags

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Instructors by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/instructors

Tags: schedules

Schedule Instructors

scheduleId

ID or External ID of the Schedule to Update Instructors

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Name by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/name

Tags: schedules

Schedule Name data

scheduleId

ID or External ID of the Schedule to Update Name

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Section by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/section

Tags: schedules

Schedule Section data

scheduleId

ID or External ID of the Schedule to Update Section

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Schedule's Times by ID or External ID

PUT /public/api/v1/schedules/{scheduleId}/times

Tags: schedules

Schedule Time data

scheduleId

ID or External ID of the Schedule to Update Times

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Sections for current Institution

GET /public/api/v1/sections

Tags: sections
courseId

ID or External ID of the Course to filter Sections

query string None
termId

ID or External ID of the Term to filter Sections

query string None
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Section

POST /public/api/v1/sections

Tags: sections

Section data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Section by ID or External ID

DELETE /public/api/v1/sections/{sectionId}

Tags: sections
sectionId

ID or External ID of the Section to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Section by ID or External ID

GET /public/api/v1/sections/{sectionId}

Tags: sections
sectionId

ID or External ID of the Section to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Section by ID or External ID

PUT /public/api/v1/sections/{sectionId}

Tags: sections

Section data

sectionId

ID or External ID of the Section to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Section LMS Course IDs by ID or External ID

PUT /public/api/v1/sections/{sectionId}/lms-course-ids

Tags: sections
sectionId

ID or External ID of the Section to Update LMS Course IDs

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Section Secondary Instructors by ID or External ID

PUT /public/api/v1/sections/{sectionId}/secondary-instructors

Tags: sections
sectionId

ID or External ID of the Section to Update Secondary Instructors

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Get enrolled Users by Section

GET /public/api/v1/sections/{sectionId}/users

Tags: enrollment
sectionId

ID of the Section

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

500 Internal Server Error

Internal Error

Enroll User in a Section

POST /public/api/v1/sections/{sectionId}/users

Tags: enrollment

Section data

sectionId

ID of the Section

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

500 Internal Server Error

Internal Error

Unenroll User from Section

DELETE /public/api/v1/sections/{sectionId}/users/{userId}

Tags: enrollment
sectionId

ID of the Section to Update

path string
userId

ID of the User to Unenroll

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

500 Internal Server Error

Internal Error

Get user enrollment for section

GET /public/api/v1/sections/{sectionId}/users/{userId}

Tags: enrollment
sectionId

ID of the Section

path string
userId

ID of the User

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

500 Internal Server Error

Internal Error

Update a User's Section Role

PUT /public/api/v1/sections/{sectionId}/users/{userId}

Tags: enrollment

Either "Student" or "Instructor"

sectionId

ID of the Section to Update

path string
userId

ID of the User to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

500 Internal Server Error

Internal Error

List of all Terms for current Institution

GET /public/api/v1/terms

Tags: terms
limit

Number of results

query integer (int32)
offset

Key returned from prior result to get next page

query string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Add Term

POST /public/api/v1/terms

Tags: terms

Term data

200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Delete Term by ID or External ID

DELETE /public/api/v1/terms/{termId}

Tags: terms
termId

ID or External ID of the Term to Delete

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

500 Internal Server Error

Internal Error

Get Term by ID or External ID

GET /public/api/v1/terms/{termId}

Tags: terms
termId

ID or External ID of the Term to Get

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

Update Term by ID or External ID

PUT /public/api/v1/terms/{termId}

Tags: terms

Term data

termId

ID or External ID of the Term to Update

path string
200 OK

Successful

400 Bad Request

Bad Request

401 Unauthorized

Not Authenticated

403 Forbidden

Forbidden

404 Not Found

Resource Not Found

405 Method Not Allowed

Method Not Allowed

500 Internal Server Error

Internal Error

List of all Users for current Institution

GET /public/api/v1/users

Tags: users
limit

Number of results

query integer (int32)
200 OK

Successful

401 Unauthorized

Not Authenticated

500 Internal Server Error

Internal Error

Add a new User

POST /public/api/v1/users

Tags: users

User data

200 OK

Successful

400 Bad Request

Bad/Invalid request

401 Unauthorized

Not Authenticated

500 Internal Server Error

Internal Error

Get a single User

GET /public/api/v1/users/{userIdOrEmail}

Tags: users
userIdOrEmail

ID or Email of the user to get

path string
200 OK

Successful

401 Unauthorized

Not Authenticated

404 Not Found

Not Found

500 Internal Server Error

Internal Error

Update User

PUT /public/api/v1/users/{userId}

Tags: users

User data

userId

ID of the user to update

path string
200 OK

Successful

400 Bad Request

Bad/Invalid request

401 Unauthorized

Not Authenticated

500 Internal Server Error

Internal Error

Schema definitions

ActionAnyContent: object h2

Availability: object

available: boolean

Availability

when: string , x ∈ { Example: YYYY-MM-DD }

Date when media will be available

Building: object

id: string

Unique Identifier of the Building

campusId: string

ID of the Campus to which the Building belongs

institutionId: string

ID of the Institution to which the Campus belongs

name: string

Name of the Building returned

externalId: string

External system identifier for the current Building

Campus: object

id: string

Unique Identifier of the Campus

institutionId: string

ID of the Instituion to which the Campus belongs

name: string

Name of the Campus returned

timeZone: string , x ∈ { Example: US/Eastern }

The Time Zone in which the Campus is located

timeZoneOffsetMinutes: integer (int32)

Offset in minutes to add to UTC to get the local time.

externalId: string

External system identifier for the current Campus

Chronology: object

zone: DateTimeZone

ContentAvailability: object

Course: object

id: string

Unique Identifier of the Course

institutionId: string

ID of the Instituion to which the Organization belongs

organizationId: string

ID of the Organization to which the Department belongs. Will default to ownership by Institution if non-existent

departmentId: string

ID of the Department to which the Course belongs. Will default to ownership by Organization if non-existent

name: string

Name of the Course returned

courseIdentifier: string , x ∈ { Example: MGMT 101 }

Institution-specific identifier for the Course

sectionCount: integer (int64)

Number of Sections that exist for the current Course

externalId: string

External system identifier

CreateOrUpdateSchedule: object

startDate: string , x ∈ { YYYY-MM-DD }

Start date for capture in ISO 8601 Date format

startTime: string , x ∈ { HH:MM }

Start time for the capture (to the minute) in ISO 8601 Time format. The time zone for the schedule's linked room will be used

endDate: string , x ∈ { YYYY-MM-DD }

The last date for the capture, in ISO 8601 format. If this is specified, daysOfWeek must also be provided

daysOfWeek: string[]

Days of the week this schedule should capture as 2 letter abbreviations. This is required when endDate is specified

string
exclusionDates: string[]

Dates within the scheduled period skip recording in ISO 8601 format. This is unused when no endDate/daysOfWeek is specified

string
durationMinutes: integer (int32)

Duration of each scheduled capture

sectionId: string

ID of the Section in which to Schedule the Capture (deprecated)

sectionIds: string[]

ID of the Section in which to Schedule the Capture

string
name: string

Name of the Schedule

roomId: string

ID of the Room in which to Schedule the Capture

instructorId: string

ID or Email of the Instructor

guestInstructor: string

Name of any Guest Instructor

shouldAutoPublish: boolean

Deprecated -- autoPublish is now determined by the existence of sectionIds

shouldCaption: boolean

Boolean value indicating the Capture should be Captioned

shouldStreamLive: boolean

Boolean value indicating the Capture should be Streamed Live

input1: string , x ∈ { display , video , altvideo }

Input 1 Logical Graphics Type

input2: string , x ∈ { display , video , altvideo }

Input 2 Logical Graphics Type

captureQuality: string , x ∈ { medium , high }

Quality of the Capture

streamQuality: string , x ∈ { medium , high }

Streaming Quality of the Capture

externalId: string

External system identifiers of the Schedule

sectionIdList: string[]
string

CreateSection: object

courseId: string

ID of the Course to which the Section belongs

termId: string

ID of the Term to which the Section belongs

sectionNumber: string

Number to uniquely identify each Section

description: string

Optional Description of the current Section

instructorId: string

ID or email of the Instructor by whom the Section will be taught

secondaryInstructorIds: string[]

Array of ID's of the Secondary Instructors for the current Section

string
lmsCourseIds: string[]

Array of Section Identifiers from any External Learning Management System

string
externalId: string

External system identifier of the Section

CreateUpdateBuilding: object

campusId: string

ID of the Campus to which the Building belongs

name: string

Name of the Building to be created/updated

externalId: string

External system identifier of the Building

CreateUpdateCampus: object

name: string

Name of the Campus to be created/updated

timeZone: string , x ∈ { Example: US/Eastern }

The Time Zone in which the Campus is located. Will default to the Institution's Time Zone if not included in the body.

externalId: string

External system identifier of the Campus

CreateUpdateCourse: object

organizationId: string

ID of the Organization to which the Department belongs. Will default to ownership by Institution if left empty.

departmentId: string

ID of the Department to which the Course belongs. Will default to ownership by Organization if left empty

name: string , x ∈ { Example: Introduction to Business Management }

Name of the Course to be created/updated

courseIdentifier: string , x ∈ { Example: MGMT 101 }

Institution-specific identifier for the Course

externalId: string

External system identifiers of the Course

CreateUpdateDepartment: object

organizationId: string

The ID of the Organization to which the Department belongs. Will default to ownership by Institution if left empty.

name: string

The name of the Department to be created/updated

externalId: string

External system identifier of the Department

CreateUpdateOrganization: object

name: string

Name of the Organization

externalId: string

External system identifier of the Organization

CreateUpdateRoom: object

buildingId: string

ID of the Building to which to the Room belongs

name: string

Name of the Room to be created/updated

deviceId: string

Device ID to assign this room

externalId: string

External system identifier of the Room

CreateUpdateTerm: object

name: string

Name of the Term to Create/Update

session: DateRange

Object consisting of the Start Date and End Date of the Term

exceptions: object[]

Any Dates within the current Term on which Class will not be held

externalId: string

External system identifier of the Term

CreateUpdateUser: object

email: string , x ∈ { Example: Foo.Bar@echo360.com }

Email address of the User

timeZone: string , x ∈ { Example: US/Eastern }

The Time Zone in which the User is located

firstName: string

First Name of the User

lastName: string

Last Name of the User

phoneNumber: PhoneNumber

Phone Number of the User. An object containing the Region and Number

profileImageUrl: string

URL of the User's Profile Image

roles: string[]

Role(s) of the User within the Institution

string
ssoId: string , x ∈ { ePPN Example: fbar+internet2.edu@subdomain.incommon.org }

A string that identifies the user to an external identity provider

DateRange: object

startDate: string (date) , x ∈ { Example: YYYY-MM-DD }

Start Date of the current Term

endDate: string (date) , x ∈ { Example: YYYY-MM-DD }

End Date of the current Term

DateTimeField: object

lenient: boolean
durationField: DurationField
minimumValue: integer (int32)
maximumValue: integer (int32)
rangeDurationField: DurationField
leapDurationField: DurationField
name: string
type: DateTimeFieldType
supported: boolean

DateTimeFieldType: object

durationType: DurationFieldType
rangeDurationType: DurationFieldType
name: string

DateTimeRange: object

start: LocalDateTime
end: LocalDateTime
validations: ValidationGroupDateTimeRange
date: string
startTime: string
endTime: string
shortDate: string
shortDateWithWeekDay: string
smallDateWithWeekDay: string
dateName: string

DateTimeZone: object

fixed: boolean
id: string

Department: object

id: string

Unique Identifier of the Department

organizationId: string

The ID of the Organization to which the Department belongs. Will default to ownership by Institution if non-existent.

institutionId: string

ID of the Institution to which the Organization belongs

name: string

Name of the Department returned

courseCount: string , x ∈ { Example: 10 }

Number of Courses that exist for the current Department

sectionCount: string , x ∈ { Example: 4 }

Number of Sections that exist for the current Department

externalId: string

External system identifier for the current Department

DeviceAccess: object

protocol: string , x ∈ { http , https }

Protocol

port: integer (int32)

Port number

DurationField: object

unitMillis: integer (int64)
precise: boolean
name: string
type: DurationFieldType
supported: boolean

DurationFieldType: object

name: string

EnrollUser: object

userId: string

ID or Email of the User

role: string , x ∈ { Student , Instructor }

Role(s) of the User within the Institution

Hardware1Inputs: object

audioInput: string , x ∈ { rca , balanced , line-in , mic , none }

Audio Input Connector

audioAnalogGain: integer (int32)

Gain value for analog Audio

graphics1DviEnabled: string

Enabled status of DVI Input

graphics1DviGraphicsInput: string , x ∈ { composite , dvi , dvi_a , dvi_d , hdmi , sdi ,