The release token.
curl --request GET \ --url https://stratum.example.com/v1/admin/upgrades/release-token \ --header 'Authorization: Bearer <token>'Whether a release token is set, and what the stable release channel
last answered for it. The token itself is never returned.
Install-scope; gates on upgrade:DescribeUpgrade.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The release token’s state.
The release token: the credential that opens the stable
release channel (stableUrl). The token is in OpenBao and never
returned. With a token, and the release mirror set to the default (or to
stableUrl), the update check and every release download read the
stable channel, sending the token as Authorization: Bearer to that host
and no other. When the stable channel does not serve a usable index (it
refuses the token, answers another HTTP error, cannot be reached, or
serves an index that does not verify), that check reads the default
mirror instead, and every later check tries the stable channel again.
status:
none: no token is set.unchecked: set; the next update check uses it.accepted: the stable channel served its release index to the token.revoked: it answered 401, an unknown or revoked token.plan_ended: it answered 403, the company’s Enterprise plan is not in force.unreachable: no connection, a timeout, or another HTTP error (a 404);messagegives the status or the error.invalid: it served an index that does not verify, or one older than the one already read from it;messagesays why.unused: set, but never sent: the release mirror is set to another host, or the update check is off.
object
True when a token is set.
The status in a sentence, for the upgrade settings.
The stable release channel the token is sent to.
When this token was set; null when not known (set before this field existed, or none).
When the stable channel was last read with this token.
Example
{ "status": "none", "stableUrl": "https://releases.stratum-labs.cloud"}Authenticated but not authorized.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}Upstream temporarily unavailable (driver / scheduler / dependency).
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}