For the complete documentation index, see llms.txt. This page is also available as Markdown.

APIs

List account admins

get
Authorizations
AuthorizationstringRequired
Query parameters
pageintegerOptional

Page number (defaults to 0)

sortstringOptional

Sort field (only 'name')

searchstringOptional

Search query to filter account admins

per_pageintegerOptional

Results per page

Responses
200

account admins listed

application/json
total_elementsintegerRequired

Total number of admins across all pages

page_numberintegerRequired

Current page number (0-based)

sizeintegerRequired

Page size

permission_keysstring[]Required

All available permission keys

total_pagesintegerRequired

Total number of pages

get/api/v1/account_admins
200

account admins listed

Create an account admin association

post

Creates a new account admin or adds account associations to an existing admin. account_ids may contain multiple account IDs.

Authorizations
AuthorizationstringRequired
Body
canvas_user_idstringRequired

Canvas user ID

user_namestringRequired

Full name of the user

email_addressstringRequired

Email address of the user

account_idsinteger[]Required

Account IDs to associate with the user

Responses
201

account admin created

application/json
canvas_user_idintegerRequired

Canvas user ID of the admin

account_idsinteger[]Required

Account IDs the user now administers

post/api/v1/account_admins
201

account admin created

Remove an admin from a specific account

delete

Removes the association between a user and a specific account.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Canvas user ID of the admin

account_idintegerRequired

Account ID to remove

Responses
204

association removed

No content

delete/api/v1/account_admins/{id}/accounts/{account_id}
204

association removed

No content

Remove all account associations for an admin

delete

Removes all account associations for the specified user.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Canvas user ID of the admin

Responses
204

all associations removed

No content

delete/api/v1/account_admins/{id}
204

all associations removed

No content

Get products analytics

post
Authorizations
AuthorizationstringRequired
Body
account_idsinteger[]Optional

Restrict to these account ids

product_idsinteger[]Optional

Restrict to these product ids

creation_date_fromstring · date-timeOptional
creation_date_tostring · date-timeOptional
enrollment_count_minintegerOptional
enrollment_count_maxintegerOptional
completion_count_minintegerOptional
completion_count_maxintegerOptional
dropped_count_minintegerOptional
dropped_count_maxintegerOptional
listing_price_minnumberOptional
listing_price_maxnumberOptional
revenue_minnumberOptional
revenue_maxnumberOptional
certificate_offeredbooleanOptional
Responses
200

product analytics rows

application/json
post/api/v1/analytics/products
200

product analytics rows

Get enrollments analytics

post
Authorizations
AuthorizationstringRequired
Body
account_idsinteger[]Optional

Restrict to these account ids

product_idsinteger[]Optional

Restrict to these product ids

student_idsinteger[]Optional
student_canvas_user_idsinteger[]Optional
enrollment_date_fromstring · date-timeOptional
enrollment_date_tostring · date-timeOptional
completion_date_fromstring · date-timeOptional
completion_date_tostring · date-timeOptional
Responses
200

enrollment analytics rows

application/json
post/api/v1/analytics/enrollments
200

enrollment analytics rows

Get orders analytics

post
Authorizations
AuthorizationstringRequired
Body
account_idsinteger[]Optional

Restrict to these account ids

product_idsinteger[]Optional

Restrict to these product ids

student_idsinteger[]Optional
student_canvas_user_idsinteger[]Optional
purchaser_idsinteger[]Optional
purchaser_canvas_user_idsinteger[]Optional
bulk_purchases_onlybooleanOptional
purchase_date_fromstring · date-timeOptional
purchase_date_tostring · date-timeOptional
order_feenumberOptional
listing_price_minnumberOptional
listing_price_maxnumberOptional
revenue_minnumberOptional
revenue_maxnumberOptional
Responses
200

order analytics rows

application/json
post/api/v1/analytics/orders
200

order analytics rows

Get users analytics

post
Authorizations
AuthorizationstringRequired
Body
account_idsinteger[]Optional

Restrict to these account ids

product_idsinteger[]Optional

Restrict to these product ids

student_idsinteger[]Optional
student_canvas_user_idsinteger[]Optional
enrollment_count_minintegerOptional
enrollment_count_maxintegerOptional
last_enrollment_date_fromstring · date-timeOptional
last_enrollment_date_tostring · date-timeOptional
registration_date_fromstring · date-timeOptional
registration_date_tostring · date-timeOptional
Responses
200

user analytics rows

application/json
post/api/v1/analytics/users
200

user analytics rows

Get a specific applicant record

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this applicant

Responses
200

applicant found

application/json
get/api/v1/applicants/{id}
200

applicant found

List applicants

get
Authorizations
AuthorizationstringRequired
Query parameters
listing_idintegerOptional

Only include applicants for the specified listing

statusstringOptional

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

Responses
200

applicants listed

application/json
get/api/v1/applicants
200

applicants listed

Delete applicants

delete
Authorizations
AuthorizationstringRequired
Query parameters
listing_idintegerRequired

Only delete applicants for the specified listing

canvas_user_idintegerOptional

Only delete applicants with the specified Canvas user ID

Responses
204

applicants deleted

No content

delete/api/v1/applicants
204

applicants deleted

No content

Get a specific bulk enrollment

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Order ID

Responses
200

bulk enrollment found

application/json
get/api/v1/order_items/history/bulk_enrollments/{id}
200

bulk enrollment found

List bulk enrollments

get
Authorizations
AuthorizationstringRequired
Query parameters
fromstring · date-timeOptional

Only include bulk enrollments from this date

tostring · date-timeOptional

Only include bulk enrollments to this date

canvas_user_idsinteger[]Optional

Only include bulk enrollments for the specified Canvas user IDs

Responses
200

bulk enrollments listed

application/json
get/api/v1/order_items/history/bulk_enrollments
200

bulk enrollments listed

List catalogs

get
Authorizations
AuthorizationstringRequired
Responses
200

catalogs listed

application/json
get/api/v1/catalogs
200

catalogs listed

Get a specific catalog

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this catalog

Responses
200

catalog found

application/json
get/api/v1/catalogs/{id}
200

catalog found

Get a listing certificate

get
Authorizations
AuthorizationstringRequired
Query parameters
certificate[listing_id]integerRequired

Id of the listing

Responses
200

certificate found

application/json
get/api/v1/certificates
200

certificate found

Create a certificate

post
Authorizations
AuthorizationstringRequired
Body
days_to_expireintegerOptional

Days until expiry after award; mutually exclusive with expires_at

expires_atstringOptional

Fixed expiry datetime; mutually exclusive with days_to_expire

Responses
201

certificate created

application/json
post/api/v1/certificates
201

certificate created

Delete a certificate

delete
Authorizations
AuthorizationstringRequired
Body
nullify_requirements_completed_atbooleanOptional

Nullify requirements_completed_at for enrollments (default: false)

Responses
204

certificate deleted

No content

delete/api/v1/certificates
204

certificate deleted

No content

Revoke users' certificates

put
Authorizations
AuthorizationstringRequired
Body
Responses
200

certificates revoked

application/json
put/api/v1/certificates/revoke_users_certificate
200

certificates revoked

List completed certificates

get
Authorizations
AuthorizationstringRequired
Query parameters
user_idintegerOptional

Canvas ID of the user (required unless canvas_course_id is given)

canvas_course_idintegerOptional

Canvas course ID; filter completions to a specific course

only_certificatesbooleanOptional

When true, exclude courses without certificates (default: include all)

Responses
200

completions listed

application/json
get/api/v1/completed_certificates
200

completions listed

List courses

get
Authorizations
AuthorizationstringRequired
Query parameters
querystringOptional

General search query (title OR description OR tags)

titlestringOptional

Search by title

tag_namestringOptional

Search by tag name

is_enrollablebooleanOptional

Filter by whether currently open for enrollment

Responses
200

courses listed

application/json
get/api/v1/courses
200

courses listed

Create a course

post
Authorizations
AuthorizationstringRequired
Body
Responses
201

course created

application/json
post/api/v1/courses
201

course created

Get a specific course

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this course

Responses
200

course found

application/json
get/api/v1/courses/{id}
200

course found

Update a course

put
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this course

Body
Responses
204

course updated

No content

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

course updated

No content

Delete a course

delete
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this course

Responses
204

course deleted

No content

delete/api/v1/courses/{id}
204

course deleted

No content

Archive or reactivate courses

put
Authorizations
AuthorizationstringRequired
Body
product_actionstringRequired

Action to perform: archive or reactivate

product_idsinteger[]Required

Product ids to act on

Responses
200

all courses processed

No content

put/api/v1/courses/archived

No content

Update course SKUs from CSV

put
Authorizations
AuthorizationstringRequired
Body
string · binaryOptional
Responses
200

SKU import enqueued

No content

put/api/v1/courses/update_skus
200

SKU import enqueued

No content

List email domain sets

get
Authorizations
AuthorizationstringRequired
Query parameters
searchstringOptional

Filter email domain sets by name

exactstringOptional

When set, only return exact name matches

Responses
200

email domain sets listed

application/json
get/api/v1/email_domain_sets
200

email domain sets listed

Get a specific email domain set

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Email domain set ID

Responses
200

email domain set found

application/json
idintegerRequired

Email domain set ID

namestringRequired

Name of the email domain set

account_idintegerRequired

Owning account ID

canvas_root_account_uuidstringRequired
created_atstringRequired
updated_atstringRequired
deleted_atstring · nullableRequired
get/api/v1/email_domain_sets/{id}
200

email domain set found

Update an email domain set

put
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Email domain set ID

Body
Responses
200

email domain set updated

application/json
put/api/v1/email_domain_sets/{id}
200

email domain set updated

List promotions for an email domain set

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Email domain set ID

Responses
200

promotions listed

application/json
get/api/v1/email_domain_sets/{id}/promotions
200

promotions listed

List enrollments

get
Authorizations
AuthorizationstringRequired
Query parameters
listing_idintegerOptional

Only include enrollments for the specified listing

Responses
200

enrollments listed

application/json
get/api/v1/enrollments
200

enrollments listed

Create an enrollment

post
Authorizations
AuthorizationstringRequired
Query parameters
create_orderbooleanOptional

Create an order record for this enrollment (default: true)

send_emailbooleanOptional

Send an enrollment email to the user (default: true)

Body
Responses
201

enrollment created

application/json
post/api/v1/enrollments
201

enrollment created

Get a specific enrollment

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this enrollment

Responses
200

enrollment found

application/json
get/api/v1/enrollments/{id}
200

enrollment found

Delete an enrollment

delete

An additional request must be made to Canvas to delete the enrollment and remove it from the Catalog Student Dashboard.

Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this enrollment

Responses
204

enrollment deleted

No content

delete/api/v1/enrollments/{id}
204

enrollment deleted

No content

List orders

get
Authorizations
AuthorizationstringRequired
Query parameters
fromstring · date-timeOptional

Earliest date/time to return (e.g. 2018-01-01T00:00:00Z, UTC)

tostring · date-timeOptional

Latest date/time to return

canvas_user_idintegerOptional

Return only orders for the specified Canvas user ID

completedbooleanOptional

When set, only return orders completed successfully

Responses
200

orders listed

application/json
get/api/v1/orders
200

orders listed

Get a specific order

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this order

Responses
200

order found

application/json
get/api/v1/orders/{id}
200

order found

List programs

get
Authorizations
AuthorizationstringRequired
Query parameters
querystringOptional

General search query

tag_namestringOptional

Search by tag name

Responses
200

programs listed

application/json
get/api/v1/programs
200

programs listed

Create a program

post
Authorizations
AuthorizationstringRequired
Body
Responses
201

program created

application/json
post/api/v1/programs
201

program created

Get a specific program

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this program

Responses
200

program found

application/json
get/api/v1/programs/{id}
200

program found

Update a program

put
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this program

Body
Responses
204

program updated

No content

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

program updated

No content

Delete a program

delete
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Identifier for this program

Responses
204

program deleted

No content

delete/api/v1/programs/{id}
204

program deleted

No content

Archive or reactivate programs

put
Authorizations
AuthorizationstringRequired
Body
product_actionstringRequired

archive or reactivate

product_idsinteger[]Required
Responses
200

all programs processed

No content

put/api/v1/programs/archived

No content

Get a specific progress

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Progress ID

Responses
200

progress found

application/json
get/api/v1/progresses/{id}
200

progress found

List tags

get
Authorizations
AuthorizationstringRequired
Query parameters
product_idsstringOptional

Comma-separated product ids (max 20)

namestringOptional

Search tag name and associated product names

has_categorybooleanOptional

Tag has a category or not

Responses
200

tags listed

application/json
get/api/v1/tags
200

tags listed

Create a tag

post
Authorizations
AuthorizationstringRequired
Body
namestringRequired

Tag name (1-255 characters)

product_idsinteger[]Optional

Product ids to associate

Responses
200

tag created

application/json
idintegerRequired

Tag id

account_idintegerOptional

Account id

namestringOptional

Tag name

created_atstringRequired

Tag created at

updated_atstringRequired

Tag updated at

post/api/v1/tags
200

tag created

Get a specific tag

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Tag id

Responses
200

tag found

application/json
idintegerRequired

Tag id

account_idintegerOptional

Account id

namestringOptional

Tag name

created_atstringRequired

Tag created at

updated_atstringRequired

Tag updated at

get/api/v1/tags/{id}
200

tag found

Update a tag

put
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Tag id

Body
namestringRequired

New tag name (1-255 characters)

Responses
200

tag updated

application/json
idintegerRequired

Tag id

account_idintegerOptional

Account id

namestringOptional

Tag name

created_atstringRequired

Tag created at

updated_atstringRequired

Tag updated at

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

tag updated

Delete a specific tag

delete
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Tag id

Responses
200

tag deleted

application/json
idintegerRequired

Tag id

account_idintegerOptional

Account id

namestringOptional

Tag name

created_atstringRequired

Tag created at

updated_atstringRequired

Tag updated at

is_deletedbooleanRequired

True to indicate the tag is deleted

delete/api/v1/tags/{id}
200

tag deleted

Delete multiple tags

delete
Authorizations
AuthorizationstringRequired
Body
idsinteger[]Required

Tag IDs to delete

Responses
200

tags deleted

application/json
delete/api/v1/tags/bulk
200

tags deleted

Get a specific user

get
Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Catalog user id

Responses
200

user found

application/json
get/api/v1/users/{id}
200

user found

Update a specific user

put

Set clear_merged_into_user_id to true to resolve the "Current user has been deleted or merged. Please re-login" login error.

Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Catalog user id

Body
clear_merged_into_user_idbooleanOptional

Clear the merged_into_user_id field when true

custom_fieldsobjectOptional

Custom field values (strings or null); omitted keys are unchanged

Responses
200

user updated

application/json
put/api/v1/users/{id}
200

user updated

Delete a specific user with dependencies

delete

Deletes the user and dependencies. When only_orders_and_enrollments is true, deletes only orders, enrollments, payments, bulk invitations, and applicants — not the user or related account admins.

Authorizations
AuthorizationstringRequired
Path parameters
idintegerRequired

Catalog user id

Query parameters
only_orders_and_enrollmentsbooleanOptional

Delete only user dependencies, not the user itself

Responses
200

user (and/or dependencies) deleted

No content

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

user (and/or dependencies) deleted

No content

List users

get
Authorizations
AuthorizationstringRequired
Query parameters
registered_in_catalogbooleanOptional

true = Catalog-registered only; false = Canvas-registered only; omit for all

canvas_user_idintegerOptional

Canvas user id

created_at_fromstring · date-timeOptional

Created at from (UTC)

created_at_tostring · date-timeOptional

Created at to (UTC)

Responses
200

users listed

application/json
get/api/v1/users
200

users listed

Register a user

post
Authorizations
AuthorizationstringRequired
Body
user_namestringRequired

Full user name

first_namestringOptional
last_namestringOptional
email_addressstringRequired

E-mail address (also the login)

registered_account_idintegerOptional

Subcatalog to associate (defaults to the API key root account)

custom_fieldsobjectOptional

Custom field values

Responses
200

user registered

application/json
post/api/v1/users
200

user registered

Last updated

Was this helpful?