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: schemas: 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 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 responses: Error: description: Error content: application/json: schema: $ref: '#/components/schemas/Error'