# Canvas Users API

**Canonical:** https://apis.io/apis/canvas/canvas-users-api/  
**Provider:** Canvas — https://apis.io/providers/canvas/  
**Base URL:** https://canvas.instructure.com/api/v1  
**Documentation:** https://canvas.instructure.com/doc/api/

Canvas Users API is one of 145 APIs that [Canvas](https://apis.io/providers/canvas/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include User. 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.

The Users API from Canvas — 38 operation(s) for users.

## Operations (48)

| Method | Path | Summary |
|---|---|---|
| GET | `/v1/accounts/{account_id}/users` | List users in account |
| POST | `/v1/accounts/{account_id}/users` | Create a user |
| POST | `/v1/users/{user_id}/files` | Upload a file |
| GET | `/v1/users/self/activity_stream` | List the activity stream |
| DELETE | `/v1/users/self/activity_stream` | Hide all stream items |
| GET | `/v1/users/activity_stream` | List the activity stream |
| GET | `/v1/users/self/activity_stream/summary` | Activity stream summary |
| GET | `/v1/users/self/todo` | List the TODO items |
| GET | `/v1/users/self/todo_item_count` | List counts for todo items |
| GET | `/v1/users/self/upcoming_events` | List upcoming assignments, calendar events |
| GET | `/v1/users/{user_id}/missing_submissions` | List Missing Submissions |
| DELETE | `/v1/users/self/activity_stream/{id}` | Hide a stream item |
| GET | `/v1/users/{id}` | Show user details |
| PUT | `/v1/users/{id}` | Edit a user |
| POST | `/v1/accounts/{account_id}/self_registration` | [DEPRECATED] Self register a user |
| GET | `/v1/users/{id}/settings` | Update user settings |
| GET | `/v1/users/{id}/colors` | Get custom colors |
| GET | `/v1/users/{id}/colors/{asset_string}` | Get custom color |
| PUT | `/v1/users/{id}/colors/{asset_string}` | Update custom color |
| PUT | `/v1/users/{id}/text_editor_preference` | Update text editor preference |
| PUT | `/v1/users/{id}/files_ui_version_preference` | Update files UI version preference |
| GET | `/v1/users/{id}/dashboard_positions` | Get dashboard positions |
| PUT | `/v1/users/{id}/dashboard_positions` | Update dashboard positions |
| DELETE | `/v1/users/{id}/sessions` | Terminate all user sessions |
| DELETE | `/v1/users/mobile_sessions` | Log users out of all mobile apps |
| DELETE | `/v1/users/{id}/mobile_sessions` | Log users out of all mobile apps |
| PUT | `/v1/users/{id}/merge_into/{destination_user_id}` | Merge user into another user |
| PUT | `/v1/users/{id}/merge_into/accounts/{destination_account_id}/users/{destination_user_id}` | Merge user into another user |
| POST | `/v1/users/{id}/split` | Split merged users into separate users |
| POST | `/v1/users/self/pandata_events_token` | Get a Pandata Events jwt token and its expiration date |
| GET | `/v1/users/{id}/graded_submissions` | Get a users most recently graded submissions |
| GET | `/v1/users/{user_id}/profile` | Get user profile |
| GET | `/v1/users/{user_id}/avatars` | List avatar options |
| GET | `/v1/users/{user_id}/page_views` | List user page views |
| POST | `/v1/users/{user_id}/page_views/query` | BETA - Initiate page views query |
| GET | `/v1/users/{user_id}/page_views/query/{query_id}` | BETA - Poll query status |
| GET | `/v1/users/{user_id}/page_views/query/{query_id}/results` | BETA - Get query results |
| POST | `/v1/users/page_views/query` | BETA - Initiate batch page views query |
| GET | `/v1/users/page_views/query/{query_id}` | BETA - Poll batch query status |
| GET | `/v1/users/page_views/query/{query_id}/results` | BETA - Get batch query results |
| PUT | `/v1/users/{user_id}/custom_data` | Store custom data |
| GET | `/v1/users/{user_id}/custom_data` | Load custom data |
| DELETE | `/v1/users/{user_id}/custom_data` | Delete custom data |
| GET | `/v1/users/self/course_nicknames` | List course nicknames |
| DELETE | `/v1/users/self/course_nicknames` | Clear course nicknames |
| GET | `/v1/users/self/course_nicknames/{course_id}` | Get course nickname |
| PUT | `/v1/users/self/course_nicknames/{course_id}` | Set course nickname |
| DELETE | `/v1/users/self/course_nicknames/{course_id}` | Remove course nickname |

## Machine-readable artifacts (11)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/openapi/canvas-users-api-openapi.yml
- **Documentation** — https://canvas.instructure.com/doc/api/
- **Authentication** — https://canvas.instructure.com/doc/api/file.oauth.html
- **Pagination** — https://canvas.instructure.com/doc/api/file.pagination.html
- **GitHubRepository** — https://github.com/instructure/canvas-lms
- **APIReference** — https://canvas.instructure.com/doc/api/
- **Swagger** — https://canvas.instructure.com/doc/api/api-docs.json
- **RateLimits** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/rate-limits/canvas-rate-limits.yml
- **OAuthScopes** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/scopes/canvas-scopes.yml
- **ErrorCatalog** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/errors/canvas-problem-types.yml
- **DataModel** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/data-model/canvas-data-model.yml

## Other Canvas APIs (12)

- [Canvas LMS GraphQL API](https://apis.io/apis/canvas/canvas-lms-graphql-api/)
- [Canvas LTI Integrations](https://apis.io/apis/canvas/canvas-lti-integrations/)
- [Canvas Courses API](https://apis.io/apis/canvas/canvas-courses-api/)
- [Canvas Access Tokens API](https://apis.io/apis/canvas/canvas-access-tokens-api/)
- [Canvas Accessibility Course Scans API](https://apis.io/apis/canvas/canvas-accessibility-course-scans-api/)
- [Canvas Accessibility Course Statistics API](https://apis.io/apis/canvas/canvas-accessibility-course-statistics-api/)
- [Canvas Account Calendars API](https://apis.io/apis/canvas/canvas-account-calendars-api/)
- [Canvas Account Domain Lookups API](https://apis.io/apis/canvas/canvas-account-domain-lookups-api/)
- [Canvas Account Notifications API](https://apis.io/apis/canvas/canvas-account-notifications-api/)
- [Canvas Account Reports API](https://apis.io/apis/canvas/canvas-account-reports-api/)
- [Canvas Accounts API](https://apis.io/apis/canvas/canvas-accounts-api/)
- [Canvas Accounts (Lti) API](https://apis.io/apis/canvas/canvas-accounts-lti-api/)

## Tags

User

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/canvas/canvas-users-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/canvas/.
