openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com 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 Personal access tokens API' version: 4.215.0 servers: - url: https://api.linode.com tags: - description: Manage personal access tokens for your user account. Personal access tokens can be used for authentication with the Linode API. name: Personal Access Tokens paths: /{apiVersion}/profile/tokens: 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 type: string x-akamai: file-path: parameters/api-version-path.yaml x-akamai: file-path: paths/profile-tokens.yaml path-info: /{apiVersion}/profile/tokens x-linode-cli-command: profile post: description: 'Creates a Personal Access Token for your User. The raw token will be returned in the response, but will never be returned again afterward so be sure to take note of it. You may create a token with _at most_ the scopes of your current token. The created token will be able to access your Account until the given expiry, or until it is revoked. __Parent and child accounts__ In a parent and child account environment, the following apply: - If you''re using a child account parent user (proxy user), you can''t create this form of token. The only token available to a proxy user is one that lets you run operations in a child account. These are created with the Create a proxy user token operation. > --- - __CLI__. ``` linode-cli profile token-create \ --scopes ''*'' \ --expiry ''2018-01-01T13:46:32'' \ --label linode-cli ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-personal-access-token operationId: post-personal-access-token requestBody: content: application/json: schema: additionalProperties: false properties: expiry: description: When this token should be valid until. If omitted, the new token will be valid until it is manually revoked. example: '{{expiry}}' format: date-time type: - string - 'null' label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: '{{label}}' maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: 'The access [scopes](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) to grant to the created token. These cannot be changed after creation, and may not exceed the scopes of the acting token. If omitted or entered with a wildcard character (`*`), the new token will have the same scopes as the acting token. Multiple scopes are separated by a space character (` `). For example, `linodes:read_write account:read_only`.' example: '{{scopes}}' format: oauth-scope type: string type: object x-akamai: file-path: schemas/post-personal-access-token.yaml x-example: x-ref: ../examples/post-personal-access-token.json description: Information about the requested token. required: true responses: '200': content: application/json: schema: additionalProperties: false description: A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations. properties: created: description: __Filterable__, __Read-only__ The date and time this token was created. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true expiry: description: __Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked. example: '2018-01-01T13:46:32' format: date-time readOnly: true type: string x-linode-cli-display: 6 id: description: __Read-only__ This token's unique ID, which can be used to revoke it. example: 123 readOnly: true type: integer x-linode-cli-display: 1 label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: linode-cli maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: __Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. example: '*' format: oauth-scopes readOnly: true type: string x-linode-cli-display: 3 token: description: __Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. example: abcdefghijklmnop readOnly: true type: string x-linode-cli-display: 5 type: object x-akamai: file-path: schemas/personal-access-token.yaml x-example: x-ref: ../examples/post-personal-access-token-200.json description: Token created successfully. default: content: application/json: schema: additionalProperties: false properties: errors: 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: Create a personal access token tags: - Personal Access Tokens x-akamai: tabs: - syntax: "linode-cli profile token-create \\\n --scopes '*' \\\n --expiry '2018-01-01T13:46:32' \\\n --label linode-cli" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: token-create get: description: 'Returns a paginated list of Personal Access Tokens currently active for your User. > --- - __CLI__. ``` linode-cli profile tokens-list ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-personal-access-tokens operationId: get-personal-access-tokens responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: additionalProperties: false description: A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations. properties: created: description: __Filterable__, __Read-only__ The date and time this token was created. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true expiry: description: __Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked. example: '2018-01-01T13:46:32' format: date-time readOnly: true type: string x-linode-cli-display: 6 id: description: __Read-only__ This token's unique ID, which can be used to revoke it. example: 123 readOnly: true type: integer x-linode-cli-display: 1 label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: linode-cli maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: __Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. example: '*' format: oauth-scopes readOnly: true type: string x-linode-cli-display: 3 token: description: __Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. example: abcdefghijklmnop readOnly: true type: string x-linode-cli-display: 5 type: object x-akamai: file-path: schemas/personal-access-token.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-personal-access-tokens-200.yaml x-example: x-ref: ../examples/get-personal-access-tokens-200.json description: A paginated list of active tokens. default: content: application/json: schema: additionalProperties: false properties: errors: 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 personal access tokens tags: - Personal Access Tokens x-akamai: tabs: - syntax: linode-cli profile tokens-list title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: tokens-list /{apiVersion}/profile/tokens/{tokenId}: 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 type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The ID of the token to access. example: '{{tokenId}}' in: path name: tokenId required: true schema: example: 268 type: integer x-akamai: file-path: parameters/token-id-path.yaml x-akamai: file-path: paths/profile-token.yaml path-info: /{apiVersion}/profile/tokens/{tokenId} x-linode-cli-command: profile get: description: 'Returns a single Personal Access Token. > --- - __CLI__. ``` linode-cli profile token-view 123 ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-personal-access-token operationId: get-personal-access-token responses: '200': content: application/json: schema: additionalProperties: false description: A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations. properties: created: description: __Filterable__, __Read-only__ The date and time this token was created. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true expiry: description: __Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked. example: '2018-01-01T13:46:32' format: date-time readOnly: true type: string x-linode-cli-display: 6 id: description: __Read-only__ This token's unique ID, which can be used to revoke it. example: 123 readOnly: true type: integer x-linode-cli-display: 1 label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: linode-cli maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: __Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. example: '*' format: oauth-scopes readOnly: true type: string x-linode-cli-display: 3 token: description: __Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. example: abcdefghijklmnop readOnly: true type: string x-linode-cli-display: 5 type: object x-akamai: file-path: schemas/personal-access-token.yaml x-example: x-ref: ../examples/get-personal-access-token-200.json description: The requested token. default: content: application/json: schema: additionalProperties: false properties: errors: 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 personal access token tags: - Personal Access Tokens x-akamai: tabs: - syntax: linode-cli profile token-view 123 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: token-view put: description: 'Updates a Personal Access Token. > --- - __CLI__. ``` linode-cli profile token-update 123 \ --label linode-cli ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-personal-access-token operationId: put-personal-access-token requestBody: content: application/json: schema: additionalProperties: false description: A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations. properties: created: description: __Filterable__, __Read-only__ The date and time this token was created. example: '{{created}}' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true expiry: description: __Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked. example: '{{expiry}}' format: date-time readOnly: true type: string x-linode-cli-display: 6 id: description: __Read-only__ This token's unique ID, which can be used to revoke it. example: '{{id}}' readOnly: true type: integer x-linode-cli-display: 1 label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: '{{label}}' maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: __Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. example: '{{scopes}}' format: oauth-scopes readOnly: true type: string x-linode-cli-display: 3 token: description: __Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. example: '{{token}}' readOnly: true type: string x-linode-cli-display: 5 type: object x-akamai: file-path: schemas/personal-access-token.yaml x-example: x-ref: ../examples/put-personal-access-token.json description: The fields to update. required: true responses: '200': content: application/json: schema: additionalProperties: false description: A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations. properties: created: description: __Filterable__, __Read-only__ The date and time this token was created. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true expiry: description: __Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked. example: '2018-01-01T13:46:32' format: date-time readOnly: true type: string x-linode-cli-display: 6 id: description: __Read-only__ This token's unique ID, which can be used to revoke it. example: 123 readOnly: true type: integer x-linode-cli-display: 1 label: description: __Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. example: linode-cli maxLength: 100 minLength: 1 type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true scopes: description: __Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. example: '*' format: oauth-scopes readOnly: true type: string x-linode-cli-display: 3 token: description: __Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. example: abcdefghijklmnop readOnly: true type: string x-linode-cli-display: 5 type: object x-akamai: file-path: schemas/personal-access-token.yaml x-example: x-ref: ../examples/get-personal-access-token-200.json description: Token updated successfully. default: content: application/json: schema: additionalProperties: false properties: errors: 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: Update a personal access token tags: - Personal Access Tokens x-akamai: tabs: - syntax: "linode-cli profile token-update 123 \\\n --label linode-cli" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: token-update delete: description: 'Revokes a Personal Access Token. The token will be invalidated immediately, and requests using that token will fail with a 401. It is possible to revoke access to the token making the request to revoke a token, but keep in mind that doing so could lose you access to the api and require you to create a new token through some other means. > --- - __CLI__. ``` linode-cli profile token-delete 123 ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-personal-access-token operationId: delete-personal-access-token responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/delete-personal-access-token-200.json description: Token revoked successfully. default: content: application/json: schema: additionalProperties: false properties: errors: 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 personal access token tags: - Personal Access Tokens x-akamai: tabs: - syntax: linode-cli profile token-delete 123 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: token-delete 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. 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-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to 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: samples-languages: - curl - python - node