Linode OAuth apps API

View authorized apps that have been granted access to your account. You can also revoke access for any authorized app.

Operations 3

GET /{apiVersion}/profile/apps List authorized apps #
GET /{apiVersion}/profile/apps/{appId} Get an authorized app #
DELETE /{apiVersion}/profile/apps/{appId} Revoke app access #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/linode:linode-oauth-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

linode-oauth-apps-api-openapi.yml Raw ↑
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 OAuth apps API'
  version: 4.229.1
servers:
- url: https://api.linode.com
tags:
- description: View authorized apps that have been granted access to your account. You can also revoke access for any authorized app.
  name: OAuth apps
paths:
  /{apiVersion}/profile/apps:
    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-apps.yaml
      path-info: /{apiVersion}/profile/apps
    x-linode-cli-command: profile
    get:
      description: 'This is a collection of OAuth apps that you''ve given access to your account, and includes the level of access granted.


        **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_apps`

        - **OAuth scopes**. Your user needs these scopes assigned. Learn more.


        - Scopes: `account:read_only`


        **CLI**


        ```shell

        linode-cli profile apps-list

        ```


        Learn more'
      externalDocs:
        description: See documentation for this operation in Akamai's Linode API
        url: https://techdocs.akamai.com/linode-api/reference/get-profile-apps
      operationId: get-profile-apps
      parameters:
      - description: The page of a collection to return.
        example: '{{page}}'
        in: query
        name: page
        required: false
        schema:
          default: 1
          example: 6
          minimum: 1
          type: integer
        x-akamai:
          file-path: parameters/page-offset.yaml
      - description: The number of items to return per page.
        example: '{{page_size}}'
        in: query
        name: page_size
        schema:
          default: 100
          example: 50
          maximum: 500
          minimum: 25
          type: integer
        x-akamai:
          file-path: parameters/page-size.yaml
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                - created: '2018-01-01T00:01:01'
                  expiry: '2018-01-15T00:01:01'
                  id: 123
                  label: example-app
                  scopes: linodes:read_only
                  thumbnail_url: null
                  website: example.org
                page: 1
                pages: 1
                results: 1
              schema:
                additionalProperties: false
                properties:
                  data:
                    description: Applications that have been authorized to access your account through OAuth.
                    items:
                      additionalProperties: false
                      description: An application that's authorized to access your account through OAuth.
                      properties:
                        created:
                          description: __Filterable__, __Read-only__ When this app was authorized.
                          example: '2018-01-01T00:01:01'
                          readOnly: true
                          type: string
                          x-akamai:
                            labels:
                            - Filterable
                          x-linode-cli-display: 5
                          x-linode-filterable: true
                        expiry:
                          description: __Filterable__, __Read-only__ When the app's access to your account expires. If `null`, the app's access must be revoked manually.
                          example: '2018-01-15T00:01:01'
                          readOnly: true
                          type:
                          - string
                          - 'null'
                          x-akamai:
                            labels:
                            - Filterable
                          x-linode-cli-display: 6
                          x-linode-filterable: true
                        id:
                          description: __Read-only__ This authorization's ID, used for revoking access.
                          example: 123
                          readOnly: true
                          type: integer
                          x-linode-cli-display: 1
                        label:
                          description: __Filterable__, __Read-only__ The name of the application you've authorized.
                          example: example-app
                          readOnly: true
                          type: string
                          x-akamai:
                            labels:
                            - Filterable
                          x-linode-cli-display: 2
                          x-linode-filterable: true
                        scopes:
                          description: __Read-only__ The OAuth scopes this app was authorized with.  This defines what parts of your Account the app is allowed to access.
                          example: linodes:read_only
                          format: oauth-scopes
                          readOnly: true
                          type: string
                          x-linode-cli-display: 3
                        thumbnail_url:
                          description: __Read-only__ The URL at which this app's thumbnail may be accessed.
                          example: null
                          format: url
                          readOnly: true
                          type:
                          - string
                          - 'null'
                        website:
                          description: __Read-only__ The website where you can get more information about this app.
                          example: example.org
                          readOnly: true
                          type: string
                          x-linode-cli-display: 4
                      type: object
                      x-akamai:
                        file-path: schemas/authorized-app.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-profile-apps-200.yaml
          description: A paginated list of apps you've authorized.
        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 authorized apps
      tags:
      - OAuth apps
      x-akamai:
        tabs:
        - syntax: linode-cli profile apps-list
          title: CLI
          url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
      x-linode-cli-action: apps-list
      x-linode-iam:
      - permissions:
        - list_profile_apps
  /{apiVersion}/profile/apps/{appId}:
    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 authorized app ID to manage.
      example: '{{appId}}'
      in: path
      name: appId
      required: true
      schema:
        example: 724
        type: integer
      x-akamai:
        file-path: parameters/app-id-path.yaml
    x-akamai:
      file-path: paths/profile-app.yaml
      path-info: /{apiVersion}/profile/apps/{appId}
    x-linode-cli-command: profile
    get:
      description: 'Returns information about a single app you''ve authorized to access 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: `view_profile_app`

        - **OAuth scopes**. Your user needs these scopes assigned. Learn more.


        - Scopes: `account:read_only`


        **CLI**


        ```shell

        linode-cli profile app-view 1234

        ```


        Learn more'
      externalDocs:
        description: See documentation for this operation in Akamai's Linode API
        url: https://techdocs.akamai.com/linode-api/reference/get-profile-app
      operationId: get-profile-app
      responses:
        '200':
          content:
            application/json:
              example:
                created: '2018-01-01T00:01:01'
                expiry: '2018-01-15T00:01:01'
                id: 123
                label: example-app
                scopes: linodes:read_only
                thumbnail_url: null
                website: example.org
              schema:
                additionalProperties: false
                description: An application that's authorized to access your account through OAuth.
                properties:
                  created:
                    description: __Filterable__, __Read-only__ When this app was authorized.
                    example: '2018-01-01T00:01:01'
                    readOnly: true
                    type: string
                    x-akamai:
                      labels:
                      - Filterable
                    x-linode-cli-display: 5
                    x-linode-filterable: true
                  expiry:
                    description: __Filterable__, __Read-only__ When the app's access to your account expires. If `null`, the app's access must be revoked manually.
                    example: '2018-01-15T00:01:01'
                    readOnly: true
                    type:
                    - string
                    - 'null'
                    x-akamai:
                      labels:
                      - Filterable
                    x-linode-cli-display: 6
                    x-linode-filterable: true
                  id:
                    description: __Read-only__ This authorization's ID, used for revoking access.
                    example: 123
                    readOnly: true
                    type: integer
                    x-linode-cli-display: 1
                  label:
                    description: __Filterable__, __Read-only__ The name of the application you've authorized.
                    example: example-app
                    readOnly: true
                    type: string
                    x-akamai:
                      labels:
                      - Filterable
                    x-linode-cli-display: 2
                    x-linode-filterable: true
                  scopes:
                    description: __Read-only__ The OAuth scopes this app was authorized with.  This defines what parts of your Account the app is allowed to access.
                    example: linodes:read_only
                    format: oauth-scopes
                    readOnly: true
                    type: string
                    x-linode-cli-display: 3
                  thumbnail_url:
                    description: __Read-only__ The URL at which this app's thumbnail may be accessed.
                    example: null
                    format: url
                    readOnly: true
                    type:
                    - string
                    - 'null'
                  website:
                    description: __Read-only__ The website where you can get more information about this app.
                    example: example.org
                    readOnly: true
                    type: string
                    x-linode-cli-display: 4
                type: object
                x-akamai:
                  file-path: schemas/authorized-app.yaml
          description: The app requested.
        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 an authorized app
      tags:
      - OAuth apps
      x-akamai:
        tabs:
        - syntax: linode-cli profile app-view 1234
          title: CLI
          url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
      x-linode-cli-action: app-view
      x-linode-iam:
      - permissions:
        - view_profile_app
    delete:
      description: 'Expires this app token. This token can no longer be used to access 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_app`

        - **OAuth scopes**. Your user needs these scopes assigned. Learn more.


        - Scopes: `account:read_write`


        **CLI**


        ```shell

        linode-cli profile app-delete 123

        ```


        Learn more'
      externalDocs:
        description: See documentation for this operation in Akamai's Linode API
        url: https://techdocs.akamai.com/linode-api/reference/delete-profile-app
      operationId: delete-profile-app
      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: App's authorization has been revoked.
        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 app access
      tags:
      - OAuth apps
      x-akamai:
        tabs:
        - syntax: linode-cli profile app-delete 123
          title: CLI
          url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
      x-linode-cli-action: app-delete
      x-linode-iam:
      - permissions:
        - revoke_profile_app
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