Linode Trusted devices API
View details about trusted devices associated with your user account. If needed, you can revoke a trusted device so any future login attempts from that device will go through the full authentication process.
View details about trusted devices associated with your user account. If needed, you can revoke a trusted device so any future login attempts from that device will go through the full authentication process.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/linode:linode-trusted-devices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines.
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: 'Akamai: Linode Trusted devices API'
version: 4.229.1
servers:
- url: https://api.linode.com
tags:
- description: View details about trusted devices associated with your user account. If needed, you can revoke a trusted device so any future login attempts from that device will go through the full authentication process.
name: Trusted devices
paths:
/{apiVersion}/profile/devices:
parameters:
- description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.
example: '{{apiVersion}}'
in: path
name: apiVersion
required: true
schema:
enum:
- v4
- v4beta
example: v4
type: string
x-akamai:
file-path: parameters/api-version-path.yaml
x-akamai:
file-path: paths/profile-devices.yaml
path-info: /{apiVersion}/profile/devices
x-linode-cli-command: profile
get:
description: 'Returns a paginated list of active trusted devices for your user. Browsers with an active Remember Me Session are logged into your account until the session expires or is revoked.
**Permissions and scopes**
To call this operation, you need the following:
- **Identity and access permissions**. Your user needs a role with these permissions assigned. Learn more.
- Permissions: `list_profile_devices`
- **OAuth scopes**. Your user needs these scopes assigned. Learn more.
- Scopes: `account:read_only`
**CLI**
```shell
linode-cli profile devices-list
```
Learn more'
externalDocs:
description: See documentation for this operation in Akamai's Linode API
url: https://techdocs.akamai.com/linode-api/reference/get-devices
operationId: get-devices
responses:
'200':
content:
application/json:
example:
data:
- created: '2018-01-01T01:01:01'
expiry: '2018-01-31T01:01:01'
id: 123
last_authenticated: '2018-01-05T12:57:12'
last_remote_addr: 203.0.113.1
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36
page: 1
pages: 1
results: 1
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
description: A trusted device object represents an active Remember Me session with [login.linode.com](https://login.linode.com).
properties:
created:
description: __Read-only__ When this Remember Me session was started. This corresponds to the time of login with the "Remember Me" box checked.
example: '2018-01-01T01:01:01'
readOnly: true
type: string
expiry:
description: __Read-only__ When this TrustedDevice session expires. Sessions typically last 30 days.
example: '2018-01-31T01:01:01'
readOnly: true
type: string
id:
description: __Read-only__ The unique ID for this TrustedDevice.
example: 123
readOnly: true
type: integer
last_authenticated:
description: __Read-only__ The last time this TrustedDevice was successfully used to authenticate to [login.linode.com](https://login.linode.com).
example: '2018-01-05T12:57:12'
readOnly: true
type: string
last_remote_addr:
description: __Read-only__ The last IP Address to successfully authenticate with this TrustedDevice.
example: 203.0.113.1
readOnly: true
type: string
user_agent:
description: __Read-only__ The User Agent of the browser that created this TrustedDevice session.
example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36
readOnly: true
type: string
type: object
x-akamai:
file-path: schemas/trusted-device.yaml
type: array
page:
description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).
example: 1
readOnly: true
type: integer
pages:
description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).
example: 1
readOnly: true
type: integer
results:
description: __Read-only__ The total number of results.
example: 1
readOnly: true
type: integer
type: object
x-akamai:
file-path: schemas/get-devices-200.yaml
description: Returns a paginated list of TrustedDevice objects.
default:
content:
application/json:
example:
errors:
- reason: Invalid JSON
schema:
additionalProperties: false
properties:
errors:
description: Any warnings associated with a response.
items:
additionalProperties: false
description: An object for describing a single error that occurred during the processing of a request.
properties:
field:
description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.
example: fieldname
type: string
reason:
description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.
example: fieldname must be a valid value
type: string
type: object
x-akamai:
file-path: schemas/error-object.yaml
type: array
type: object
description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes.
security:
- personalAccessToken: []
- oauth:
- account:read_only
summary: List trusted devices
tags:
- Trusted devices
x-akamai:
tabs:
- syntax: linode-cli profile devices-list
title: CLI
url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
x-linode-cli-action: devices-list
x-linode-iam:
- permissions:
- list_profile_devices
/{apiVersion}/profile/devices/{deviceId}:
parameters:
- description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.
example: '{{apiVersion}}'
in: path
name: apiVersion
required: true
schema:
enum:
- v4
- v4beta
example: v4
type: string
x-akamai:
file-path: parameters/api-version-path.yaml
- description: The ID of the TrustedDevice.
example: '{{deviceId}}'
in: path
name: deviceId
required: true
schema:
example: 768
type: integer
x-akamai:
file-path: parameters/device-id-path-b3b3e692.yaml
x-akamai:
file-path: paths/profile-device.yaml
path-info: /{apiVersion}/profile/devices/{deviceId}
x-linode-cli-command: profile
get:
description: 'Returns a single active trusted device for your user.
**Permissions and scopes**
To call this operation, you need the following:
- **Identity and access permissions**. Your user needs a role with these permissions assigned. Learn more.
- Permissions: `view_profile_device`
- **OAuth scopes**. Your user needs these scopes assigned. Learn more.
- Scopes: `account:read_only`
**CLI**
```shell
linode-cli profile device-view 123
```
Learn more'
externalDocs:
description: See documentation for this operation in Akamai's Linode API
url: https://techdocs.akamai.com/linode-api/reference/get-trusted-device
operationId: get-trusted-device
responses:
'200':
content:
application/json:
example:
created: '2018-01-01T01:01:01'
expiry: '2018-01-31T01:01:01'
id: 123
last_authenticated: '2018-01-05T12:57:12'
last_remote_addr: 203.0.113.1
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36
schema:
additionalProperties: false
description: A trusted device object represents an active Remember Me session with [login.linode.com](https://login.linode.com).
properties:
created:
description: __Read-only__ When this Remember Me session was started. This corresponds to the time of login with the "Remember Me" box checked.
example: '2018-01-01T01:01:01'
readOnly: true
type: string
expiry:
description: __Read-only__ When this TrustedDevice session expires. Sessions typically last 30 days.
example: '2018-01-31T01:01:01'
readOnly: true
type: string
id:
description: __Read-only__ The unique ID for this TrustedDevice.
example: 123
readOnly: true
type: integer
last_authenticated:
description: __Read-only__ The last time this TrustedDevice was successfully used to authenticate to [login.linode.com](https://login.linode.com).
example: '2018-01-05T12:57:12'
readOnly: true
type: string
last_remote_addr:
description: __Read-only__ The last IP Address to successfully authenticate with this TrustedDevice.
example: 203.0.113.1
readOnly: true
type: string
user_agent:
description: __Read-only__ The User Agent of the browser that created this TrustedDevice session.
example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36
readOnly: true
type: string
type: object
x-akamai:
file-path: schemas/trusted-device.yaml
description: The requested TrustedDevice object.
default:
content:
application/json:
example:
errors:
- reason: Invalid JSON
schema:
additionalProperties: false
properties:
errors:
description: Any warnings associated with a response.
items:
additionalProperties: false
description: An object for describing a single error that occurred during the processing of a request.
properties:
field:
description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.
example: fieldname
type: string
reason:
description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.
example: fieldname must be a valid value
type: string
type: object
x-akamai:
file-path: schemas/error-object.yaml
type: array
type: object
description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes.
security:
- personalAccessToken: []
- oauth:
- account:read_only
summary: Get a trusted device
tags:
- Trusted devices
x-akamai:
tabs:
- syntax: linode-cli profile device-view 123
title: CLI
url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
x-linode-cli-action: device-view
x-linode-iam:
- permissions:
- view_profile_device
delete:
description: 'Revoke an active trusted device for your user. Once a trusted device is revoked, this device will have to log in again before accessing your account.
**Permissions and scopes**
To call this operation, you need the following:
- **Identity and access permissions**. Your user needs a role with these permissions assigned. Learn more.
- Permissions: `revoke_profile_device`
- **OAuth scopes**. Your user needs these scopes assigned. Learn more.
- Scopes: `account:read_write`
**CLI**
```shell
linode-cli profile device-revoke 123
```
Learn more'
externalDocs:
description: See documentation for this operation in Akamai's Linode API
url: https://techdocs.akamai.com/linode-api/reference/delete-trusted-device
operationId: delete-trusted-device
responses:
'200':
content:
application/json:
example: {}
schema:
description: The API responds with an empty object.
maxProperties: 0
type: object
x-akamai:
file-path: schemas/added-empty-obj.yaml
description: Session revoked successfully.
default:
content:
application/json:
example:
errors:
- reason: Invalid JSON
schema:
additionalProperties: false
properties:
errors:
description: Any warnings associated with a response.
items:
additionalProperties: false
description: An object for describing a single error that occurred during the processing of a request.
properties:
field:
description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.
example: fieldname
type: string
reason:
description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.
example: fieldname must be a valid value
type: string
type: object
x-akamai:
file-path: schemas/error-object.yaml
type: array
type: object
description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes.
security:
- personalAccessToken: []
- oauth:
- account:read_write
summary: Revoke a trusted device
tags:
- Trusted devices
x-akamai:
tabs:
- syntax: linode-cli profile device-revoke 123
title: CLI
url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
x-linode-cli-action: device-revoke
x-linode-iam:
- permissions:
- revoke_profile_device
components:
securitySchemes:
oauth:
flows:
authorizationCode:
authorizationUrl: https://login.linode.com/oauth/authorize
scopes:
account:read_only: Allows access to GET information about your account.
account:read_write: Allows access to all endpoints related to your account.
child_account:read_only: Allows access to GET information about deprecated parent/child operations.
child_account:read_write: Allows access to deprecated parent/child operations.
databases:read_only: Allows access to GET information about databases.
databases:read_write: Allows access to all endpoints related to databases.
domains:read_only: Allows access to GET Domains on your account.
domains:read_write: Allows access to all Domain endpoints.
events:read_only: Allows access to GET your Events.
events:read_write: Allows access to all endpoints related to your Events.
firewall:read_only: Allows access to GET information about your Firewalls.
firewall:read_write: Allows access to all Firewall endpoints.
images:read_only: Allows access to GET your Images.
images:read_write: Allows access to all endpoints related to your Images.
ips:read_only: Allows access to GET your ips.
ips:read_write: Allows access to all endpoints related to your ips.
linodes:read_only: Allows access to GET Linodes on your account.
linodes:read_write: Allow access to all endpoints related to your Linodes.
lke:read_only: Allows access to GET LKE Clusters on your account.
lke:read_write: Allows access to all endpoints related to LKE Clusters on your account.
longview:read_only: Allows access to GET your Longview Clients.
longview:read_write: Allows access to all endpoints related to your Longview Clients.
monitor:read_only: Allows access to Monitor (Akamai Cloud Pulse) data.
monitor:read_write: Allows access to GET Monitor (Akamai Cloud Pulse) data.
nodebalancers:read_only: Allows access to GET NodeBalancers on your account.
nodebalancers:read_write: Allows access to all NodeBalancer endpoints.
object_storage:read_only: Allows access to GET information related to your Object Storage.
object_storage:read_write: Allows access to all Object Storage endpoints.
stackscripts:read_only: Allows access to GET your StackScripts.
stackscripts:read_write: Allows access to all endpoints related to your StackScripts.
volumes:read_only: Allows access to GET your Volumes.
volumes:read_write: Allows access to all endpoints related to your Volumes.
vpc:read_write: Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion.
tokenUrl: https://login.linode.com/oauth/token
type: oauth2
personalAccessToken:
scheme: bearer
type: http
externalDocs:
description: See documentation for Akamai's Linode API
url: https://techdocs.akamai.com/linode-api/reference
x-readme:
explorer-enabled: false
samples-languages:
- curl
- python
- node