canvas api
canvas api¶
Make raw API requests to Canvas
Synopsis¶
Make raw API requests to any Canvas API endpoint.
This command provides direct access to the Canvas API for advanced use cases or endpoints not yet supported by dedicated commands.
Methods: GET, POST, PUT, DELETE, PATCH, HEAD
Examples:
# List all courses
canvas api GET /api/v1/courses
# Create a course (with JSON body)
canvas api POST /api/v1/accounts/1/courses -d '{"course":{"name":"Test Course"}}'
# Search users with query parameters
canvas api GET /api/v1/users -q "search_term=john" -q "per_page=50"
# Update an assignment
canvas api PUT /api/v1/courses/123/assignments/456 -d '{"assignment":{"name":"Updated"}}'
# Delete an assignment
canvas api DELETE /api/v1/courses/123/assignments/456
# Get all pages of a paginated endpoint
canvas api GET /api/v1/courses --paginate
# Read body from file
canvas api POST /api/v1/accounts/1/courses --data-file course.json
Options¶
-d, --data string JSON data for request body
--data-file string Read JSON data from file
-H, --header stringArray Custom headers (key:value, repeatable)
-h, --help help for api
--paginate Follow pagination links (GET only)
-q, --query stringArray Query parameters (key=value, repeatable)
--raw Output raw response without formatting
--show-headers Include response headers in output
Options inherited from parent commands¶
--as-user int Masquerade as another user (admin feature, requires permission)
--columns strings Select specific columns to display (comma-separated)
--config string config file (default is $HOME/.canvas-cli/config.yaml)
--dry-run Print curl commands instead of executing requests
--filter string Filter results by text (case-insensitive substring match)
--instance string Canvas instance URL (overrides config)
--limit int Limit number of results for list operations (0 = unlimited)
--no-cache Disable caching of API responses
-o, --output string Output format: table, json, yaml, csv (default "table")
--show-token Show actual token in dry-run output (default: redacted)
--sort string Sort results by field (prefix with - for descending, e.g., -name)
-v, --verbose Enable verbose output
SEE ALSO¶
- canvas - Canvas LMS CLI - Interact with Canvas from the command line