Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Oxide Region Tokens API
description: API for interacting with the Oxide control plane
contact:
url: https://oxide.computer
email: api@oxide.computer
version: 2026081901.0.0
tags:
- name: Tokens
description: API clients use device access tokens for authentication.
externalDocs:
url: http://docs.oxide.computer/api/tokens
paths:
/v1/me/access-tokens:
get:
tags:
- Tokens
summary: List access tokens
description: List device access tokens for the currently authenticated user.
operationId: current_user_access_token_list
parameters:
- in: query
name: limit
description: Maximum number of items returned by a single call
schema:
type:
- integer
- 'null'
format: uint32
minimum: 1
- in: query
name: page_token
description: Token returned by previous call to retrieve the subsequent page
schema:
type:
- string
- 'null'
- in: query
name: sort_by
schema:
$ref: '#/components/schemas/IdSortMode'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceAccessTokenResultsPage'
4XX:
$ref: '#/components/responses/Error'
5XX:
$ref: '#/components/responses/Error'
x-dropshot-pagination:
required: []
/v1/me/access-tokens/{token_id}:
delete:
tags:
- Tokens
summary: Delete access token
description: Delete a device access token for the currently authenticated user.
operationId: current_user_access_token_delete
parameters:
- in: path
name: token_id
description: ID of the token
required: true
schema:
type: string
format: uuid
responses:
'204':
description: successful deletion
4XX:
$ref: '#/components/responses/Error'
5XX:
$ref: '#/components/responses/Error'
components:
responses:
Error:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
description: Error information from a response.
type: object
properties:
error_code:
type: string
message:
type: string
request_id:
type: string
required:
- message
- request_id
DeviceAccessToken:
description: View of a device access token
type: object
properties:
id:
description: 'A unique, immutable, system-controlled identifier for the token.
Note that this ID is not the bearer token itself, which starts with "oxide-token-".'
type: string
format: uuid
time_created:
type: string
format: date-time
time_expires:
description: Expiration timestamp. A null value means the token does not automatically expire.
type:
- string
- 'null'
format: date-time
required:
- id
- time_created
DeviceAccessTokenResultsPage:
description: A single page of results
type: object
properties:
items:
description: list of items on this page of results
type: array
items:
$ref: '#/components/schemas/DeviceAccessToken'
next_page:
description: token used to fetch the next page of results (if any)
type:
- string
- 'null'
required:
- items
IdSortMode:
description: 'Supported set of sort modes for scanning by id only.
Currently, we only support scanning in ascending order.'
oneOf:
- description: Sort in increasing order of "id"
type: string
enum:
- id_ascending