APIs
Page number (defaults to 0)
Sort field (only 'name')
Search query to filter account admins
Results per page
account admins listed
Total number of admins across all pages
Current page number (0-based)
Page size
All available permission keys
Total number of pages
GET /api/v1/account_admins HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
account admins listed
{
"content": [
{
"user": {
"id": 1,
"canvas_user_id": 1,
"canvas_user_uuid": "text",
"name": "text",
"email": "text",
"profile_link": "text",
"canvas_user_id_string": "text"
},
"accounts": [
{
"id": 1,
"name": "text"
}
],
"permissions": [
{
"key": "text",
"value": "text"
}
]
}
],
"total_elements": 1,
"page_number": 1,
"size": 1,
"permission_keys": [
"text"
],
"total_pages": 1
}Creates a new account admin or adds account associations to an existing admin. account_ids may contain multiple account IDs.
Canvas user ID
Full name of the user
Email address of the user
Account IDs to associate with the user
account admin created
Canvas user ID of the admin
Account IDs the user now administers
POST /api/v1/account_admins HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 85
{
"canvas_user_id": "text",
"user_name": "text",
"email_address": "text",
"account_ids": [
1
]
}account admin created
{
"canvas_user_id": 1,
"account_ids": [
1
]
}Removes the association between a user and a specific account.
Canvas user ID of the admin
Account ID to remove
association removed
No content
DELETE /api/v1/account_admins/{id}/accounts/{account_id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
association removed
No content
Removes all account associations for the specified user.
Canvas user ID of the admin
all associations removed
No content
DELETE /api/v1/account_admins/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
all associations removed
No content
Restrict to these account ids
Restrict to these product ids
product analytics rows
POST /api/v1/analytics/products HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 432
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"OPEN"
],
"promo_codes": [
"APPLIED"
],
"creation_date_from": "2026-01-01T00:00:00.000Z",
"creation_date_to": "2026-01-01T00:00:00.000Z",
"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,
"revenue_min": 1,
"revenue_max": 1,
"certificate_offered": true
}product analytics rows
{
"products": [
{
"account_id": 1,
"account_name": "text",
"product": {
"name": "text",
"id": 1,
"url": "text",
"sku": "text"
},
"product_status": "text",
"created_at": "text",
"canvas_course_id": 1,
"canvas_section_id": 1,
"enrollment_count": 1,
"dropped_count": 1,
"completion_count": 1,
"currency": "text",
"list_price": 1,
"promo_codes": [
"text"
],
"discount": 1,
"revenue": 1,
"credits": 1,
"certificate_offered": true,
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"archived_at": "text",
"total_rows": 1
}
]
}Restrict to these account ids
Restrict to these product ids
enrollment analytics rows
POST /api/v1/analytics/enrollments HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 368
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"OPEN"
],
"promo_codes": [
"APPLIED"
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"enrollment_date_from": "2026-01-01T00:00:00.000Z",
"enrollment_date_to": "2026-01-01T00:00:00.000Z",
"enrollment_statuses": [
"ACTIVE"
],
"completion_date_from": "2026-01-01T00:00:00.000Z",
"completion_date_to": "2026-01-01T00:00:00.000Z"
}enrollment analytics rows
{
"enrollments": [
{
"id": 1,
"account_id": 1,
"account_name": "text",
"product": {
"name": "text",
"id": 1,
"url": "text",
"sku": "text"
},
"product_status": "text",
"canvas_course_id": 1,
"canvas_section_id": 1,
"student": {
"canvas_user_id": 1,
"name": "text",
"email": "text",
"canvas_user_id_string": "text"
},
"requirement_count": 1,
"requirement_completed_count": 1,
"requirement_completed_percentage": 1,
"created_at": "text",
"completed_at": "text",
"enrollment_status": "text",
"certificate_attainable": true,
"certificate_offered": true,
"custom_fields": [
{
"key": "text",
"value": "text"
}
],
"certificate_url": "text",
"archived_at": "text",
"total_rows": 1
}
]
}Restrict to these account ids
Restrict to these product ids
order analytics rows
POST /api/v1/analytics/orders HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 402
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"OPEN"
],
"promo_codes": [
"APPLIED"
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"purchaser_ids": [
1
],
"purchaser_canvas_user_ids": [
1
],
"bulk_purchases_only": true,
"purchase_date_from": "2026-01-01T00:00:00.000Z",
"purchase_date_to": "2026-01-01T00:00:00.000Z",
"order_fee": 1,
"listing_price_min": 1,
"listing_price_max": 1,
"revenue_min": 1,
"revenue_max": 1
}order analytics rows
{
"orders": [
{
"account_id": 1,
"account_name": "text",
"product": {
"name": "text",
"id": 1,
"url": "text",
"sku": "text"
},
"product_status": "text",
"canvas_course_id": 1,
"canvas_section_id": 1,
"purchaser": {
"id": 1,
"canvas_user_id": 1,
"name": "text",
"email": "text",
"canvas_user_id_string": "text"
},
"purchased_at": "text",
"order_id": 1,
"order_item_id": 1,
"reference_id": "text",
"list_price": 1,
"currency": "text",
"promo_codes": [
"text"
],
"discount": 1,
"revenue": 1,
"bulk_purchase": true,
"seat_count": 1,
"bulk_enrollments": [
{
"id": 1,
"canvas_user_id": 1,
"name": "text",
"email": "text",
"canvas_user_id_string": "text"
}
],
"last_modification_date": "text",
"revenue_change_history": [
{
"modification_date": "text",
"new_value": 1,
"new_value_currency": "text",
"old_value": 1,
"old_value_currency": "text",
"reason": "text",
"user_name": "text",
"user_profile_link": "text"
}
],
"total_rows": 1
}
]
}Restrict to these account ids
Restrict to these product ids
user analytics rows
POST /api/v1/analytics/users HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 431
{
"account_ids": [
1
],
"product_ids": [
1
],
"product_statuses": [
"OPEN"
],
"promo_codes": [
"APPLIED"
],
"student_ids": [
1
],
"student_canvas_user_ids": [
1
],
"enrollment_count_min": 1,
"enrollment_count_max": 1,
"last_enrollment_date_from": "2026-01-01T00:00:00.000Z",
"last_enrollment_date_to": "2026-01-01T00:00:00.000Z",
"registration_date_from": "2026-01-01T00:00:00.000Z",
"registration_date_to": "2026-01-01T00:00:00.000Z",
"registered_through": [
"CANVAS"
]
}user analytics rows
{
"users": [
{
"id": 1,
"canvas_user_id": 1,
"name": "text",
"email": "text",
"account_id": 1,
"account_name": "text",
"registered_through": "text",
"registered_at": "text",
"enrollment_count": 1,
"last_enrolled_at": "text",
"custom_fields": [
{
"key": "text",
"value": "text"
}
],
"total_rows": 1
}
]
}Identifier for this applicant
applicant found
GET /api/v1/applicants/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
applicant found
{
"applicant": {
"id": 1,
"user": {
"id": 1,
"name": "text",
"email": "text"
},
"listing": {
"id": 1,
"title": "text"
},
"notified_of_opening_at": "text",
"status": "text",
"created_at": "text",
"updated_at": "text"
}
}Only include applicants for the specified listing
Only include applicants with the specified status (waitlist, accepted, declined, or expired)
applicants listed
GET /api/v1/applicants HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
applicants listed
{
"applicants": [
{
"id": 1,
"user": {
"id": 1,
"name": "text",
"email": "text"
},
"listing": {
"id": 1,
"title": "text"
},
"notified_of_opening_at": "text",
"status": "text",
"created_at": "text",
"updated_at": "text"
}
]
}Only delete applicants for the specified listing
Only delete applicants with the specified Canvas user ID
applicants deleted
No content
DELETE /api/v1/applicants?listing_id=1 HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
applicants deleted
No content
Order ID
bulk enrollment found
GET /api/v1/order_items/history/bulk_enrollments/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
bulk enrollment found
{
"bulk_purchase": {
"order": {
"id": 1,
"created_at": "text",
"updated_at": "text",
"full_id": "text",
"account_id": 1,
"user_id": 1,
"canvas_user_id": 1,
"canvas_root_account_uuid": "text",
"source": "text",
"currency": "text",
"purchased_at": "text",
"total": 1,
"email": "text",
"name": "text",
"items": [
{
"id": 1,
"created_at": "text",
"updated_at": "text",
"order_id": 1,
"item_id": 1,
"amount": 1,
"canvas_root_account_uuid": "text",
"discounted_amount": 1,
"quantity": 1,
"unit_price": 1
}
]
},
"product": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"title": "text",
"enrollment_fee": 1,
"account_id": 1,
"type": "text",
"canvas_root_account_uuid": "text",
"waitlist": true,
"limited": true,
"started": true,
"program": true,
"course": true,
"ended": true,
"days_to_complete": 1,
"enrollment_cap": 1
},
"bulk_invitations": [
{
"order_item_id": 1,
"invitation_id": 1,
"status": "text"
}
]
}
}Only include bulk enrollments from this date
Only include bulk enrollments to this date
Only include bulk enrollments for the specified Canvas user IDs
bulk enrollments listed
GET /api/v1/order_items/history/bulk_enrollments HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
bulk enrollments listed
{
"bulk_enrollments": [
{
"bulk_purchase": {
"order": {
"id": 1,
"created_at": "text",
"updated_at": "text",
"full_id": "text",
"account_id": 1,
"user_id": 1,
"canvas_user_id": 1,
"canvas_root_account_uuid": "text",
"source": "text",
"currency": "text",
"purchased_at": "text",
"total": 1,
"email": "text",
"name": "text",
"items": [
{
"id": 1,
"created_at": "text",
"updated_at": "text",
"order_id": 1,
"item_id": 1,
"amount": 1,
"canvas_root_account_uuid": "text",
"discounted_amount": 1,
"quantity": 1,
"unit_price": 1
}
]
},
"product": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"title": "text",
"enrollment_fee": 1,
"account_id": 1,
"type": "text",
"canvas_root_account_uuid": "text",
"waitlist": true,
"limited": true,
"started": true,
"program": true,
"course": true,
"ended": true,
"days_to_complete": 1,
"enrollment_cap": 1
},
"bulk_invitations": [
{
"order_item_id": 1,
"invitation_id": 1,
"status": "text"
}
]
}
}
]
}catalogs listed
GET /api/v1/catalogs HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
catalogs listed
{
"catalogs": [
{
"id": 1,
"name": "text",
"parent": {
"id": 1,
"name": "text"
},
"created_at": "text",
"updated_at": "text",
"canvas_domain": "text",
"canvas_id": 1,
"settings": {
"privacy_policy_url": "text",
"terms_url": "text",
"currency": "text",
"supported_payment_types": "text",
"time_zone": "text",
"country": "text",
"measurement": "text",
"email_from_name": "text",
"email_from_address": "text",
"allow_user_registration": true,
"title_tag": "text",
"meta_description": "text",
"custom_head_content": "text",
"custom_body_content": "text",
"show_listings_in_parent": true,
"order_id_prefix": "text",
"inherit_categories": true,
"inherit_user_defined_fields": true,
"inherit_purchase_order_institution_details": true,
"beta_canvas_domain": "text",
"skus_enabled": true,
"canvas_enrollment_events": true,
"include_noncatalog_courses_in_dashboard": true,
"external_idp_logout_workflow": true,
"private_catalog": true,
"bulk_purchase_disabled": true,
"enroll_button_behavior": "text",
"external_registration_url": "text",
"external_registration_public_key": "text",
"redirect_external_registration_condition": "text",
"include_captcha": true,
"user_registration_domain_restriction_type": "text",
"user_registration_domain_deny_list": "text",
"user_registration_domain_allow_list": "text",
"restrict_enrollment_to_user_registration_domain": true,
"frame_ancestors": "text",
"email_reply_to": "text",
"has_sso_warning": true,
"measurement_id": "text",
"redirect_non_admins_to_root_url": true,
"canvas_feature_send_usage_metrics": true,
"disable_passive_login": true,
"new_storefront": true,
"tags_permission_default_value": true,
"cross_listing_permission_default_value": true,
"inherit_storefront_theme": true,
"canvas_authentication_provider_id": "text",
"udf_collection_level": "text",
"disable_drop_course_button": true,
"google_tag_manager_id": "text",
"linkedin_partner_id": "text",
"enable_credentials": true,
"enable_impact": true,
"enable_pathways": true,
"hide_missing_pathway": true,
"storefront_product_recommendation_behavior": "text",
"storefront_product_recommendation_count": 1,
"enable_recommendations": true,
"product_page_recommendation_fallback": "text",
"product_page_recommendation_count": 1,
"enable_recommendations_for_product_page": true,
"hide_self_paced_label": true,
"login_auth_providers": "text",
"multiple_promo_codes_enabled": true,
"custom_instructor_label": "text",
"custom_instructor_label_plural": "text",
"purchase_seats_for_others_enabled": true,
"hide_no_badges_text": true,
"load_custom_scripts": true,
"enable_purchase_orders": true,
"enable_detail_codes": true
},
"user_defined_fields": [
{
"list_order": 1,
"name": "text",
"label": "text",
"field_type": "text",
"required": true,
"required_message": "text",
"metadata": {},
"hide_in_user_workflow": true
}
],
"logo": "text",
"locale": "text",
"url": "text",
"measurement": "text",
"storefront_theme_id": "text"
}
]
}Identifier for this catalog
catalog found
GET /api/v1/catalogs/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
catalog found
{
"account": {
"id": 1,
"name": "text",
"parent": {
"id": 1,
"name": "text"
},
"created_at": "text",
"updated_at": "text",
"canvas_domain": "text",
"canvas_id": 1,
"settings": {
"privacy_policy_url": "text",
"terms_url": "text",
"currency": "text",
"supported_payment_types": "text",
"time_zone": "text",
"country": "text",
"measurement": "text",
"email_from_name": "text",
"email_from_address": "text",
"allow_user_registration": true,
"title_tag": "text",
"meta_description": "text",
"custom_head_content": "text",
"custom_body_content": "text",
"show_listings_in_parent": true,
"order_id_prefix": "text",
"inherit_categories": true,
"inherit_user_defined_fields": true,
"inherit_purchase_order_institution_details": true,
"beta_canvas_domain": "text",
"skus_enabled": true,
"canvas_enrollment_events": true,
"include_noncatalog_courses_in_dashboard": true,
"external_idp_logout_workflow": true,
"private_catalog": true,
"bulk_purchase_disabled": true,
"enroll_button_behavior": "text",
"external_registration_url": "text",
"external_registration_public_key": "text",
"redirect_external_registration_condition": "text",
"include_captcha": true,
"user_registration_domain_restriction_type": "text",
"user_registration_domain_deny_list": "text",
"user_registration_domain_allow_list": "text",
"restrict_enrollment_to_user_registration_domain": true,
"frame_ancestors": "text",
"email_reply_to": "text",
"has_sso_warning": true,
"measurement_id": "text",
"redirect_non_admins_to_root_url": true,
"canvas_feature_send_usage_metrics": true,
"disable_passive_login": true,
"new_storefront": true,
"tags_permission_default_value": true,
"cross_listing_permission_default_value": true,
"inherit_storefront_theme": true,
"canvas_authentication_provider_id": "text",
"udf_collection_level": "text",
"disable_drop_course_button": true,
"google_tag_manager_id": "text",
"linkedin_partner_id": "text",
"enable_credentials": true,
"enable_impact": true,
"enable_pathways": true,
"hide_missing_pathway": true,
"storefront_product_recommendation_behavior": "text",
"storefront_product_recommendation_count": 1,
"enable_recommendations": true,
"product_page_recommendation_fallback": "text",
"product_page_recommendation_count": 1,
"enable_recommendations_for_product_page": true,
"hide_self_paced_label": true,
"login_auth_providers": "text",
"multiple_promo_codes_enabled": true,
"custom_instructor_label": "text",
"custom_instructor_label_plural": "text",
"purchase_seats_for_others_enabled": true,
"hide_no_badges_text": true,
"load_custom_scripts": true,
"enable_purchase_orders": true,
"enable_detail_codes": true
},
"user_defined_fields": [
{
"list_order": 1,
"name": "text",
"label": "text",
"field_type": "text",
"required": true,
"required_message": "text",
"metadata": {},
"hide_in_user_workflow": true
}
],
"logo": "text",
"locale": "text",
"url": "text",
"measurement": "text",
"storefront_theme_id": "text"
}
}Id of the listing
certificate found
GET /api/v1/certificates?certificate[listing_id]=1 HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
certificate found
{
"certificate": {
"id": 1,
"listing_id": 1,
"name": "text",
"active": true,
"template": "text",
"pdf_settings": {
"orientation": "text"
},
"created_at": "text",
"updated_at": "text",
"days_to_expire": 1,
"expires_at": "text"
}
}Days until expiry after award; mutually exclusive with expires_at
Fixed expiry datetime; mutually exclusive with days_to_expire
certificate created
POST /api/v1/certificates HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 155
{
"certificate": {
"listing_id": 1,
"name": "text",
"active": true,
"template": "text",
"pdf_settings": {
"orientation": "text"
}
},
"days_to_expire": 1,
"expires_at": "text"
}certificate created
{
"certificate": {
"id": 1,
"listing_id": 1,
"name": "text",
"active": true,
"template": "text",
"pdf_settings": {
"orientation": "text"
},
"created_at": "text",
"updated_at": "text",
"days_to_expire": 1,
"expires_at": "text"
}
}Nullify requirements_completed_at for enrollments (default: false)
certificate deleted
No content
DELETE /api/v1/certificates HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 73
{
"certificate": {
"listing_id": 1
},
"nullify_requirements_completed_at": true
}certificate deleted
No content
certificates revoked
PUT /api/v1/certificates/revoke_users_certificate HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"certificate": {
"listing_id": 1,
"canvas_user_ids": [
1
]
}
}certificates revoked
{
"revoked_certificates": [
{
"canvas_user_id": 1,
"canvas_course_id": 1,
"listing_id": 1
}
]
}Canvas ID of the user (required unless canvas_course_id is given)
Canvas course ID; filter completions to a specific course
When true, exclude courses without certificates (default: include all)
completions listed
GET /api/v1/completed_certificates HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
completions listed
{
"completed_certificates": [
{
"user_id": 1,
"canvas_course_id": 1,
"catalog_title": "text",
"canvas_course_name": "text",
"certificate_id": 1,
"verification_code": "text",
"verification_code_alt": "text",
"certificate_url": "text",
"canvas_course_workflow_state": "text",
"completed_at": "text"
}
]
}General search query (title OR description OR tags)
Search by title
Search by tag name
Filter by whether currently open for enrollment
courses listed
GET /api/v1/courses HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
courses listed
{
"courses": [
{
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text"
}
]
}course created
POST /api/v1/courses HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 378
{
"course": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": true,
"visibility": "text",
"enrollment_cap": 1,
"enrollment_fee": 1,
"days_to_complete": 1,
"waitlist": true,
"waitlist_cap": 1,
"list_order": 1,
"sku": "text",
"canvas_course_id": 1,
"canvas_section_id": 1,
"credits": 1,
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"tag_names": [
"text"
]
}
}course created
{
"course": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text"
}
}Identifier for this course
course found
GET /api/v1/courses/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
course found
{
"course": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text"
}
}Identifier for this course
course updated
No content
PUT /api/v1/courses/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 378
{
"course": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": true,
"visibility": "text",
"enrollment_cap": 1,
"enrollment_fee": 1,
"days_to_complete": 1,
"waitlist": true,
"waitlist_cap": 1,
"list_order": 1,
"sku": "text",
"canvas_course_id": 1,
"canvas_section_id": 1,
"credits": 1,
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"tag_names": [
"text"
]
}
}course updated
No content
Identifier for this course
course deleted
No content
DELETE /api/v1/courses/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
course deleted
No content
Action to perform: archive or reactivate
Product ids to act on
all courses processed
No content
some courses could not be processed
PUT /api/v1/courses/archived HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"product_action": "text",
"product_ids": [
1
]
}No content
SKU import enqueued
No content
PUT /api/v1/courses/update_skus HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 8
"binary"SKU import enqueued
No content
Filter email domain sets by name
When set, only return exact name matches
email domain sets listed
GET /api/v1/email_domain_sets HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
email domain sets listed
{
"email_domain_sets": [
{
"id": 1,
"name": "text",
"account_id": 1,
"email_domains": [
{
"id": 1,
"domain": "text",
"email_domain_set_id": 1,
"canvas_root_account_uuid": "text",
"created_at": "text",
"updated_at": "text",
"deleted_at": "text"
}
]
}
],
"meta": {
"total_pages": 1
}
}Email domain set ID
email domain set found
Email domain set ID
Name of the email domain set
Owning account ID
GET /api/v1/email_domain_sets/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
email domain set found
{
"id": 1,
"name": "text",
"account_id": 1,
"canvas_root_account_uuid": "text",
"created_at": "text",
"updated_at": "text",
"deleted_at": "text"
}Email domain set ID
email domain set updated
PUT /api/v1/email_domain_sets/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 83
{
"email_domain_set": {
"name": "text",
"email_domains_attributes": [
{
"domain": "text"
}
]
}
}email domain set updated
{
"email_domain_set": {
"id": 1,
"name": "text",
"account_id": 1,
"email_domains": [
{
"id": 1,
"domain": "text",
"email_domain_set_id": 1,
"canvas_root_account_uuid": "text",
"created_at": "text",
"updated_at": "text",
"deleted_at": "text"
}
]
}
}Email domain set ID
promotions listed
GET /api/v1/email_domain_sets/{id}/promotions HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
promotions listed
{
"promotions": [
{
"id": 1,
"account_id": 1,
"product_id": 1,
"product_title": "text",
"product_archived_at": "text",
"account_name": "text",
"currency": "text",
"amount": "text",
"discount_type": "text",
"code": "text",
"name": "text",
"description": "text",
"active": true,
"start_date": "text",
"end_date": "text",
"created_at": "text",
"updated_at": "text",
"deleted_at": "text",
"usage_type": "text",
"canvas_root_account_uuid": "text",
"email_domain_set_id": 1,
"email_domain_set_name": "text",
"email_domains": [
{
"id": 1,
"domain": "text",
"email_domain_set_id": 1,
"canvas_root_account_uuid": "text",
"created_at": "text",
"updated_at": "text",
"deleted_at": "text"
}
],
"status": "text",
"max_per_user": 1,
"max_total_use": 1,
"enable_for_multi_seat_purchases": true
}
]
}Only include enrollments for the specified listing
enrollments listed
GET /api/v1/enrollments HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
enrollments listed
{
"enrollments": [
{
"id": 1,
"user": {
"id": 1
},
"listing": {
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1
},
"enrolled_at": "text",
"status": "text",
"requirement_details": {
"requirement_count": 1,
"requirement_completed_count": 1,
"requirement_completed_percentage": 1
}
}
]
}Create an order record for this enrollment (default: true)
Send an enrollment email to the user (default: true)
enrollment created
POST /api/v1/enrollments HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 50
{
"enrollment": {
"listing_id": 1,
"canvas_user_id": 1
}
}enrollment created
{
"enrollment": {
"id": 1,
"user": {
"id": 1
},
"listing": {
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1
},
"enrolled_at": "text",
"status": "text",
"requirement_details": {
"requirement_count": 1,
"requirement_completed_count": 1,
"requirement_completed_percentage": 1
}
}
}Identifier for this enrollment
enrollment found
GET /api/v1/enrollments/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
enrollment found
{
"enrollment": {
"id": 1,
"user": {
"id": 1
},
"listing": {
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1
},
"enrolled_at": "text",
"status": "text",
"requirement_details": {
"requirement_count": 1,
"requirement_completed_count": 1,
"requirement_completed_percentage": 1
}
}
}An additional request must be made to Canvas to delete the enrollment and remove it from the Catalog Student Dashboard.
Identifier for this enrollment
enrollment deleted
No content
DELETE /api/v1/enrollments/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
enrollment deleted
No content
Earliest date/time to return (e.g. 2018-01-01T00:00:00Z, UTC)
Latest date/time to return
Return only orders for the specified Canvas user ID
When set, only return orders completed successfully
orders listed
GET /api/v1/orders HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
orders listed
{
"orders": [
{
"id": 1,
"full_id": "text",
"catalog_id": 1,
"catalog": {
"id": 1,
"name": "text"
},
"user": {
"id": 1,
"name": "text",
"email": "text"
},
"listings": [
{
"id": 1,
"canvas_course_id": 1,
"title": "text",
"amount": "text",
"discounted_amount": "text",
"catalog_id": 1
}
],
"promotions": [
{
"id": 1,
"listing_id": 1,
"code": "text",
"amount": "text"
}
],
"payments": [
{
"reference_id": "text",
"status": "text",
"amount": "text"
}
],
"total": "text",
"currency": "text",
"purchased_at": "text",
"created_at": "text"
}
]
}Identifier for this order
order found
GET /api/v1/orders/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
order found
{
"order": {
"id": 1,
"full_id": "text",
"catalog_id": 1,
"catalog": {
"id": 1,
"name": "text"
},
"user": {
"id": 1,
"name": "text",
"email": "text"
},
"listings": [
{
"id": 1,
"canvas_course_id": 1,
"title": "text",
"amount": "text",
"discounted_amount": "text",
"catalog_id": 1
}
],
"promotions": [
{
"id": 1,
"listing_id": 1,
"code": "text",
"amount": "text"
}
],
"payments": [
{
"reference_id": "text",
"status": "text",
"amount": "text"
}
],
"total": "text",
"currency": "text",
"purchased_at": "text",
"created_at": "text"
}
}General search query
Search by tag name
programs listed
GET /api/v1/programs HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
programs listed
{
"programs": [
{
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"requirements": [
{
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"requirements": [
{}
]
}
]
}
]
}program created
POST /api/v1/programs HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 303
{
"program": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": true,
"visibility": "text",
"enrollment_cap": 1,
"enrollment_fee": 1,
"days_to_complete": 1,
"waitlist": true,
"waitlist_cap": 1,
"list_order": 1,
"sku": "text",
"requirement_ids": [
1
],
"sequential": true,
"tag_names": [
"text"
]
}
}program created
{
"program": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"requirements": [
{
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"requirements": [
{}
]
}
]
}
}Identifier for this program
program found
GET /api/v1/programs/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
program found
{
"program": {
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"requirements": [
{
"id": 1,
"visibility": "text",
"enrollment_open": true,
"enrollment_open_from": "text",
"enrollment_open_to": "text",
"enrollment_cap": 1,
"hide_enrollment_info": true,
"description": "text",
"enrollment_fee": 1,
"created_at": "text",
"credits": 1,
"measurement": "text",
"updated_at": "text",
"short_description": "text",
"listing_path": "text",
"listing_image": "text",
"currency": "text",
"catalog": {
"id": 1,
"name": "text"
},
"type": "text",
"title": "text",
"list_order": 1,
"waitlist": true,
"waitlist_cap": 1,
"sku": "text",
"show_free_banner": true,
"image_alt_text": "text",
"allowed_payment_types": [
"text"
],
"tag_names": [
"text"
],
"listing_url": "text",
"start_date": "text",
"end_date": "text",
"canvas_section_id": 1,
"associated_account_ids": [
1
],
"archived_at": "text",
"sequential": true,
"auto_enroll_courses": true,
"canvas_course": {
"id": 1
},
"instructor_names": [
"text"
],
"primary_instructor_name": "text",
"requirements": [
{}
]
}
]
}
}Identifier for this program
program updated
No content
PUT /api/v1/programs/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 303
{
"program": {
"title": "text",
"description": "text",
"path": "text",
"teaser": "text",
"enrollment_open": true,
"visibility": "text",
"enrollment_cap": 1,
"enrollment_fee": 1,
"days_to_complete": 1,
"waitlist": true,
"waitlist_cap": 1,
"list_order": 1,
"sku": "text",
"requirement_ids": [
1
],
"sequential": true,
"tag_names": [
"text"
]
}
}program updated
No content
Identifier for this program
program deleted
No content
DELETE /api/v1/programs/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
program deleted
No content
archive or reactivate
all programs processed
No content
some programs could not be processed
PUT /api/v1/programs/archived HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"product_action": "text",
"product_ids": [
1
]
}No content
Progress ID
progress found
GET /api/v1/progresses/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
progress found
{
"progress": {
"id": 1,
"account_id": 1,
"canvas_user_id": 1,
"completion_percent": 1,
"workflow_state": "text",
"payload": {},
"created_at": "text",
"updated_at": "text"
}
}Creates many promotions in a single request, all sharing the configuration in promotion.
Supply the codes explicitly via codes, OR ask the server to generate them via generate
(exactly one of the two is required). Up to 1000 codes may be created per request.
The response reports partial success: every requested code appears either in created
or in failed with a reason (e.g. already taken, duplicate in request). A 201 is
returned when all codes were created, 207 when some failed.
Explicit list of codes to create (mutually exclusive with generate)
all codes created
some codes created, some failed
shared configuration invalid, or code source missing/ambiguous
POST /api/v1/promotions/bulk HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 361
{
"promotion": {
"account_id": 1,
"listing_id": 1,
"name": "text",
"description": "text",
"amount": 1,
"discount_type": "flat",
"usage_type": "once-per-user",
"active": true,
"start_date": "text",
"end_date": "text",
"max_per_user": 1,
"max_total_use": 1,
"enable_for_multi_seat_purchases": true
},
"codes": [
"text"
],
"generate": {
"count": 1,
"prefix": "text",
"length": 1,
"charset": "alphanumeric"
}
}{
"summary": {
"requested": 1,
"created": 1,
"failed": 1
},
"created": [
{
"id": 1,
"listing_id": 1,
"code": "text",
"name": "text",
"description": "text",
"amount": "text",
"discount_type": "flat",
"usage_type": "once-per-user",
"active": true,
"start_date": "text",
"end_date": "text",
"max_per_user": 1,
"max_total_use": 1,
"status": "text",
"created_at": "text"
}
],
"failed": [
{
"code": "text",
"errors": [
"text"
]
}
]
}Comma-separated product ids (max 20)
Search tag name and associated product names
Tag has a category or not
tags listed
GET /api/v1/tags HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
tags listed
{
"tags": [
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text"
}
]
}Tag name (1-255 characters)
Product ids to associate
tag created
Tag id
Account id
Tag name
Tag created at
Tag updated at
POST /api/v1/tags HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 33
{
"name": "text",
"product_ids": [
1
]
}tag created
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text"
}Tag id
tag found
Tag id
Account id
Tag name
Tag created at
Tag updated at
GET /api/v1/tags/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
tag found
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text"
}Tag id
New tag name (1-255 characters)
tag updated
Tag id
Account id
Tag name
Tag created at
Tag updated at
PUT /api/v1/tags/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}tag updated
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text"
}Tag id
tag deleted
Tag id
Account id
Tag name
Tag created at
Tag updated at
True to indicate the tag is deleted
DELETE /api/v1/tags/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
tag deleted
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text",
"is_deleted": true
}Tag IDs to delete
tags deleted
DELETE /api/v1/tags/bulk HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 11
{
"ids": [
1
]
}tags deleted
{
"tags": [
{
"id": 1,
"account_id": 1,
"name": "text",
"assigned_listings": [
{
"id": 1,
"title": "text",
"type": "text",
"canvas_course_id": 1,
"archived_at": "text"
}
],
"assigned_categories": [
{
"id": 1,
"account_id": 1,
"tag_id": 1,
"created_at": "text",
"updated_at": "text"
}
],
"created_at": "text",
"updated_at": "text",
"is_deleted": true
}
]
}Catalog user id
user found
GET /api/v1/users/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
user found
{
"user": {
"id": 1,
"root_account_id": 1,
"canvas_user_id": 1,
"registered_account_id": 1,
"canvas_root_account_uuid": "text",
"canvas_user_uuid": "text",
"user_name": "text",
"first_name": "text",
"last_name": "text",
"email_address": "text",
"custom_fields": {},
"created_at": "text",
"updated_at": "text",
"time_zone": "text",
"merged_into_user_id": 1,
"disable_alert_timeouts": true
}
}Set clear_merged_into_user_id to true to resolve the "Current user has been deleted or merged. Please re-login" login error.
Catalog user id
Clear the merged_into_user_id field when true
Custom field values (strings or null); omitted keys are unchanged
user updated
PUT /api/v1/users/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"clear_merged_into_user_id": true,
"custom_fields": {}
}user updated
{
"user": {
"id": 1,
"root_account_id": 1,
"canvas_user_id": 1,
"registered_account_id": 1,
"canvas_root_account_uuid": "text",
"canvas_user_uuid": "text",
"user_name": "text",
"first_name": "text",
"last_name": "text",
"email_address": "text",
"custom_fields": {},
"created_at": "text",
"updated_at": "text",
"time_zone": "text",
"merged_into_user_id": 1,
"disable_alert_timeouts": true
}
}Deletes the user and dependencies. When only_orders_and_enrollments is true, deletes only orders, enrollments, payments, bulk invitations, and applicants — not the user or related account admins.
Catalog user id
Delete only user dependencies, not the user itself
user (and/or dependencies) deleted
No content
DELETE /api/v1/users/{id} HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
user (and/or dependencies) deleted
No content
true = Catalog-registered only; false = Canvas-registered only; omit for all
Canvas user id
Created at from (UTC)
Created at to (UTC)
users listed
GET /api/v1/users HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Accept: */*
users listed
{
"users": [
{
"id": 1,
"root_account_id": 1,
"canvas_user_id": 1,
"registered_account_id": 1,
"canvas_root_account_uuid": "text",
"canvas_user_uuid": "text",
"user_name": "text",
"first_name": "text",
"last_name": "text",
"email_address": "text",
"custom_fields": {},
"created_at": "text",
"updated_at": "text",
"time_zone": "text",
"merged_into_user_id": 1,
"disable_alert_timeouts": true
}
]
}Full user name
E-mail address (also the login)
Subcatalog to associate (defaults to the API key root account)
Custom field values
user registered
POST /api/v1/users HTTP/1.1
Host: catalog.example.edu
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 127
{
"user_name": "text",
"first_name": "text",
"last_name": "text",
"email_address": "text",
"registered_account_id": 1,
"custom_fields": {}
}user registered
{
"user": {
"id": 1,
"root_account_id": 1,
"canvas_user_id": 1,
"registered_account_id": 1,
"canvas_root_account_uuid": "text",
"canvas_user_uuid": "text",
"user_name": "text",
"first_name": "text",
"last_name": "text",
"email_address": "text",
"custom_fields": {},
"created_at": "text",
"updated_at": "text",
"confirmation_url": "text",
"terms_of_use": true,
"locale": "text"
}
}Last updated
Was this helpful?