How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canvas Accounts API

The Accounts API from Canvas — 19 operation(s) for accounts.

Canvas Accounts API is one of 145 APIs that Canvas publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Account. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, a GitHub repository, an API reference, and rate-limit docs.

This API exposes 21 operations across 19 paths, and defines 4 schemas. It is described by OpenAPI 3.2.0, at version v1.

Requests are made against 2 base URLs: https://canvas.instructure.com/api, https://{canvas_host}/api.

21 operations 19 paths 4 schemas 3 DELETE14 GET1 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v1
Base URL
https://canvas.instructure.com/api/v1
Authentication
HTTP Bearer, OAuth 2.0
License
Resource Areas
1

Authentication & Security 2

Canvas Accounts API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). It supports OAuth 2.0 (oauth2) using the authorizationCode flow. By default, every request must be authenticated.

  • bearerAuth — Canvas OAuth2 access token sent as "Authorization: Bearer ". See https://canvas.instructure.com/doc/api/file.oauth.html
  • oauth2 — Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauthendpoints.html

Paths & Operations 21

Across 19 paths, the API surfaces 21 operations — 3 DELETE, 14 GET, 1 POST, 3 PUT. Each is listed below with its method, path, parameters, and response codes.

Accounts 21
GET
/v1/accounts
List accounts
list_accounts 1 param → 200
GET
/v1/horizon_accounts
List horizon accounts
list_horizon_accounts 1 param → 200
GET
/v1/manageable_accounts
Get accounts that admins can manage
get_accounts_that_admins_can_manage → 200
GET
/v1/course_creation_accounts
Get accounts that users can create courses in
get_accounts_that_users_can_create_courses_in → 200
GET
/v1/course_accounts
List accounts for course admins
list_accounts_for_course_admins → 200
GET
/v1/accounts/{id}
Get a single account
get_single_account 1 param → 200
PUT
/v1/accounts/{id}
Update an account
update_account 1 param body → 200
GET
/v1/accounts/{account_id}/settings
Settings
settings 1 param → 200
GET
/v1/settings/environment
List environment settings
list_environment_settings → 200
GET
/v1/accounts/{account_id}/permissions
Permissions
permissions 2 params → 200
GET
/v1/accounts/{account_id}/sub_accounts
Get the sub-accounts of an account
get_sub_accounts_of_account 4 params → 200
POST
/v1/accounts/{account_id}/sub_accounts
Create a new sub-account
create_new_sub_account 1 param body → 200
GET
/v1/accounts/{account_id}/terms_of_service
Get the Terms of Service
get_terms_of_service 1 param → 200
GET
/v1/accounts/{account_id}/help_links
Get help links
get_help_links 1 param → 200
GET
/v1/manually_created_courses_account
Get the manually-created courses sub-account for the domain root account
get_manually_created_courses_sub_account_for_domain_root_account → 200
GET
/v1/accounts/{account_id}/courses
List active courses in an account
list_active_courses_in_account 22 params → 200
DELETE
/v1/accounts/{account_id}/users/{user_id}
Delete a user from the root account
delete_user_from_root_account 2 params → 200
DELETE
/v1/accounts/{account_id}/users
Delete multiple users from the root account
delete_multiple_users_from_root_account 1 param → 200
PUT
/v1/accounts/{account_id}/users/bulk_update
Update multiple users
update_multiple_users 1 param body → 200
PUT
/v1/accounts/{account_id}/users/{user_id}/restore
Restore a deleted user from a root account
restore_deleted_user_from_root_account 2 params → 200
DELETE
/v1/accounts/{account_id}/sub_accounts/{id}
Delete a sub-account
delete_sub_account 2 params → 200

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Account__accounts (17 properties), TermsOfService (6 properties), HelpLink (6 properties), HelpLinks (4 properties). Each schema is shown below with its type and property counts.

HelpLinks
object
4 properties
HelpLink
object
6 properties
Account__accounts
object
17 properties
TermsOfService
object
6 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canvas-accounts-api-openapi.yml Raw ↑

Other APIs Canvas publishes across the network.

Canvas LMS GraphQL API
Canvas LTI Integrations
Canvas Courses API
Canvas Access Tokens API
Canvas Accessibility Course Scans API
Canvas Accessibility Course Statistics API
Canvas Account Calendars API
Canvas Account Domain Lookups API
Canvas Account Notifications API
Canvas Account Reports API
Canvas Accounts (Lti) API
Canvas Admins API
Where this information came from

This is an independent, third-party profile of Canvas Accounts API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.