# Canvas Files API

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

Canvas Files 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 File. 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 Files API from Canvas — 43 operation(s) for files.

## Operations (53)

| Method | Path | Summary |
|---|---|---|
| GET | `/v1/courses/{course_id}/files` | List files |
| GET | `/v1/courses/{course_id}/files/quota` | Get quota information |
| GET | `/v1/groups/{group_id}/files/quota` | Get quota information |
| GET | `/v1/users/{user_id}/files/quota` | Get quota information |
| GET | `/v1/users/{user_id}/files` | List files |
| GET | `/v1/groups/{group_id}/files` | List files |
| GET | `/v1/folders/{id}/files` | List files |
| GET | `/v1/files/{id}/public_url` | Get public inline preview url |
| GET | `/v1/files/{id}` | Get file |
| PUT | `/v1/files/{id}` | Update file |
| DELETE | `/v1/files/{id}` | Delete file |
| GET | `/v1/courses/{course_id}/files/{id}` | Get file |
| GET | `/v1/groups/{group_id}/files/{id}` | Get file |
| GET | `/v1/users/{user_id}/files/{id}` | Get file |
| GET | `/v1/courses/{course_id}/files/file_ref/{migration_id}` | Translate file reference |
| GET | `/v1/files/{id}/icon_metadata` | Get icon metadata |
| POST | `/v1/files/{id}/reset_verifier` | Reset link verifier |
| POST | `/v1/files/update_word_count` | Update word count |
| GET | `/v1/folders/{id}/folders` | List folders |
| GET | `/v1/courses/{course_id}/folders` | List all folders |
| POST | `/v1/courses/{course_id}/folders` | Create folder |
| GET | `/v1/users/{user_id}/folders` | List all folders |
| POST | `/v1/users/{user_id}/folders` | Create folder |
| GET | `/v1/groups/{group_id}/folders` | List all folders |
| POST | `/v1/groups/{group_id}/folders` | Create folder |
| GET | `/v1/courses/{course_id}/folders/by_path/*full_path` | Resolve path |
| GET | `/v1/courses/{course_id}/folders/by_path` | Resolve path |
| GET | `/v1/users/{user_id}/folders/by_path/*full_path` | Resolve path |
| GET | `/v1/users/{user_id}/folders/by_path` | Resolve path |
| GET | `/v1/groups/{group_id}/folders/by_path/*full_path` | Resolve path |
| GET | `/v1/groups/{group_id}/folders/by_path` | Resolve path |
| GET | `/v1/courses/{course_id}/folders/{id}` | Get folder |
| GET | `/v1/users/{user_id}/folders/{id}` | Get folder |
| GET | `/v1/groups/{group_id}/folders/{id}` | Get folder |
| GET | `/v1/folders/{id}` | Get folder |
| PUT | `/v1/folders/{id}` | Update folder |
| DELETE | `/v1/folders/{id}` | Delete folder |
| POST | `/v1/folders/{folder_id}/folders` | Create folder |
| POST | `/v1/accounts/{account_id}/folders` | Create folder |
| POST | `/v1/folders/{folder_id}/files` | Upload a file |
| POST | `/v1/folders/{dest_folder_id}/copy_file` | Copy a file |
| POST | `/v1/folders/{dest_folder_id}/copy_folder` | Copy a folder |
| GET | `/v1/courses/{course_id}/folders/media` | Get uploaded media folder for user |
| GET | `/v1/groups/{group_id}/folders/media` | Get uploaded media folder for user |
| PUT | `/v1/courses/{course_id}/usage_rights` | Set usage rights |
| DELETE | `/v1/courses/{course_id}/usage_rights` | Remove usage rights |
| PUT | `/v1/groups/{group_id}/usage_rights` | Set usage rights |
| DELETE | `/v1/groups/{group_id}/usage_rights` | Remove usage rights |
| PUT | `/v1/users/{user_id}/usage_rights` | Set usage rights |
| DELETE | `/v1/users/{user_id}/usage_rights` | Remove usage rights |
| GET | `/v1/courses/{course_id}/content_licenses` | List licenses |
| GET | `/v1/groups/{group_id}/content_licenses` | List licenses |
| GET | `/v1/users/{user_id}/content_licenses` | List licenses |

## Machine-readable artifacts (11)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/openapi/canvas-files-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

File

---

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