APIs
API Token based authentication. Use format: Token token="your-api-key"
Only include applicants for the specified listing
Only include applicants for the specified status (waitlist, accepted, declined, or expired)
Listing applicants
GET /api/v1/applicants HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing applicants
{
"applicants": [
{
"id": 1,
"user": {
"id": 1,
"name": "Applicant",
"email": "[email protected]"
},
"listing": {
"id": 1,
"title": "Course 1"
},
"notified_of_opening_at": null,
"status": "waitlist",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Only delete applicants for the specified listing
Only delete applicants with the specified canvas user id if specified
Delete applicants
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
{}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific applicant record
GET /api/v1/applicants/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific applicant record
{
"applicant": {
"id": 2,
"user": {
"id": 2,
"name": "Applicant",
"email": "[email protected]"
},
"listing": {
"id": 2,
"title": "Course 2"
},
"notified_of_opening_at": null,
"status": "waitlist",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific order
GET /api/v1/orders/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific order
{
"order": {
"id": 1,
"full_id": "1",
"catalog_id": 4,
"catalog": {
"id": 4,
"name": "Domain Account 4"
},
"user": {
"id": 1,
"name": "Saul Goodman",
"email": "[email protected]"
},
"listings": [
{
"id": 4,
"canvas_course_id": 4,
"title": "Course 4",
"amount": "100.0",
"discounted_amount": "90.0",
"catalog_id": 4
}
],
"promotions": [
{
"id": 1,
"listing_id": 4,
"code": "PROMO1",
"amount": "-10.0"
}
],
"payments": [
{
"reference_id": "123",
"status": "success",
"amount": "90.0"
}
],
"total": "90.0",
"currency": "USD",
"purchased_at": "2024/01/01 00:00:00 +0000",
"created_at": "2024/01/01 00:00:00 +0000"
}
}API Token based authentication. Use format: Token token="your-api-key"
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
Listing orders
GET /api/v1/orders HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing orders
{
"orders": [
{
"id": 2,
"full_id": "2",
"catalog_id": 5,
"catalog": {
"id": 5,
"name": "Domain Account 5"
},
"user": {
"id": 1,
"name": "Saul Goodman",
"email": "[email protected]"
},
"listings": [
{
"id": 5,
"canvas_course_id": 5,
"title": "Course 5",
"amount": "100.0",
"discounted_amount": "90.0",
"catalog_id": 5
}
],
"promotions": [
{
"id": 2,
"listing_id": 5,
"code": "PROMO2",
"amount": "-10.0"
}
],
"payments": [
{
"reference_id": "123",
"status": "success",
"amount": "90.0"
}
],
"total": "90.0",
"currency": "USD",
"purchased_at": "2024/01/01 00:00:00 +0000",
"created_at": "2024/01/01 00:00:00 +0000"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Order id
Getting a specific bulk enrollment
GET /api/v1/order_items/history/bulk_enrollments/{id}?id=1 HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific bulk enrollment
{
"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": 6,
"user_id": 187,
"canvas_user_id": 1,
"canvas_root_account_uuid": "6WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"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": "6WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"discounted_amount": 6,
"quantity": 3,
"unit_price": 5
}
]
},
"product": {
"id": 42,
"visibility": "listed",
"enrollment_open": true,
"title": "Paid program",
"enrollment_fee": 5,
"account_id": 6,
"type": "Program",
"canvas_root_account_uuid": "6WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"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"
}
]
}
}API Token based authentication. Use format: Token token="your-api-key"
Only include bulk enrollments from this date
Only include bulk enrollments to this date
Only include bulk enrollments for the specified canvas user ids
Listing bulk enrollments
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": 4,
"created_at": "2024-12-20T12:12:29.066827Z",
"updated_at": "2024-12-20T12:12:30.892895Z",
"full_id": "4",
"account_id": 8,
"user_id": 187,
"canvas_user_id": 1,
"canvas_root_account_uuid": "8WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"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": 4,
"item_id": 42,
"amount": 15,
"canvas_root_account_uuid": "8WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"discounted_amount": 6,
"quantity": 3,
"unit_price": 5
}
]
},
"product": {
"id": 42,
"visibility": "listed",
"enrollment_open": true,
"title": "Paid program",
"enrollment_fee": 5,
"account_id": 8,
"type": "Program",
"canvas_root_account_uuid": "8WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"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"
}
]
}
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Page number for pagination (defaults to 0)
Sort field (only 'name')
Search query to filter account admins
Number of results per page
Alternative to per_page parameter
Listing account admins
GET /api/v1/account_admins HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing account admins
{
"content": [
{
"id": 1,
"name": "Test Admin",
"canvas_user_id": "12345",
"email": "[email protected]",
"accounts": [
{
"id": 10,
"name": "Domain Account 10"
}
]
}
],
"page": {
"number": 0,
"size": 20,
"totalElements": 1,
"totalPages": 1
}
}API Token based authentication. Use format: Token token="your-api-key"
Canvas user ID
Full name of the user
Email address of the user
Array of account IDs to associate with the user
Creating an account admin association
POST /api/v1/account_admins HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 88
"canvas_user_id='text'&user_name='text'&email_address='text'&account_ids='text'"Creating an account admin association
{
"id": 1,
"name": "Test Admin",
"canvas_user_id": "12345",
"email": "[email protected]",
"accounts": [
{
"id": 12,
"name": "Domain Account 12"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Deleting a specific account admin association
DELETE /api/v1/account_admins/{id}/accounts/{account_id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific account admin association
{}API Token based authentication. Use format: Token token="your-api-key"
Deleting all account admin associations
DELETE /api/v1/account_admins/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Deleting all account admin associations
{}API Token based authentication. Use format: Token token="your-api-key"
Canvas user ID
Getting a specific user registration
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": 1,
"catalog": {
"id": 15,
"name": "Domain Account 15"
},
"name": "User 1",
"email": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
}API Token based authentication. Use format: Token token="your-api-key"
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.
Listing user registrations
GET /api/v1/user_registrations HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing user registrations
{
"user_registrations": [
{
"canvas_user_id": 2,
"catalog": {
"id": 16,
"name": "Domain Account 16"
},
"name": "User 2",
"email": "[email protected]",
"custom_fields": {
"favorite_color": "#BADA55",
"code_of_conduct": "1",
"age": "19"
},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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)
Registering a user
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": 17,
"name": "Domain Account 17"
},
"name": "Barack Obama",
"email": "[email protected]",
"custom_fields": {
"phone": "(999) 123-4567"
},
"created_at": "2024-01-01T00:00:00+00:00",
"updated_at": "2024-01-01T00:00:00+00:00"
}
}API Token based authentication. Use format: Token token="your-api-key"
Action to perform. Possible values: archive, reactivate
Array of product ids to perform the action on
All programs have been successfully processed
Some programs have failed to process successfully
PUT /api/v1/programs/archived HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 43
"product_action='text'&product_ids=[1]"{}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific program
GET /api/v1/programs/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific program
{
"program": {
"id": 12,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_12",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 9,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_12",
"listing_path": "program-path-12",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"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": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 13,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_13",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_13",
"listing_path": "program-path-13",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"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": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 15,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_15",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_15",
"listing_path": "course-path-15",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"type": "Course",
"title": "Course 15",
"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-15",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 6
},
"instructor_names": [],
"primary_instructor_name": null
}
]
},
{
"id": 14,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_14",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_14",
"listing_path": "program-path-14",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"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": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 16,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_16",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_16",
"listing_path": "course-path-16",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"type": "Course",
"title": "Course 16",
"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-16",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 7
},
"instructor_names": [],
"primary_instructor_name": null
},
{
"id": 17,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_17",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_17",
"listing_path": "course-path-17",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 20,
"name": "Domain Account 20"
},
"type": "Course",
"title": "Course 17",
"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-17",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 8
},
"instructor_names": [],
"primary_instructor_name": null
}
]
}
]
}
}API Token based authentication. Use format: Token token="your-api-key"
Listing SKU
Updating a program
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
{}API Token based authentication. Use format: Token token="your-api-key"
Deleting a specific program
DELETE /api/v1/programs/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific program
{}API Token based authentication. Use format: Token token="your-api-key"
Listing programs
GET /api/v1/programs HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing programs
{
"programs": [
{
"id": 24,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_24",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 9,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_24",
"listing_path": "program-path-24",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Program",
"title": "Program 24",
"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-24",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 25,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_25",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_25",
"listing_path": "program-path-25",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Program",
"title": "Program 25",
"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-25",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 27,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_27",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_27",
"listing_path": "course-path-27",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 27",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_12",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-27",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 12
},
"instructor_names": [],
"primary_instructor_name": null
}
]
},
{
"id": 26,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_26",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_26",
"listing_path": "program-path-26",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Program",
"title": "Program 26",
"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-26",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 28,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_28",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_28",
"listing_path": "course-path-28",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 28",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_13",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-28",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 13
},
"instructor_names": [],
"primary_instructor_name": null
},
{
"id": 29,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_29",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_29",
"listing_path": "course-path-29",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 29",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_14",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-29",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 14
},
"instructor_names": [],
"primary_instructor_name": null
}
]
}
]
},
{
"id": 25,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_25",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_25",
"listing_path": "program-path-25",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Program",
"title": "Program 25",
"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-25",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 27,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_27",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_27",
"listing_path": "course-path-27",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 27",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_12",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-27",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 12
},
"instructor_names": [],
"primary_instructor_name": null
}
]
},
{
"id": 26,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_26",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 6,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_26",
"listing_path": "program-path-26",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Program",
"title": "Program 26",
"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-26",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": null,
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"sequential": true,
"requirements": [
{
"id": 28,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_28",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_28",
"listing_path": "course-path-28",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 28",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_13",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-28",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 13
},
"instructor_names": [],
"primary_instructor_name": null
},
{
"id": 29,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_29",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_29",
"listing_path": "course-path-29",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 22,
"name": "Domain Account 22"
},
"type": "Course",
"title": "Course 29",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_14",
"show_free_banner": true,
"image_alt_text": null,
"allowed_payment_types": [
"standard"
],
"tag_names": [],
"listing_url": "http://www.my-catalog.edu/courses/course-path-29",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 14
},
"instructor_names": [],
"primary_instructor_name": null
}
]
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Listing SKU
Creating a program
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": 30,
"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": "2024/01/01 00:00:00 +0000",
"credits": null,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "This is an example teaser",
"listing_path": "program-1",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 23,
"name": "Domain Account 23"
},
"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": [],
"archived_at": null,
"sequential": true,
"requirements": []
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific email domain set
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": 1,
"name": "Example",
"account_id": 25,
"canvas_root_account_uuid": "25WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
}API Token based authentication. Use format: Token token="your-api-key"
Updating an email domain set
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": 3,
"name": "API Name",
"account_id": 29,
"email_domains": [
{
"id": 4,
"domain": "example1.com",
"email_domain_set_id": 3,
"canvas_root_account_uuid": "29WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
},
{
"id": 5,
"domain": "example2.org",
"email_domain_set_id": 3,
"canvas_root_account_uuid": "29WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
},
{
"id": 3,
"domain": "example.com",
"email_domain_set_id": 3,
"canvas_root_account_uuid": "29WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
}
]
}
}API Token based authentication. Use format: Token token="your-api-key"
List promotions by email domain set
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": 4,
"account_id": 28,
"product_id": null,
"product_title": null,
"product_archived_at": null,
"account_name": "Domain Account 28",
"currency": "USD",
"amount": "10.0",
"discount_type": "flat",
"code": "PROMO4",
"name": "Product 4",
"description": null,
"active": false,
"start_date": null,
"end_date": null,
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null,
"usage_type": "once-per-user",
"canvas_root_account_uuid": "28WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"email_domain_set_id": 2,
"email_domain_set_name": "Example",
"email_domains": [
{
"id": 2,
"domain": "example.com",
"email_domain_set_id": 2,
"canvas_root_account_uuid": "27WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
}
],
"status": "inactive",
"max_per_user": null,
"max_total_use": null
}
]
}API Token based authentication. Use format: Token token="your-api-key"
A value to filter the Email Domain Sets by name
A boolean to set whether the search should only include results that match exactly
Listing email domain sets
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": 4,
"name": "Example",
"account_id": 31,
"email_domains": [
{
"id": 6,
"domain": "example.com",
"email_domain_set_id": 4,
"canvas_root_account_uuid": "31WLEJdzBmd8nsrZdf5jIATelBOYIMHeY6uuIAEmx",
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"deleted_at": null
}
]
}
],
"meta": {
"total_pages": 0
}
}API Token based authentication. Use format: Token token="your-api-key"
Action to perform. Possible values: archive, reactivate
Array of product ids to perform the action on
All courses have been successfully processed
Some courses have failed to process successfully
PUT /api/v1/courses/archived HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 43
"product_action='text'&product_ids=[1]"{}API Token based authentication. Use format: Token token="your-api-key"
Listing courses
GET /api/v1/courses HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing courses
{
"courses": [
{
"id": 39,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_37",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_37",
"listing_path": "course-path-37",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 36,
"name": "Domain Account 36"
},
"type": "Course",
"title": "Course 37",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_21",
"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-37",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 21
},
"instructor_names": [
"John Doe",
"Jane Doe"
],
"primary_instructor_name": "Jane Doe"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Listing SKU
Creating a course
POST /api/v1/courses HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 612
{
"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",
"canvas_section_id": "text",
"credits": "text",
"instructor_names": [
"text"
],
"primary_instructor_name": "text"
},
"sku": "text"
}Creating a course
{
"course": {
"id": 38,
"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": "2024/01/01 00:00:00 +0000",
"credits": 4,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "This is an example teaser",
"listing_path": "course-1",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 35,
"name": "Domain Account 35"
},
"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": 20020020,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 10010010
},
"instructor_names": [
"Jane Doe",
"John Doe"
],
"primary_instructor_name": "Jane Doe"
}
}API Token based authentication. Use format: Token token="your-api-key"
CSV containing a Catalog Course ID and Catalog Course SKU header
Updating course sku
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": 1,
"account_id": 37,
"canvas_user_id": null,
"completion_percent": null,
"workflow_state": "queued",
"payload": {},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific course
GET /api/v1/courses/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific course
{
"course": {
"id": 41,
"visibility": "listed",
"enrollment_open": true,
"enrollment_open_from": null,
"enrollment_open_to": null,
"enrollment_cap": null,
"description": "description_39",
"enrollment_fee": 0,
"created_at": "2024/01/01 00:00:00 +0000",
"credits": 3,
"measurement": "credit",
"updated_at": "2024/01/01 00:00:00 +0000",
"short_description": "teaser_39",
"listing_path": "course-path-39",
"listing_image": null,
"currency": "USD",
"catalog": {
"id": 39,
"name": "Domain Account 40"
},
"type": "Course",
"title": "Course 39",
"list_order": null,
"waitlist": false,
"waitlist_cap": null,
"sku": "sku_23",
"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-39",
"start_date": "2023/12/25 00:00:00 +0000",
"end_date": "2024/01/08 00:00:00 +0000",
"canvas_section_id": null,
"associated_account_ids": [],
"archived_at": null,
"canvas_course": {
"id": 23
},
"instructor_names": [
"John Doe",
"Jane Doe"
],
"primary_instructor_name": "Jane Doe"
}
}API Token based authentication. Use format: Token token="your-api-key"
Listing SKU
Updating a course
PUT /api/v1/courses/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 612
{
"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",
"canvas_section_id": "text",
"credits": "text",
"instructor_names": [
"text"
],
"primary_instructor_name": "text"
},
"sku": "text"
}Updating a course
{}API Token based authentication. Use format: Token token="your-api-key"
Deleting a specific course
DELETE /api/v1/courses/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Deleting a specific course
{}API Token based authentication. Use format: Token token="your-api-key"
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
Getting products analytics
POST /api/v1/analytics/products HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 389
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"text"
],
"creation_date_from": "text",
"creation_date_to": "text",
"enrollment_count_min": 1,
"enrollment_count_max": 1,
"completion_count_min": 1,
"completion_count_max": 1,
"dropped_count_min": 1,
"dropped_count_max": 1,
"listing_price_min": 1,
"listing_price_max": 1,
"promo_codes": [
"text"
],
"revenue_min": 1,
"revenue_max": 1,
"certificate_offered": true
}Getting products analytics
{
"products": [
{
"account_id": 3,
"account_name": "Sub-Account 1",
"product": {
"name": "Course 1",
"id": 5,
"url": "https://www.my-catalog.edu/listings/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"created_at": "2023-06-05T14:46:59.944581+02:00",
"canvas_course_id": 11,
"canvas_section_id": 22,
"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,
"instructor_names": [
"Instructor 1",
"Instructor 2"
],
"primary_instructor_name": "Instructor 1",
"archived_at": "2024-08-01T14:46:59.944581+02:00"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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
Getting enrollments analytics
POST /api/v1/analytics/enrollments HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 260
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"text"
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"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/listings/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"canvas_course_id": 11,
"canvas_section_id": 22,
"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",
"archived_at": "2024-08-01T14:46:59.944581+02:00"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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
Getting orders analytics
POST /api/v1/analytics/orders HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 366
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"text"
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"purchaser_ids": [
1
],
"purchaser_canvas_user_ids": [
1
],
"bulk_purchases_only": true,
"purchase_date_from": "text",
"purchase_date_to": "text",
"order_fee": [
"text"
],
"listing_price_min": 1,
"listing_price_max": 1,
"promo_codes": [
"text"
],
"revenue_min": 1,
"revenue_max": 1
}Getting orders analytics
{
"orders": [
{
"account_id": 3,
"account_name": "Sub-Account 1",
"product": {
"name": "Course 1",
"id": 5,
"url": "https://www.my-catalog.edu/listings/1/edit",
"sku": "sku"
},
"product_status": "OPEN",
"canvas_course_id": 11,
"canvas_section_id": 22,
"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"
}
]
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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)
Getting users analytics
POST /api/v1/analytics/users HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 277
{
"account_ids": [
1
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"enrollment_count_min": 1,
"enrollment_count_max": 1,
"last_enrollment_date_from": "text",
"last_enrollment_date_to": "text",
"registration_date_from": "text",
"registration_date_to": "text",
"registered_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"
}
]
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific catalog
GET /api/v1/catalogs/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific catalog
{
"account": {
"id": 45,
"name": "Domain Account 46",
"parent": null,
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"canvas_domain": "www.canvas-domain-46.com",
"canvas_id": 46,
"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": "",
"restrict_enrollment_to_user_registration_domain": false,
"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,
"custom_instructor_label": null,
"custom_instructor_label_plural": null
},
"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/9c8da68dc6e957c9ffd0b1f8f95b1e4d6a86fcb0.jpeg",
"locale": "en",
"url": "https://www.my-catalog.edu",
"measurement": "credit",
"storefront_theme_id": null
}
}API Token based authentication. Use format: Token token="your-api-key"
Listing catalogs
GET /api/v1/catalogs HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing catalogs
{
"catalogs": [
{
"id": 46,
"name": "Domain Account 51",
"parent": null,
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"canvas_domain": "www.canvas-domain-51.com",
"canvas_id": 51,
"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": "",
"restrict_enrollment_to_user_registration_domain": false,
"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,
"custom_instructor_label": null,
"custom_instructor_label_plural": null
},
"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
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Canvas Id of the user
Indicates if the courses without certificates should be included, default is to include all courses
Listing user's completions with a certificate
GET /api/v1/completed_certificates?user_id=1 HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing user's completions with a certificate
{
"completed_certificates": [
{
"canvas_course_id": 25,
"catalog_title": "Course 41",
"canvas_course_name": "Course 41",
"certificate_url": "https://www.domain-56.com/certificates/certificate-numero-1-1.pdf",
"canvas_course_workflow_state": "available",
"completed_at": null
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Only include enrollments for the specified listing
Listing enrollments
GET /api/v1/enrollments HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Listing enrollments
{
"enrollments": [
{
"id": 2,
"user": {
"id": 1
},
"listing": {
"id": 44,
"title": "Course 42",
"type": "Course",
"canvas_course_id": 26
},
"enrolled_at": "2024/01/01 00:00:00 +0000",
"status": "active",
"requirement_details": {
"requirement_count": null,
"requirement_completed_count": null,
"requirement_completed_percentage": null
}
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Create an order record for this enrollment, defaults to true
Send an enrollment email to the user, defaults to true
Creating an enrollment
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": 5,
"user": {
"id": 1
},
"listing": {
"id": 47,
"title": "Course 45",
"type": "Course",
"canvas_course_id": 29
},
"enrolled_at": "2024/01/01 00:00:00 +0000",
"status": "active",
"requirement_details": {
"requirement_count": 10,
"requirement_completed_count": 4,
"requirement_completed_percentage": 40
}
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific enrollment
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": 46,
"title": "Course 44",
"type": "Course",
"canvas_course_id": 28
},
"enrolled_at": "2024/01/01 00:00:00 +0000",
"status": "active",
"requirement_details": {
"requirement_count": 10,
"requirement_completed_count": 4,
"requirement_completed_percentage": 40
}
}
}API Token based authentication. Use format: Token token="your-api-key"
Deleting an enrollment
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"
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific tag
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
},
{
"id": 4,
"title": "Course 2",
"type": "COURSE",
"canvas_course_id": 5,
"archived_at": "2023-08-20T06:33:38.991906Z"
}
],
"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"
}API Token based authentication. Use format: Token token="your-api-key"
New tag name (minimum 1 and maximum 255 characters)
Updating a specific tag
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
},
{
"id": 4,
"title": "Course 2",
"type": "COURSE",
"canvas_course_id": 5,
"archived_at": "2023-08-20T06:33:38.991906Z"
}
],
"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"
}API Token based authentication. Use format: Token token="your-api-key"
Deleting a specific tag
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
}API Token based authentication. Use format: Token token="your-api-key"
Array of tag IDs to delete
Deleting multiple tags
DELETE /api/v1/tags/bulk HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 11
"ids=[1]"Deleting multiple tags
{
"tags": [
{
"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
},
{
"id": 18,
"account_id": 1,
"name": "Tag 2",
"assigned_listings": [],
"assigned_categories": [],
"created_at": "2023-08-07T09:45:45.535989Z",
"updated_at": "2023-08-07T09:45:45.535989Z",
"is_deleted": true
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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
Listing tags
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
},
{
"id": 4,
"title": "Course 2",
"type": "COURSE",
"canvas_course_id": 5,
"archived_at": "2023-08-20T06:33:38.991906Z"
}
],
"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"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
Tag name (minimum 1 and maximum 255 characters)
List of product ids associate to this tag
Creating a 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"
}API Token based authentication. Use format: Token token="your-api-key"
Catalog user id
Getting a specific user
GET /api/v1/users/{id}?id=1 HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific user
{
"user": {
"id": 5,
"root_account_id": 66,
"canvas_user_id": 2,
"registered_account_id": 66,
"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"
}
}API Token based authentication. Use format: Token token="your-api-key"
Catalog user id
It will clear merged_into_user_id field of user if set to true
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.
Updating a specific user
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: 66
"id=1&clear_merged_into_user_id='text'&custom_fields='text'"Updating a specific user
{
"user": {
"id": 3,
"root_account_id": 64,
"canvas_user_id": 2,
"registered_account_id": 64,
"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"
}
}API Token based authentication. Use format: Token token="your-api-key"
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
Deleting a specific user with dependencies
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
{}API Token based authentication. Use format: Token token="your-api-key"
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.
List users
GET /api/v1/users HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
List users
{
"users": [
{
"id": 2,
"root_account_id": 63,
"canvas_user_id": 2,
"registered_account_id": 63,
"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"
}
]
}API Token based authentication. Use format: Token token="your-api-key"
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)
Registering a user
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": 4,
"root_account_id": 65,
"canvas_user_id": 2,
"registered_account_id": 65,
"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"
}
}API Token based authentication. Use format: Token token="your-api-key"
Getting a specific progress
GET /api/v1/progresses/{id} HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a specific progress
{
"progress": {
"id": 2,
"account_id": 67,
"canvas_user_id": null,
"completion_percent": null,
"workflow_state": "queued",
"payload": {},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000"
}
}API Token based authentication. Use format: Token token="your-api-key"
Id of the Listing
Getting a listing certificate
GET /api/v1/certificates?listing_id=1 HTTP/1.1
Host: REPLACE_ME
Authorization: YOUR_API_KEY
Accept: */*
Getting a listing certificate
{
"certificate": {
"id": 2,
"listing_id": 48,
"name": "Certificate of Training",
"active": true,
"template": "Congrats, {{student_name}}!",
"pdf_settings": {},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"days_to_expire": null,
"expires_at": null
}
}API Token based authentication. Use format: Token token="your-api-key"
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.
Creating a certificate
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": 51,
"name": "API Name",
"active": true,
"template": "<H1>This is a template</h1>",
"pdf_settings": {
"orientation": "Landscape"
},
"created_at": "2024/01/01 00:00:00 +0000",
"updated_at": "2024/01/01 00:00:00 +0000",
"days_to_expire": null,
"expires_at": null
}
}API Token based authentication. Use format: Token token="your-api-key"
Should nullify the requirements_completed_at for the enrollments, defaults to false
Deleting a certificate
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
{}API Token based authentication. Use format: Token token="your-api-key"
Revoking users 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": 50
}
]
}Last updated
Was this helpful?