JWTs
Short term tokens useful for talking to other services in the Canvas Ecosystem. Note: JWTs have no value or use directly against the Canvas API, and expire after one hour
A JWT object looks like:
POST /api/v1/jwts
POST /api/v1/jwts
Scope: url:POST|/api/v1/jwts
Create a unique JWT for use with other Canvas services
Generates a different JWT each time it’s called. Each JWT expires after a short window (1 hour)
Request Parameters:
workflows[]
string
Adds additional data to the JWT to be used by the consuming service workflow
context_type
string
The type of the context to generate the JWT for, in case the workflow requires it. Case insensitive.
Allowed values: Course
, User
, Account
context_id
integer
The id of the context to generate the JWT for, in case the workflow requires it.
context_uuid
string
The uuid of the context to generate the JWT for, in case the workflow requires it. Note that context_id and context_uuid are mutually exclusive. If both are provided, an error will be returned.
canvas_audience
boolean
Defaults to true. If false, the JWT will be signed, but not encrypted, for use in downstream services. The default encrypted behaviour can be used to talk to Canvas itself.
Example Request:
Returns aJWT object.
POST /api/v1/jwts/refresh
POST /api/v1/jwts/refresh
Scope: url:POST|/api/v1/jwts/refresh
Refresh a JWT for use with other canvas services
Generates a different JWT each time it’s called, each one expires after a short window (1 hour).
Request Parameters:
jwt
Required string
An existing JWT token to be refreshed. The new token will have the same context and workflows as the existing token.
Example Request:
Returns aJWT object.
This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated
Was this helpful?