APIs
GET /api/v1/progresses/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific progress
{
"progress": {
"id": 1,
"account_id": 1,
"canvas_user_id": null,
"completion_percent": null,
"workflow_state": "queued",
"payload": {},
"created_at": "2025/06/24 07:20:53 +0000",
"updated_at": "2025/06/24 07:20:53 +0000"
}
}
Canvas Id of the user
Indicates if the courses without certificates should be included, default is to include all courses
GET /api/v1/completed_certificates HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing user's completions with a certificate
{
"completed_certificates": [
{
"canvas_course_id": 1,
"catalog_title": "Course 1",
"canvas_course_name": "Course 1",
"certificate_url": "https://www.domain-2.com/certificates/certificate-numero-1-1.pdf",
"canvas_course_workflow_state": "available",
"completed_at": null
}
]
}
GET /api/v1/courses HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing courses
{
"courses": [
{
"id": 6,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_5",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_5",
"listing_path": "course-path-5",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 9,
"name": "Domain Account 10"
},
"type": "Course",
"title": "Course 5",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_5",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Another Tag",
"Tag"
],
"listing_url": "http://www.my-catalog.edu/courses/course-path-5",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 5
}
}
]
}
Listing SKU
POST /api/v1/courses HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 524
{
"course": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": "text",
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"visibility": "text",
"enrollment_cap": "text",
"enrollment_fee": "text",
"allowed_payment_types": "text",
"days_to_complete": "text",
"account_id": "text",
"list_order": "text",
"waitlist": "text",
"waitlist_cap": "text",
"listing_image": "text",
"tag_names": [
"text"
],
"show_free_banner": "text",
"associated_account_ids": "text",
"canvas_course_id": "text",
"credits": "text"
},
"sku": "text"
}
Creating a course
{
"course": {
"id": 2,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": 150,
"description": "This is a very important course.",
"enrollment_fee": 49.99,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 4,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "This is an example teaser",
"listing_path": "course-1",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 4,
"name": "Domain Account 4"
},
"type": "Course",
"title": "Course 1",
"list_order": 123,
"waitlist": true,
"waitlist_cap": 25,
"sku": "abc1234",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Tag",
"Another Tag"
],
"listing_url": "http://www.my-catalog.edu/courses/course-1",
"start_date": null,
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 10010010
}
}
}
GET /api/v1/courses/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific course
{
"course": {
"id": 5,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_4",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_4",
"listing_path": "course-path-4",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 7,
"name": "Domain Account 7"
},
"type": "Course",
"title": "Course 4",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_4",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Another Tag",
"Tag"
],
"listing_url": "http://www.my-catalog.edu/courses/course-path-4",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 4
}
}
}
Listing SKU
PUT /api/v1/courses/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 524
{
"course": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": "text",
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"visibility": "text",
"enrollment_cap": "text",
"enrollment_fee": "text",
"allowed_payment_types": "text",
"days_to_complete": "text",
"account_id": "text",
"list_order": "text",
"waitlist": "text",
"waitlist_cap": "text",
"listing_image": "text",
"tag_names": [
"text"
],
"show_free_banner": "text",
"associated_account_ids": "text",
"canvas_course_id": "text",
"credits": "text"
},
"sku": "text"
}
Updating a course
{}
DELETE /api/v1/courses/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific course
{}
CSV containing a Catalog Course ID and Catalog Course SKU header
PUT /api/v1/courses/update_skus HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 23
{
"attachment": "binary"
}
Updating course sku
{
"progress": {
"id": 2,
"account_id": 8,
"canvas_user_id": null,
"completion_percent": null,
"workflow_state": "queued",
"payload": {},
"created_at": "2025/06/24 07:20:54 +0000",
"updated_at": "2025/06/24 07:20:54 +0000"
}
}
GET /api/v1/programs/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific program
{
"program": {
"id": 7,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_6",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 9,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_6",
"listing_path": "program-path-6",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Program",
"title": "Program 6",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Another Tag",
"Tag"
],
"listing_url": "http://www.my-catalog.edu/programs/program-path-6",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 8,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_7",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_7",
"listing_path": "program-path-7",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Program",
"title": "Program 7",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-7",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 10,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_9",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_9",
"listing_path": "course-path-9",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Course",
"title": "Course 9",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_6",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-9",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 6
}
}
]
},
{
"id": 9,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_8",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_8",
"listing_path": "program-path-8",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Program",
"title": "Program 8",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-8",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 11,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_10",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_10",
"listing_path": "course-path-10",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Course",
"title": "Course 10",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_7",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-10",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 7
}
},
{
"id": 12,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_11",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_11",
"listing_path": "course-path-11",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 10,
"name": "Domain Account 11"
},
"type": "Course",
"title": "Course 11",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_8",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-11",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 8
}
}
]
}
]
}
}
Listing SKU
PUT /api/v1/programs/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 527
{
"program": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": "text",
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"visibility": "text",
"enrollment_cap": "text",
"enrollment_fee": "text",
"allowed_payment_types": "text",
"days_to_complete": "text",
"account_id": "text",
"list_order": "text",
"waitlist": "text",
"waitlist_cap": "text",
"listing_image": "text",
"tag_names": [
"text"
],
"show_free_banner": "text",
"associated_account_ids": "text",
"requirement_ids": "text",
"sequential": "text"
},
"sku": "text"
}
Updating a program
{}
DELETE /api/v1/programs/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific program
{}
GET /api/v1/programs HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing programs
{
"programs": [
{
"id": 13,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_12",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 9,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_12",
"listing_path": "program-path-12",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Program",
"title": "Program 12",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Another Tag",
"Tag"
],
"listing_url": "http://www.my-catalog.edu/programs/program-path-12",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 14,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_13",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_13",
"listing_path": "program-path-13",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Program",
"title": "Program 13",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-13",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 16,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_15",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_15",
"listing_path": "course-path-15",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 15",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_9",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-15",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 9
}
}
]
},
{
"id": 15,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_14",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_14",
"listing_path": "program-path-14",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Program",
"title": "Program 14",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-14",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 17,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_16",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_16",
"listing_path": "course-path-16",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 16",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_10",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-16",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 10
}
},
{
"id": 18,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_17",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_17",
"listing_path": "course-path-17",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 17",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_11",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-17",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 11
}
}
]
}
]
},
{
"id": 14,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_13",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_13",
"listing_path": "program-path-13",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Program",
"title": "Program 13",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-13",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 16,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_15",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_15",
"listing_path": "course-path-15",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 15",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_9",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-15",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 9
}
}
]
},
{
"id": 15,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_14",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_14",
"listing_path": "program-path-14",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Program",
"title": "Program 14",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": null,
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/programs/program-path-14",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": [
{
"id": 17,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_16",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_16",
"listing_path": "course-path-16",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 16",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_10",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-16",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 10
}
},
{
"id": 18,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_17",
"enrollment_fee": 0,
"created_at": "2025/06/24 07:20:54 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:54 +0000",
"short_description": "teaser_17",
"listing_path": "course-path-17",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 11,
"name": "Domain Account 12"
},
"type": "Course",
"title": "Course 17",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_11",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-17",
"start_date": "2025/06/17 07:20:54 +0000",
"end_date": "2025/07/01 07:20:54 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"canvas_course": {
"id": 11
}
}
]
}
]
}
Listing SKU
POST /api/v1/programs HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 527
{
"program": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": "text",
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"visibility": "text",
"enrollment_cap": "text",
"enrollment_fee": "text",
"allowed_payment_types": "text",
"days_to_complete": "text",
"account_id": "text",
"list_order": "text",
"waitlist": "text",
"waitlist_cap": "text",
"listing_image": "text",
"tag_names": [
"text"
],
"show_free_banner": "text",
"associated_account_ids": "text",
"requirement_ids": "text",
"sequential": "text"
},
"sku": "text"
}
Creating a program
{
"program": {
"id": 19,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": 150,
"description": "This is a very awesome program.",
"enrollment_fee": 49.99,
"created_at": "2025/06/24 07:20:55 +0000",
"credits": null,
"measurement": "credit",
"updated_at": "2025/06/24 07:20:55 +0000",
"short_description": "This is an example teaser",
"listing_path": "program-1",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 12,
"name": "Domain Account 13"
},
"type": "Program",
"title": "Program 1",
"list_order": 123,
"waitlist": true,
"waitlist_cap": 12,
"sku": "abc1234",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [
"Tag",
"Another Tag"
],
"listing_url": "http://www.my-catalog.edu/programs/program-1",
"start_date": null,
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"sequential": true,
"requirements": []
}
}
GET /api/v1/tags/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific tag
{
"id": 17,
"account_id": 1,
"name": "Tag 1",
"assigned_listings": [
{
"id": 3,
"title": "Course 1",
"type": "COURSE",
"canvas_course_id": 4
}
],
"assigned_categories": [
{
"id": 12,
"account_id": 5,
"tag_id": 17,
"created_at": "2023-08-22T06:33:38.991906Z",
"updated_at": "2023-08-24T06:33:38.991906Z"
}
],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z"
}
New tag name (minimum 1 and maximum 255 characters)
PUT /api/v1/tags/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 15
"name='text'"
Updating a specific tag
{
"id": 17,
"account_id": 1,
"name": "New tag name",
"assigned_listings": [
{
"id": 3,
"title": "Course 1",
"type": "COURSE",
"canvas_course_id": 4
}
],
"assigned_categories": [
{
"id": 12,
"account_id": 5,
"tag_id": 17,
"created_at": "2023-08-22T06:33:38.991906Z",
"updated_at": "2023-08-24T06:33:38.991906Z"
}
],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z"
}
DELETE /api/v1/tags/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific tag
{
"id": 17,
"account_id": 1,
"name": "Tag 1",
"assigned_listings": [],
"assigned_categories": [],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z",
"is_deleted": true
}
List of product ids (maximum 20 ids)
Search value which will be searched in tag name and associated products names
Tag has category or not
Updated at from
Updated at to
Created at from
Created at to
GET /api/v1/tags HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing tags
{
"tags": [
{
"id": 17,
"account_id": 1,
"name": "Tag 1",
"assigned_listings": [
{
"id": 3,
"title": "Course 1",
"type": "COURSE",
"canvas_course_id": 4
}
],
"assigned_categories": [
{
"id": 12,
"account_id": 5,
"tag_id": 17,
"created_at": "2023-08-22T06:33:38.991906Z",
"updated_at": "2023-08-24T06:33:38.991906Z"
}
],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z"
}
]
}
Tag name (minimum 1 and maximum 255 characters)
List of product ids associate to this tag
POST /api/v1/tags HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 36
"name='text'&product_ids='text'"
Creating a tag
{
"id": 17,
"account_id": 1,
"name": "Tag 1",
"assigned_listings": [
{
"id": 1,
"title": "Course 1",
"type": "COURSE",
"canvas_course_id": 2
},
{
"id": 2,
"title": "Course 2",
"type": "COURSE",
"canvas_course_id": 3
},
{
"id": 3,
"title": "Program 1",
"type": "PROGRAM"
}
],
"assigned_categories": [],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z"
}
Only include enrollments for the specified listing
GET /api/v1/enrollments HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing enrollments
{
"enrollments": [
{
"id": 5,
"user": {
"id": 1
},
"listing": {
"id": 30,
"title": "Course 28",
"type": "Course",
"canvas_course_id": 18
},
"enrolled_at": "2025/06/24 07:20:55 +0000",
"status": "active",
"requirement_details": {
"requirement_count": null,
"requirement_completed_count": null,
"requirement_completed_percentage": null
}
}
]
}
Create an order record for this enrollment, defaults to true
Send an enrollment email to the user, defaults to true
POST /api/v1/enrollments HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 102
{
"create_order": "text",
"send_email": "text",
"enrollment": {
"listing_id": "text",
"canvas_user_id": "text"
}
}
Creating an enrollment
{
"enrollment": {
"id": 2,
"user": {
"id": 1
},
"listing": {
"id": 27,
"title": "Course 25",
"type": "Course",
"canvas_course_id": 15
},
"enrolled_at": "2025/06/24 07:20:55 +0000",
"status": "active",
"requirement_details": {
"requirement_count": 10,
"requirement_completed_count": 4,
"requirement_completed_percentage": 40
}
}
}
GET /api/v1/enrollments/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific enrollment
{
"enrollment": {
"id": 4,
"user": {
"id": 1
},
"listing": {
"id": 29,
"title": "Course 27",
"type": "Course",
"canvas_course_id": 17
},
"enrolled_at": "2025/06/24 07:20:55 +0000",
"status": "active",
"requirement_details": {
"requirement_count": 10,
"requirement_completed_count": 4,
"requirement_completed_percentage": 40
}
}
}
DELETE /api/v1/enrollments/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Deleting an enrollment
{
"id": "text",
"user": {
"id": "text"
},
"listing": {
"id": "text",
"title": "text",
"type": "text",
"canvas_course_id": "text"
},
"enrolled_at": "text",
"status": "text",
"requirement_details": {
"requirement_count": "text",
"requirement_completed_count": "text",
"requirement_completed_percentage": "text"
}
}
Catalog user id
GET /api/v1/users/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific user
{
"user": {
"id": 2,
"root_account_id": 27,
"canvas_user_id": 2,
"registered_account_id": 27,
"canvas_root_account_uuid": "GUxMJJhiZ8ugUdRADskc0nJrcMXuYYIwV15aWiMO",
"canvas_user_uuid": "573SBAKMeMX3pAa6iOcml1a81xzsVaomatXUBhUT",
"user_name": "Firstname Lastname",
"first_name": "Firstname",
"last_name": "Lastname",
"email_address": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024-04-11T15:33:45.503Z",
"updated_at": "2024-04-11T15:33:45.563514Z",
"merged_into_user_id": 4,
"time_zone": "Etc/UTC"
}
}
Catalog user id
It will clear merged_into_user_id field of user if set to true
PUT /api/v1/users/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 43
"id=1&clear_merged_into_user_id='text'"
Updating a specific user
{
"user": {
"id": 4,
"root_account_id": 29,
"canvas_user_id": 2,
"registered_account_id": 29,
"canvas_root_account_uuid": "GUxMJJhiZ8ugUdRADskc0nJrcMXuYYIwV15aWiMO",
"canvas_user_uuid": "573SBAKMeMX3pAa6iOcml1a81xzsVaomatXUBhUT",
"user_name": "Firstname Lastname",
"first_name": "Firstname",
"last_name": "Lastname",
"email_address": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024-04-11T15:33:45.503Z",
"updated_at": "2024-04-11T15:33:45.563514Z",
"merged_into_user_id": null,
"time_zone": "Etc/UTC"
}
}
Catalog user id
Delete only orders and enrollments (user dependencies) except user and related account admins OR delete user dependencies including user and related account admins
DELETE /api/v1/users/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 45
"id=1&only_orders_and_enrollments='text'"
Deleting a specific user with dependencies
{}
If true, only queries users registered through Catalog. If false, only queries users registered through Canvas. If not specified, queries all users.
Canvas user id
Created at from. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.
Created at to. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.
Updated at from. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.
Updated at to. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.
GET /api/v1/users HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
List users
{
"users": [
{
"id": 3,
"root_account_id": 28,
"canvas_user_id": 2,
"registered_account_id": 28,
"canvas_root_account_uuid": "GUxMJJhiZ8ugUdRADskc0nJrcMXuYYIwV15aWiMO",
"canvas_user_uuid": "573SBAKMeMX3pAa6iOcml1a81xzsVaomatXUBhUT",
"user_name": "Firstname Lastname",
"first_name": "Firstname",
"last_name": "Lastname",
"email_address": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024-04-11T15:33:45.503Z",
"updated_at": "2024-04-11T15:33:45.563514Z",
"merged_into_user_id": 4,
"time_zone": "Etc/UTC"
}
]
}
Full user name
First name
Last name
E-mail address (will also serve as login)
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
Hash of custom field values, e.g. { "phone": "867-5309" } (optional)
POST /api/v1/users HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 136
"user_name='text'&first_name='text'&last_name='text'&email_address='text'®istered_account_id='text'&custom_fields='text'"
Registering a user
{
"user": {
"id": 5,
"root_account_id": 30,
"canvas_user_id": 2,
"registered_account_id": 30,
"canvas_root_account_uuid": "GUxMJJhiZ8ugUdRADskc0nJrcMXuYYIwV15aWiMO",
"canvas_user_uuid": "573SBAKMeMX3pAa6iOcml1a81xzsVaomatXUBhUT",
"user_name": "Firstname Lastname",
"first_name": "Firstname",
"last_name": "Lastname",
"email_address": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024-04-11T15:33:45.503Z",
"updated_at": "2024-04-11T15:33:45.563514Z",
"confirmation_url": "http://service.com/register/OBtRMuSPiFUAyStz47cbAiOHM",
"terms_of_use": true,
"locale": "en"
}
}
List of account ids
List of product ids
List of product statuses (OPEN, CLOSED, and/or DELETED)
Creation date from
Creation date to
Enrollment count minimum
Enrollment count maximum
Completion count minimum
Completion count maximum
Dropped count minimum
Dropped count maximum
Listing price minimum
Listing price maximum
List of promotion code states (APPLIED and/or NOT_APPLIED)
Revenue minimum
Revenue maximum
Certificate offered for the product
POST /api/v1/analytics/products HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 443
"account_ids='text'&product_ids='text'&product_statuses='text'&creation_date_from='text'&creation_date_to='text'&enrollment_count_min='text'&enrollment_count_max='text'&completion_count_min='text'&completion_count_max='text'&dropped_count_min='text'&dropped_count_max='text'&listing_price_min='text'&listing_price_max='text'&promo_codes='text'&revenue_min='text'&revenue_max='text'&certificate_offered='text'"
Getting products analytics
{
"products": [
{
"account_id": 3,
"account_name": "Sub-Account 1",
"product": {
"name": "Course 1",
"id": 5,
"url": "https://www.my-catalog.edu/admin/products/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"created_at": "2023-06-05T14:46:59.944581+02:00",
"canvas_course_id": 11,
"enrollment_count": 7,
"dropped_count": 3,
"completion_count": 2,
"currency": "USD",
"list_price": 10,
"promo_codes": [
"PROMO1",
"PROMO2"
],
"discount": 10,
"revenue": 60,
"credits": 5,
"certificate_offered": true
}
]
}
List of account ids
List of product ids
List of product statuses (OPEN, CLOSED, and/or DELETED)
List of student ids(catalog user id)
List of student ids(canvas user id)
List of purchaser ids(catalog user id)
List of purchaser ids(canvas user id)
Bulk purchases only
Purchase date from
Purchase date to
List of order fee types (FREE and/or PAID)
Listing price minimum
Listing price maximum
List of promotion code states (APPLIED and/or NOT_APPLIED)
Revenue minimum
Revenue maximum
POST /api/v1/analytics/orders HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 400
"account_ids='text'&product_ids='text'&product_statuses='text'&student_ids='text'&student_canvas_user_ids='text'&purchaser_ids='text'&purchaser_canvas_user_ids='text'&bulk_purchases_only='text'&purchase_date_from='text'&purchase_date_to='text'&order_fee='text'&listing_price_min='text'&listing_price_max='text'&promo_codes='text'&revenue_min='text'&revenue_max='text'"
Getting orders analytics
{
"orders": [
{
"account_id": 3,
"account_name": "Sub-Account 1",
"product": {
"name": "Course 1",
"id": 5,
"url": "https://www.my-catalog.edu/admin/products/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"canvas_course_id": 11,
"purchaser": {
"id": 1,
"canvas_user_id": 1,
"name": "Purchaser 1",
"email": "[email protected]",
"canvas_user_id_string": "1"
},
"purchased_at": "2023-07-02T23:30:59.052239+02:00",
"order_id": 81,
"order_item_id": 123,
"reference_id": "PR-81-82",
"list_price": 5,
"currency": "USD",
"promo_codes": [
"PROMO1",
"PROMO2"
],
"discount": 10,
"revenue": 5,
"bulk_purchase": true,
"seat_count": 3,
"bulk_enrollments": [
{
"id": 141,
"canvas_user_id": 74,
"name": "User 17",
"email": "[email protected]",
"canvas_user_id_string": "74"
},
{
"id": 138,
"canvas_user_id": 73,
"name": "User 16",
"email": "[email protected]",
"canvas_user_id_string": "73"
}
],
"last_modification_date": "2023-07-09T23:30:59.052239+02:00",
"revenue_change_history": [
{
"modification_date": "2023-07-09T23:30:59.052239+02:00",
"new_value": 5,
"new_value_currency": "USD",
"old_value": 2,
"old_value_currency": "USD",
"reason": "This is very important",
"user_name": "[email protected]",
"user_profile_link": "https://www.my-catalog.edu/accounts/2/users/1"
},
{
"modification_date": "2023-07-08T23:30:59.052239+02:00",
"new_value": 2,
"new_value_currency": "USD",
"old_value": 11,
"old_value_currency": "USD",
"reason": "This is important",
"user_name": "[email protected]",
"user_profile_link": "https://www.my-catalog.edu/accounts/2/users/2"
}
]
}
]
}
List of account ids
List of student ids(catalog user id)
List of student ids(canvas user id)
Enrollment count minimum
Enrollment count maximum
Last enrollment date from
Last enrollment date to
Registration date from
Registration date to
List of registration sources (CANVAS and/or CATALOG)
POST /api/v1/analytics/users HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 294
"account_ids='text'&student_ids='text'&student_canvas_user_ids='text'&enrollment_count_min='text'&enrollment_count_max='text'&last_enrollment_date_from='text'&last_enrollment_date_to='text'®istration_date_from='text'®istration_date_to='text'®istered_through='text'"
Getting users analytics
{
"users": [
{
"id": 150,
"canvas_user_id": 77,
"name": "User 19",
"email": "[email protected]",
"account_id": 3,
"account_name": "Sub-Account 1",
"registered_through": "CATALOG",
"registered_at": "2023-07-03T15:03:57.597+02:00",
"enrollment_count": 2,
"last_enrolled_at": "2023-07-06T17:30:50.991764+02:00",
"custom_fields": [
{
"key": "text_udf",
"value": "awesome udf"
},
{
"key": "checkbox_udf",
"value": "1"
}
]
}
]
}
List of account ids
List of product ids
List of product statuses (OPEN, CLOSED, and/or DELETED)
List of student ids(catalog user id)
List of student ids(canvas user id)
Enrollment date from
Enrollment date to
List of enrollment statuses (ACTIVE, COMPLETED, DROPPED and/or CONCLUDED)
Completion date from
Completion date to
POST /api/v1/analytics/enrollments HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 268
"account_ids='text'&product_ids='text'&product_statuses='text'&student_ids='text'&student_canvas_user_ids='text'&enrollment_date_from='text'&enrollment_date_to='text'&enrollment_statuses='text'&completion_date_from='text'&completion_date_to='text'"
Getting enrollments analytics
{
"enrollments": [
{
"id": 25,
"account_id": 3,
"account_name": "Sub-Account 1",
"product": {
"name": "Course 1",
"id": 5,
"url": "https://www.my-catalog.edu/admin/products/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"canvas_course_id": 11,
"student": {
"canvas_user_id": 1,
"name": "User 15",
"email": "[email protected]",
"canvas_user_id_string": "1"
},
"requirement_count": 4,
"requirement_completed_count": 2,
"requirement_completed_percentage": 2,
"created_at": "2023-06-05T14:46:59.944581+02:00",
"completed_at": "2023-06-29T12:13:27+02:00",
"enrollment_status": "COMPLETED",
"certificate_attainable": true,
"certificate_offered": true,
"custom_fields": [
{
"key": "text_udf",
"value": "awesome udf"
},
{
"key": "checkbox_udf",
"value": "1"
}
],
"certificate_url": "https://www.my-catalog.edu/admin/certificates/1.pdf?user_id=1"
}
]
}
GET /api/v1/applicants/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific applicant record
{
"applicant": {
"id": 1,
"user": {
"id": 1,
"name": "Applicant",
"email": "[email protected]"
},
"listing": {
"id": 31,
"title": "Course 29"
},
"notified_of_opening_at": null,
"status": "waitlist",
"created_at": "2025/06/24 07:20:56 +0000",
"updated_at": "2025/06/24 07:20:56 +0000"
}
}
Only include applicants for the specified listing
Only include applicants for the specified status (waitlist, accepted, declined, or expired)
GET /api/v1/applicants HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing applicants
{
"applicants": [
{
"id": 3,
"user": {
"id": 3,
"name": "Applicant",
"email": "[email protected]"
},
"listing": {
"id": 33,
"title": "Course 31"
},
"notified_of_opening_at": null,
"status": "waitlist",
"created_at": "2025/06/24 07:20:56 +0000",
"updated_at": "2025/06/24 07:20:56 +0000"
}
]
}
Only delete applicants for the specified listing
Only delete applicants with the specified canvas user id if specified
DELETE /api/v1/applicants HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 40
"listing_id=1&canvas_user_id='text'"
Delete applicants
{}
Order id
GET /api/v1/order_items/history/bulk_enrollments/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific bulk enrollment
{
"bulk_purchase": {
"order": {
"id": 2,
"created_at": "2024-12-20T12:12:29.066827Z",
"updated_at": "2024-12-20T12:12:30.892895Z",
"full_id": "2",
"account_id": 38,
"user_id": 187,
"canvas_user_id": 1,
"canvas_root_account_uuid": "39WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"source": "bulk_purchase",
"currency": "USD",
"purchased_at": "2024-12-20T12:12:30.892045Z",
"total": 6,
"email": "[email protected]",
"name": "Saul Goodman",
"items": [
{
"id": 61,
"created_at": "2024-12-20T12:12:29.068419Z",
"updated_at": "2024-12-20T12:12:29.068433Z",
"order_id": 2,
"item_id": 42,
"amount": 15,
"canvas_root_account_uuid": "39WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"discounted_amount": 6,
"quantity": 3,
"unit_price": 5
}
]
},
"product": {
"id": 42,
"visibility": "listed",
"enrollment_open": true,
"title": "Paid program",
"enrollment_fee": 5,
"account_id": 38,
"type": "Program",
"canvas_root_account_uuid": "39WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"waitlist": false,
"limited": false,
"started": false,
"program": true,
"course": false,
"ended": false
},
"bulk_invitations": [
{
"order_item_id": 61,
"invitation_id": 4,
"status": "created"
},
{
"order_item_id": 61,
"invitation_id": 5,
"status": "created"
},
{
"order_item_id": 61,
"invitation_id": 6,
"status": "created"
}
]
}
}
Only include bulk enrollments from this date
Only include bulk enrollments to this date
Only include bulk enrollments for the specified canvas user ids
GET /api/v1/order_items/history/bulk_enrollments HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing bulk enrollments
{
"bulk_enrollments": [
{
"bulk_purchase": {
"order": {
"id": 3,
"created_at": "2024-12-20T12:12:29.066827Z",
"updated_at": "2024-12-20T12:12:30.892895Z",
"full_id": "3",
"account_id": 40,
"user_id": 187,
"canvas_user_id": 1,
"canvas_root_account_uuid": "41WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"source": "bulk_purchase",
"currency": "USD",
"purchased_at": "2024-12-20T12:12:30.892045Z",
"total": 6,
"email": "[email protected]",
"name": "Saul Goodman",
"items": [
{
"id": 61,
"created_at": "2024-12-20T12:12:29.068419Z",
"updated_at": "2024-12-20T12:12:29.068433Z",
"order_id": 3,
"item_id": 42,
"amount": 15,
"canvas_root_account_uuid": "41WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"discounted_amount": 6,
"quantity": 3,
"unit_price": 5
}
]
},
"product": {
"id": 42,
"visibility": "listed",
"enrollment_open": true,
"title": "Paid program",
"enrollment_fee": 5,
"account_id": 40,
"type": "Program",
"canvas_root_account_uuid": "41WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"waitlist": false,
"limited": false,
"started": false,
"program": true,
"course": false,
"ended": false
},
"bulk_invitations": [
{
"order_item_id": 61,
"invitation_id": 4,
"status": "created"
},
{
"order_item_id": 61,
"invitation_id": 5,
"status": "created"
},
{
"order_item_id": 61,
"invitation_id": 6,
"status": "created"
}
]
}
}
]
}
Id of the Listing
GET /api/v1/certificates HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a listing certificate
{
"certificate": {
"id": 2,
"listing_id": 34,
"name": "Certificate of Training",
"active": true,
"template": "Congrats, {{student_name}}!",
"pdf_settings": {},
"created_at": "2025/06/24 07:20:56 +0000",
"updated_at": "2025/06/24 07:20:56 +0000",
"days_to_expire": null,
"expires_at": null
}
}
Days until the certificate expires after it is awarded. Defaults to null. Must not be present when expires_at is present.
Date of certificate expiration. Defaults to null. Must not be present when days_to_expire is present.
POST /api/v1/certificates HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 180
{
"certificate": {
"listing_id": "text",
"name": "text",
"active": "text",
"template": "text"
},
"certificate[pdf_settings]": {
"orientation": "text"
},
"days_to_expire": "text",
"expires_at": "text"
}
Creating a certificate
{
"certificate": {
"id": 5,
"listing_id": 37,
"name": "API Name",
"active": true,
"template": "<H1>This is a template</h1>",
"pdf_settings": {
"orientation": "Landscape"
},
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"days_to_expire": null,
"expires_at": null
}
}
Should nullify the requirements_completed_at for the enrollments, defaults to false
DELETE /api/v1/certificates HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 80
{
"certificate": {
"listing_id": "text"
},
"nullify_requirements_completed_at": "text"
}
Deleting a certificate
{}
PUT /api/v1/certificates/revoke_users_certificate HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62
{
"certificate": {
"listing_id": "text",
"canvas_user_ids": "text"
}
}
Revoking users certificate
{
"revoked_certificates": [
{
"canvas_user_id": 1,
"canvas_course_id": 1001,
"listing_id": 36
}
]
}
GET /api/v1/catalogs/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific catalog
{
"account": {
"id": 46,
"name": "Domain Account 47",
"parent": null,
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"canvas_domain": "www.canvas-domain-47.com",
"canvas_id": 47,
"settings": {
"privacy_policy_url": "https://www.instructure.com/policies/privacy/",
"terms_url": "https://www.instructure.com/policies/acceptable-use",
"currency": "USD",
"supported_payment_types": "standard",
"time_zone": null,
"country": "US",
"measurement": "credit",
"email_from_name": "Canvas Catalog",
"email_from_address": "[email protected]",
"allow_user_registration": true,
"title_tag": null,
"meta_description": null,
"custom_head_content": null,
"custom_body_content": null,
"show_listings_in_parent": true,
"order_id_prefix": null,
"inherit_categories": false,
"inherit_user_defined_fields": false,
"beta_canvas_domain": null,
"skus_enabled": false,
"canvas_enrollment_events": false,
"include_noncatalog_courses_in_dashboard": true,
"external_idp_logout_workflow": false,
"private_catalog": false,
"bulk_purchase_disabled": false,
"enroll_button_behavior": "cart",
"shopping_cart_enabled": true,
"external_registration_url": null,
"external_registration_public_key": null,
"redirect_external_registration_condition": "authenticated",
"include_captcha": false,
"user_registration_domain_restriction_type": "inherit",
"user_registration_domain_deny_list": "",
"user_registration_domain_allow_list": "",
"frame_ancestors": "",
"email_reply_to": "",
"has_sso_warning": false,
"measurement_id": null,
"redirect_non_admins_to_root_url": false,
"canvas_feature_send_usage_metrics": false,
"disable_passive_login": false,
"new_storefront": false,
"tags_permission_default_value": true,
"cross_listing_permission_default_value": false,
"inherit_storefront_theme": false,
"canvas_authentication_provider_id": "CANVAS_FIRST",
"udf_collection_level": "registration",
"disable_drop_course_button": false,
"google_tag_manager_id": null,
"linkedin_partner_id": null,
"enable_credentials": false,
"enable_impact": false,
"enable_pathways": false,
"hide_missing_pathway": false,
"storefront_product_recommendation_behavior": "popular",
"storefront_product_recommendation_count": 4,
"enable_recommendations": false,
"product_page_recommendation_fallback": "no_fallback",
"product_page_recommendation_count": 4,
"enable_recommendations_for_product_page": false,
"hide_self_paced_label": false,
"login_auth_providers": "[]",
"multiple_promo_codes_enabled": true
},
"user_defined_fields": [
{
"list_order": 0,
"name": "favorite_color",
"label": "Favorite Color",
"field_type": "text",
"required": false,
"required_message": "Favorite Color is required",
"metadata": {},
"hide_in_user_workflow": true
},
{
"list_order": 1,
"name": "code_of_conduct",
"label": "Code of Conduct",
"field_type": "checkbox",
"required": true,
"required_message": "You must accept the Code of Conduct.",
"metadata": {},
"hide_in_user_workflow": false
},
{
"list_order": 2,
"name": "age",
"label": "Age",
"field_type": "text",
"required": true,
"required_message": "You must provide an Age.",
"metadata": {},
"hide_in_user_workflow": false
},
{
"list_order": 3,
"name": "yes_no",
"label": "Yes or No",
"field_type": "select",
"required": false,
"required_message": "Yes or No is required",
"metadata": {
"options": [
"Yes",
"No"
]
},
"hide_in_user_workflow": false
}
],
"logo": "https://test-bucket.s3.amazonaws.com/production/logos/6c5266e6cdbbfec8733f07d132feec1541a724e4.jpeg",
"locale": "en",
"url": "https://www.my-catalog.edu",
"measurement": "credit",
"storefront_theme_id": null
}
}
GET /api/v1/catalogs HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing catalogs
{
"catalogs": [
{
"id": 47,
"name": "Domain Account 52",
"parent": null,
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"canvas_domain": "www.canvas-domain-52.com",
"canvas_id": 52,
"settings": {
"privacy_policy_url": "https://www.instructure.com/policies/privacy/",
"terms_url": "https://www.instructure.com/policies/acceptable-use",
"currency": "USD",
"supported_payment_types": "standard",
"time_zone": null,
"country": "US",
"measurement": "credit",
"email_from_name": "Canvas Catalog",
"email_from_address": "[email protected]",
"allow_user_registration": true,
"title_tag": null,
"meta_description": null,
"custom_head_content": null,
"custom_body_content": null,
"show_listings_in_parent": true,
"order_id_prefix": null,
"inherit_categories": false,
"inherit_user_defined_fields": false,
"beta_canvas_domain": null,
"skus_enabled": false,
"canvas_enrollment_events": false,
"include_noncatalog_courses_in_dashboard": true,
"external_idp_logout_workflow": false,
"private_catalog": false,
"bulk_purchase_disabled": false,
"enroll_button_behavior": "cart",
"shopping_cart_enabled": true,
"external_registration_url": null,
"external_registration_public_key": null,
"redirect_external_registration_condition": "authenticated",
"include_captcha": false,
"user_registration_domain_restriction_type": "inherit",
"user_registration_domain_deny_list": "",
"user_registration_domain_allow_list": "",
"frame_ancestors": "",
"email_reply_to": "",
"has_sso_warning": false,
"measurement_id": null,
"redirect_non_admins_to_root_url": false,
"canvas_feature_send_usage_metrics": false,
"disable_passive_login": false,
"new_storefront": false,
"tags_permission_default_value": true,
"cross_listing_permission_default_value": false,
"inherit_storefront_theme": false,
"canvas_authentication_provider_id": "CANVAS_FIRST",
"udf_collection_level": "registration",
"disable_drop_course_button": false,
"google_tag_manager_id": null,
"linkedin_partner_id": null,
"enable_credentials": false,
"enable_impact": false,
"enable_pathways": false,
"hide_missing_pathway": false,
"storefront_product_recommendation_behavior": "popular",
"storefront_product_recommendation_count": 4,
"enable_recommendations": false,
"product_page_recommendation_fallback": "no_fallback",
"product_page_recommendation_count": 4,
"enable_recommendations_for_product_page": false,
"hide_self_paced_label": false,
"login_auth_providers": "[]",
"multiple_promo_codes_enabled": true
},
"user_defined_fields": [
{
"list_order": 0,
"name": "favorite_color",
"label": "Favorite Color",
"field_type": "text",
"required": false,
"required_message": "Favorite Color is required",
"metadata": {},
"hide_in_user_workflow": true
},
{
"list_order": 1,
"name": "code_of_conduct",
"label": "Code of Conduct",
"field_type": "checkbox",
"required": true,
"required_message": "You must accept the Code of Conduct.",
"metadata": {},
"hide_in_user_workflow": false
},
{
"list_order": 2,
"name": "age",
"label": "Age",
"field_type": "text",
"required": true,
"required_message": "You must provide an Age.",
"metadata": {},
"hide_in_user_workflow": false
},
{
"list_order": 3,
"name": "yes_no",
"label": "Yes or No",
"field_type": "select",
"required": false,
"required_message": "Yes or No is required",
"metadata": {
"options": [
"Yes",
"No"
]
},
"hide_in_user_workflow": false
}
],
"logo": "https://test-bucket.s3.amazonaws.com/production/logos/f1733874a1448945a6748b458be8b8e808fc61f8.jpeg",
"locale": "en",
"url": "https://www.my-catalog.edu",
"measurement": "credit",
"storefront_theme_id": null
}
]
}
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.
Latest date/time to return (optional, String). See 'from' above for format.
GET /api/v1/user_registrations HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing user registrations
{
"user_registrations": [
{
"canvas_user_id": 1,
"catalog": {
"id": 48,
"name": "Domain Account 57"
},
"name": "User 1",
"email": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000"
}
]
}
Full name
E-mail address (will also serve as login)
ID of subcatalog to associate with user (optional)
Hash of custom field values, e.g. { 'phone': '867-5309' } (optional)
POST /api/v1/user_registrations HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 73
"name='text'&email='text'&catalog_id='text'&custom_fields='text'"
Registering a user
{
"user_registration": {
"canvas_user_id": 1234,
"catalog": {
"id": 50,
"name": "Domain Account 59"
},
"name": "Barack Obama",
"email": "[email protected]",
"custom_fields": {},
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000"
}
}
Canvas user ID
GET /api/v1/user_registrations/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific user registration
{
"user_registration": {
"canvas_user_id": 2,
"catalog": {
"id": 49,
"name": "Domain Account 58"
},
"name": "User 2",
"email": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000"
}
}
GET /api/v1/email_domain_sets/{id}/promotions HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
List promotions by email domain set
{
"promotions": [
{
"id": 1,
"account_id": 52,
"product_id": null,
"product_title": null,
"account_name": "Domain Account 61",
"currency": "USD",
"amount": "10.0",
"discount_type": "flat",
"code": "PROMO1",
"name": "Product 1",
"description": null,
"active": false,
"start_date": null,
"end_date": null,
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null,
"usage_type": "once-per-user",
"canvas_root_account_uuid": "61WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"email_domain_set_id": 1,
"email_domain_set_name": "Example",
"email_domains": [
{
"id": 1,
"domain": "example.com",
"email_domain_set_id": 1,
"canvas_root_account_uuid": "60WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
}
],
"status": "inactive",
"max_per_user": null,
"max_total_use": null
}
]
}
GET /api/v1/email_domain_sets/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific email domain set
{
"id": 4,
"name": "Example",
"account_id": 57,
"canvas_root_account_uuid": "66WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
}
PUT /api/v1/email_domain_sets/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70
{
"email_domain_set": {
"name": "text",
"email_domains_attributes": "text"
}
}
Updating an email domain set
{
"email_domain_set": {
"id": 2,
"name": "API Name",
"account_id": 53,
"email_domains": [
{
"id": 3,
"domain": "example1.com",
"email_domain_set_id": 2,
"canvas_root_account_uuid": "62WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
},
{
"id": 4,
"domain": "example2.org",
"email_domain_set_id": 2,
"canvas_root_account_uuid": "62WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
},
{
"id": 2,
"domain": "example.com",
"email_domain_set_id": 2,
"canvas_root_account_uuid": "62WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
}
]
}
}
A value to filter the Email Domain Sets by name
A boolean to set whether the search should only include results that match exactly
GET /api/v1/email_domain_sets HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing email domain sets
{
"email_domain_sets": [
{
"id": 3,
"name": "Example",
"account_id": 55,
"email_domains": [
{
"id": 5,
"domain": "example.com",
"email_domain_set_id": 3,
"canvas_root_account_uuid": "64WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2025/06/24 07:20:57 +0000",
"updated_at": "2025/06/24 07:20:57 +0000",
"deleted_at": null
}
]
}
],
"meta": {
"total_pages": 0
}
}
GET /api/v1/orders/{id} HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific order
{
"order": {
"id": 4,
"full_id": "4",
"catalog_id": 59,
"catalog": {
"id": 59,
"name": "Domain Account 68"
},
"user": {
"id": 1,
"name": "Saul Goodman",
"email": "[email protected]"
},
"listings": [
{
"id": 38,
"canvas_course_id": 22,
"title": "Course 36",
"amount": "100.0",
"discounted_amount": "90.0",
"catalog_id": 59
}
],
"promotions": [
{
"id": 5,
"listing_id": 38,
"code": "PROMO5",
"amount": "-10.0"
}
],
"payments": [
{
"reference_id": "123",
"status": "success",
"amount": "90.0"
}
],
"total": "90.0",
"currency": "USD",
"purchased_at": "2025/06/24 07:20:57 +0000",
"created_at": "2025/06/24 07:20:57 +0000"
}
}
Earliest date/time to return. Suggested format YYYY-MM-DDTHH:MM:SSZ, e.g. 2018-01-01T00:00:00Z. System time zone is UTC.
Latest date/time to return. See 'from' above for format.
Return only orders for the specified Canvas user ID
When set, only return orders that were completed successfully
GET /api/v1/orders HTTP/1.1
Host: replace_me
Authorization: YOUR_API_KEY
Accept: */*
Listing orders
{
"orders": [
{
"id": 5,
"full_id": "5",
"catalog_id": 60,
"catalog": {
"id": 60,
"name": "Domain Account 69"
},
"user": {
"id": 1,
"name": "Saul Goodman",
"email": "[email protected]"
},
"listings": [
{
"id": 39,
"canvas_course_id": 23,
"title": "Course 37",
"amount": "100.0",
"discounted_amount": "90.0",
"catalog_id": 60
}
],
"promotions": [
{
"id": 6,
"listing_id": 39,
"code": "PROMO6",
"amount": "-10.0"
}
],
"payments": [
{
"reference_id": "123",
"status": "success",
"amount": "90.0"
}
],
"total": "90.0",
"currency": "USD",
"purchased_at": "2025/06/24 07:20:57 +0000",
"created_at": "2025/06/24 07:20:57 +0000"
}
]
}
Last updated
Was this helpful?