Skip to content

Reissue Token

POST
/api/canvas/{deal_id}/token/reissue
curl --request POST \
--url https://example.com/api/canvas/example/token/reissue

Reissue a fresh token from an expired one.

Unlike /token/refresh, this accepts EXPIRED tokens. The token’s signature is still verified to prove it was legitimately issued by this service. User access is re-verified via the deal queue or Canvas session.

Security model:

  1. Signature verification proves token authenticity (rejects forged tokens)
  2. Deal queue lookup proves user is authorized for the deal
  3. Canvas session fallback verifies the session creator

Args: deal_id: Deal ID the token should be scoped to

Returns: {“token”: “<new_jwt>”, “expires_in_minutes”: 480}

Raises: 401: Token signature invalid, missing, or user not authorized 403: Token’s deal_id doesn’t match the path

deal_id
required
Deal Id
string

Successful Response

Media type application/json
RefreshTokenResponse

Response from token refresh / reissue / superadmin-token endpoints.

object
token
required
Token
string
expires_in_minutes
required
Expires In Minutes
integer
Example generated
{
"token": "example",
"expires_in_minutes": 1
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}