APIs

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
listing_idstringOptional

Only include applicants for the specified listing

statusstringOptional

Only include applicants for the specified status (waitlist, accepted, declined, or expired)

Responses
get
/api/v1/applicants
200

Listing applicants

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
listing_idintegerRequired

Only delete applicants for the specified listing

canvas_user_idstringOptional

Only delete applicants with the specified canvas user id if specified

Responses
delete
/api/v1/applicants
204

Delete applicants

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/applicants/{id}
200

Getting a specific applicant record

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/orders/{id}
200

Getting a specific order

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
fromstringOptional

Earliest date/time to return. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

tostringOptional

Latest date/time to return. See 'from' above for format.

canvas_user_idstringOptional

Return only orders for the specified Canvas user ID

completedstringOptional

When set, only return orders that were completed successfully

Responses
get
/api/v1/orders
200

Listing orders

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Query parameters
idintegerRequired

Order id

Responses
get
/api/v1/order_items/history/bulk_enrollments/{id}
200

Getting a specific bulk enrollment

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
fromstringOptional

Only include bulk enrollments from this date

tostringOptional

Only include bulk enrollments to this date

canvas_user_idsstringOptional

Only include bulk enrollments for the specified canvas user ids

Responses
get
/api/v1/order_items/history/bulk_enrollments
200

Listing bulk enrollments

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
pageintegerOptional

Page number for pagination (defaults to 0)

sortstringOptional

Sort field (only 'name')

searchstringOptional

Search query to filter account admins

per_pagestringOptional

Number of results per page

sizestringOptional

Alternative to per_page parameter

Responses
get
/api/v1/account_admins
200

Listing account admins

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
canvas_user_idstringRequired

Canvas user ID

user_namestringRequired

Full name of the user

email_addressstringRequired

Email address of the user

account_idsstringRequired

Array of account IDs to associate with the user

Responses
201

Creating an account admin association

application/json
post
/api/v1/account_admins
201

Creating an account admin association

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idstringRequired
account_idintegerRequired
Responses
delete
/api/v1/account_admins/{id}/accounts/{account_id}
204

Deleting a specific account admin association

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idstringRequired
Responses
delete
/api/v1/account_admins/{id}
204

Deleting all account admin associations

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Query parameters
idintegerOptional

Canvas user ID

Responses
get
/api/v1/user_registrations/{id}
200

Getting a specific user registration

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
fromstringOptional

Earliest date/time to return (optional, String). Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

tostringOptional

Latest date/time to return (optional, String). See 'from' above for format.

Responses
get
/api/v1/user_registrations
200

Listing user registrations

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
namestringOptional

Full name

emailstringOptional

E-mail address (will also serve as login)

catalog_idstringOptional

ID of subcatalog to associate with user (optional)

custom_fieldsstringOptional

Hash of custom field values, e.g. { 'phone': '867-5309' } (optional)

Responses
201

Registering a user

application/json
post
/api/v1/user_registrations
201

Registering a user

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
product_actionstringRequired

Action to perform. Possible values: archive, reactivate

product_idsinteger[]Required

Array of product ids to perform the action on

Responses
put
/api/v1/programs/archived
get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/programs/{id}
200

Getting a specific program

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
skustringOptional

Listing SKU

Responses
put
/api/v1/programs/{id}
204

Updating a program

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
delete
/api/v1/programs/{id}
204

Deleting a specific program

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Responses
get
/api/v1/programs
200

Listing programs

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
skustringOptional

Listing SKU

Responses
201

Creating a program

application/json
post
/api/v1/programs
201

Creating a program

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/email_domain_sets/{id}
200

Getting a specific email domain set

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
Responses
put
/api/v1/email_domain_sets/{id}
200

Updating an email domain set

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/email_domain_sets/{id}/promotions
200

List promotions by email domain set

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
searchstringOptional

A value to filter the Email Domain Sets by name

exactstringOptional

A boolean to set whether the search should only include results that match exactly

Responses
get
/api/v1/email_domain_sets
200

Listing email domain sets

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
product_actionstringRequired

Action to perform. Possible values: archive, reactivate

product_idsinteger[]Required

Array of product ids to perform the action on

Responses
put
/api/v1/courses/archived
get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Responses
get
/api/v1/courses
200

Listing courses

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
skustringOptional

Listing SKU

Responses
201

Creating a course

application/json
post
/api/v1/courses
201

Creating a course

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
attachmentstring · binaryRequired

CSV containing a Catalog Course ID and Catalog Course SKU header

Responses
put
/api/v1/courses/update_skus
200

Updating course sku

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/courses/{id}
200

Getting a specific course

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
skustringOptional

Listing SKU

Responses
put
/api/v1/courses/{id}
204

Updating a course

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
delete
/api/v1/courses/{id}
204

Deleting a specific course

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
account_idsinteger[]Optional

List of account ids

product_idsinteger[]Optional

List of product ids

product_statusesstring[]Optional

List of product statuses (OPEN, CLOSED, and/or DELETED)

creation_date_fromstringOptional

Creation date from

creation_date_tostringOptional

Creation date to

enrollment_count_minintegerOptional

Enrollment count minimum

enrollment_count_maxintegerOptional

Enrollment count maximum

completion_count_minintegerOptional

Completion count minimum

completion_count_maxintegerOptional

Completion count maximum

dropped_count_minintegerOptional

Dropped count minimum

dropped_count_maxintegerOptional

Dropped count maximum

listing_price_minnumberOptional

Listing price minimum

listing_price_maxnumberOptional

Listing price maximum

promo_codesstring[]Optional

List of promotion code states (APPLIED and/or NOT_APPLIED)

revenue_minnumberOptional

Revenue minimum

revenue_maxnumberOptional

Revenue maximum

certificate_offeredbooleanOptional

Certificate offered for the product

Responses
post
/api/v1/analytics/products
200

Getting products analytics

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
account_idsinteger[]Optional

List of account ids

product_idsinteger[]Optional

List of product ids

product_statusesstring[]Optional

List of product statuses (OPEN, CLOSED, and/or DELETED)

student_idsinteger[]Optional

List of student ids(catalog user id)

student_canvas_user_idsinteger[]Optional

List of student ids(canvas user id)

enrollment_date_fromstringOptional

Enrollment date from

enrollment_date_tostringOptional

Enrollment date to

enrollment_statusesstring[]Optional

List of enrollment statuses (ACTIVE, COMPLETED, DROPPED and/or CONCLUDED)

completion_date_fromstringOptional

Completion date from

completion_date_tostringOptional

Completion date to

Responses
post
/api/v1/analytics/enrollments
200

Getting enrollments analytics

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
account_idsinteger[]Optional

List of account ids

product_idsinteger[]Optional

List of product ids

product_statusesstring[]Optional

List of product statuses (OPEN, CLOSED, and/or DELETED)

student_idsinteger[]Optional

List of student ids(catalog user id)

student_canvas_user_idsinteger[]Optional

List of student ids(canvas user id)

purchaser_idsinteger[]Optional

List of purchaser ids(catalog user id)

purchaser_canvas_user_idsinteger[]Optional

List of purchaser ids(canvas user id)

bulk_purchases_onlybooleanOptional

Bulk purchases only

purchase_date_fromstringOptional

Purchase date from

purchase_date_tostringOptional

Purchase date to

order_feestring[]Optional

List of order fee types (FREE and/or PAID)

listing_price_minnumberOptional

Listing price minimum

listing_price_maxnumberOptional

Listing price maximum

promo_codesstring[]Optional

List of promotion code states (APPLIED and/or NOT_APPLIED)

revenue_minnumberOptional

Revenue minimum

revenue_maxnumberOptional

Revenue maximum

Responses
post
/api/v1/analytics/orders
200

Getting orders analytics

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
account_idsinteger[]Optional

List of account ids

student_idsinteger[]Optional

List of student ids(catalog user id)

student_canvas_user_idsinteger[]Optional

List of student ids(canvas user id)

enrollment_count_minintegerOptional

Enrollment count minimum

enrollment_count_maxintegerOptional

Enrollment count maximum

last_enrollment_date_fromstringOptional

Last enrollment date from

last_enrollment_date_tostringOptional

Last enrollment date to

registration_date_fromstringOptional

Registration date from

registration_date_tostringOptional

Registration date to

registered_throughstring[]Optional

List of registration sources (CANVAS and/or CATALOG)

Responses
post
/api/v1/analytics/users
200

Getting users analytics

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/catalogs/{id}
200

Getting a specific catalog

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Responses
get
/api/v1/catalogs
200

Listing catalogs

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
user_idintegerRequired

Canvas Id of the user

only_certificatesbooleanOptional

Indicates if the courses without certificates should be included, default is to include all courses

Responses
get
/api/v1/completed_certificates
200

Listing user's completions with a certificate

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
listing_idstringOptional

Only include enrollments for the specified listing

Responses
get
/api/v1/enrollments
200

Listing enrollments

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
create_orderstringOptional

Create an order record for this enrollment, defaults to true

send_emailstringOptional

Send an enrollment email to the user, defaults to true

Responses
201

Creating an enrollment

application/json
post
/api/v1/enrollments
201

Creating an enrollment

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/enrollments/{id}
200

Getting a specific enrollment

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
delete
/api/v1/enrollments/{id}
204

Deleting an enrollment

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/tags/{id}
200

Getting a specific tag

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
namestringRequired

New tag name (minimum 1 and maximum 255 characters)

Responses
put
/api/v1/tags/{id}
200

Updating a specific tag

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
delete
/api/v1/tags/{id}
200

Deleting a specific tag

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
idsinteger[]Required

Array of tag IDs to delete

Responses
delete
/api/v1/tags/bulk
200

Deleting multiple tags

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
product_idsstringOptional

List of product ids (maximum 20 ids)

namestringOptional

Search value which will be searched in tag name and associated products names

has_categorybooleanOptional

Tag has category or not

updated_at_fromstringOptional

Updated at from

updated_at_tostringOptional

Updated at to

created_at_fromstringOptional

Created at from

created_at_tostringOptional

Created at to

Responses
get
/api/v1/tags
200

Listing tags

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
namestringRequired

Tag name (minimum 1 and maximum 255 characters)

product_idsstringOptional

List of product ids associate to this tag

Responses
post
/api/v1/tags
200

Creating a tag

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Query parameters
idintegerRequired

Catalog user id

Responses
get
/api/v1/users/{id}
200

Getting a specific user

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
idintegerRequired

Catalog user id

clear_merged_into_user_idstringOptional

It will clear merged_into_user_id field of user if set to true

custom_fieldsstringOptional

An object containing custom field values, e.g. { "phone": "867-5309" }. Custom field values must be strings or nulls, anything else will result in a 400 response. If Catalog already has a value for a given key, it will be overwritten, or if the new value is null, it will be deleted. If Catalog does not already have a value for a given key, it will be added. UDFs that are not included in the request will remain unchanged.

Responses
put
/api/v1/users/{id}
200

Updating a specific user

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Body
idintegerRequired

Catalog user id

only_orders_and_enrollmentsstringOptional

Delete only orders and enrollments (user dependencies) except user and related account admins OR delete user dependencies including user and related account admins

Responses
delete
/api/v1/users/{id}
200

Deleting a specific user with dependencies

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
registered_in_catalogbooleanOptional

If true, only queries users registered through Catalog. If false, only queries users registered through Canvas. If not specified, queries all users.

canvas_user_idintegerOptional

Canvas user id

created_at_fromstringOptional

Created at from. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

created_at_tostringOptional

Created at to. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

updated_at_fromstringOptional

Updated at from. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

updated_at_tostringOptional

Updated at to. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.

Responses
get
/api/v1/users
200

List users

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
user_namestringRequired

Full user name

first_namestringOptional

First name

last_namestringOptional

Last name

email_addressstringRequired

E-mail address (will also serve as login)

registered_account_idstringOptional

ID of subcatalog to associate with user (optional). If not specified, the root account ID used to generate the API key will be registered_account_id

custom_fieldsstringOptional

Hash of custom field values, e.g. { "phone": "867-5309" } (optional)

Responses
post
/api/v1/users
200

Registering a user

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Path parameters
idintegerRequired
Responses
get
/api/v1/progresses/{id}
200

Getting a specific progress

get
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Query parameters
listing_idintegerRequired

Id of the Listing

Responses
get
/api/v1/certificates
200

Getting a listing certificate

post
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
days_to_expirestringOptional

Days until the certificate expires after it is awarded. Defaults to null. Must not be present when expires_at is present.

expires_atstringOptional

Date of certificate expiration. Defaults to null. Must not be present when days_to_expire is present.

Responses
201

Creating a certificate

application/json
post
/api/v1/certificates
201

Creating a certificate

delete
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
nullify_requirements_completed_atstringOptional

Should nullify the requirements_completed_at for the enrollments, defaults to false

Responses
delete
/api/v1/certificates
204

Deleting a certificate

put
Authorizations
AuthorizationstringRequired

API Token based authentication. Use format: Token token="your-api-key"

Body
Responses
put
/api/v1/certificates/revoke_users_certificate
200

Revoking users certificate

Last updated

Was this helpful?