Account

OAuth Clients List

get
https://api.linode.com/v4/account/oauth-clients

Returns a paginated list of OAuth Clients registered to your Account. OAuth Clients allow users to log into applications you write or host using their Linode Account, and may allow them to grant some level of access to their Linodes or other entities to your application.

Query Parameters

page
integer > = 1
Default: 1

The page of a collection to return.

page_size
integer [25 .. 500]
Default: 100

The number of items to return per page.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
    https://api.linode.com/v4/account/oauth-clients

Response Samples

{
  "data": [
    {
      "id": "",
      "status": "active",
      "label": "Test_Client_1",
      "redirect_uri": "https://example.org/oauth/callback",
      "secret": "<REDACTED>",
      "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail",
      "public": ""
    }
  ],
  "page": 1,
  "pages": 1,
  "results": 1
}

Responses

200: A paginated list of OAuth Clients.

data
array of objects
id
string

The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret).

status
string
Enum: "active""disabled""suspended"

The status of this application. active by default.

label
Filterable
string

The name of this application. This will be presented to users when they are asked to grant it access to their Account.

redirect_uri
string

The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.

secret
string

The OAuth Client secret, used in the OAuth exchange. This is returned as <REDACTED> except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.

thumbnail_url
Nullable
string

The URL where this client's thumbnail may be viewed, or null if this client does not have a thumbnail set.

public
Filterable
boolean

If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details.

page
integer

The current page.

pages
integer

The total number of pages.

results
integer

The total number of results.

default: Error

errors
array of objects
reason
string

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 or perform some other action before you can complete the request successfully.

field
string

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.

OAuth Client Create

post
https://api.linode.com/v4/account/oauth-clients

Creates an OAuth Client, which can be used to allow users (using their Linode account) to log in to your own application, and optionally grant your application some amount of access to their Linodes or other entities.

Request Body Schema

label
Required
Filterable
string [1 .. 512] characters

The name of this application. This will be presented to users when they are asked to grant it access to their Account.

redirect_uri
Required
string <url>

The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.

public
Filterable
boolean

If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details.

Request Samples

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X POST -d '{
        "redirect_uri": "https://example.org/oauth/callback",
        "label": "Test_Client_1",
        "public": false
    }' \
    https://api.linode.com/v4/account/oauth-clients

Response Samples

{
  "status": "active",
  "id": 1234,
  "redirect_uri": "https://example.org/oauth/callback",
  "label": "Test_Client_1",
  "secret": "<REDACTED>",
  "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail",
  "public": ""
}

Responses

200: Client created successfully.

status
string
Enum: "active""disabled""suspended"

The status of this application. active by default.

id
string

The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret).

redirect_uri
string <url>

The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.

label
Filterable
string [1 .. 512] characters

The name of this application. This will be presented to users when they are asked to grant it access to their Account.

secret
string

The OAuth Client secret, used in the OAuth exchange. This is returned as <REDACTED> except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.

thumbnail_url
Nullable
string <url>

The URL where this client's thumbnail may be viewed, or null if this client does not have a thumbnail set.

public
Filterable
boolean

If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details.

default: Error

errors
array of objects
reason
string

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 or perform some other action before you can complete the request successfully.

field
string

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.