Created
June 20, 2018 00:20
-
-
Save tarqd/7eb8c7dade51d55a0f8699f690b21b0e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.1 | |
info: | |
version: 4.0.1 | |
title: Linode API | |
x-logo: { | |
url: '/linode-logo.svg', | |
backgroundColor: '#fafafa' | |
} | |
description: | | |
# Introduction | |
The Linode API provides the ability to programmatically manage the full | |
range of Linode products and services. | |
This reference is designed to assist application developers and system | |
administrators. Each endpoint includes descriptions, request syntax, and | |
examples using standard HTTP requests. Response data is returned in JSON | |
format. | |
This document was generated from our OpenAPI Specification. See the | |
[OpenAPI website](https://www.openapis.org) for more information. | |
[Download the Linode OpenAPI Specification](/openapi.yaml) | |
# Changelog | |
[View our Changelog](/changelog) to see release | |
notes on all changes made to our API. | |
# Access | |
Some endpoints are publicly accessible without requiring authentication. | |
All endpoints affecting your Account, however, require either a Personal | |
Access Token or OAuth authentication (when using third-party | |
applications). | |
## Personal Access Token | |
The easiest way to access the API is with a Personal Access Token (PAT) | |
generated from the | |
[Linode Cloud Manager](https://cloud.linode.com/profile/tokens). | |
All scopes for the OAuth security model (defined below) apply to this | |
security model as well. | |
## OAuth | |
The OAuth workflow is a three-step process to authenticate a User before an | |
application can start making API calls on the User's behalf. If all you need | |
is a Personal Access Token, feel free to skip ahead to the next section. | |
First, the User visits the application's website and is directed to log with | |
Linode. The User is then redirected to Linode's authentication server and | |
presented the scope levels the application is requesting. Once the User | |
accepts the request for access, we redirect them back to the application's | |
specified redirect URI with an access code. | |
Once the User has logged in to Linode and you have received an exchange code, | |
you will need to exchange that access code for an Authorization token. You | |
do this by making an HTTP POST request to the following address: | |
``` | |
https://login.linode.com/oauth/token | |
``` | |
Make this request as `application/x-www-form-urlencoded` or as | |
`multipart/form-data` and include the following parameters in the POST body: | |
| PARAMETER | DESCRIPTION | | |
|-----------|-------------| | |
| client_id | Your app's client ID | | |
| client_secret | Your app's client secret | | |
| code | The code you just received from the redirect | | |
You'll get a reponse like this: | |
```json | |
{ | |
"scope": "linodes:create", | |
"access_token": "03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c" | |
"token_type": "bearer", | |
"expires_in": 7200, | |
} | |
``` | |
Included in the reponse is `access_token`. With this token, you can proceed to make | |
authenticated HTTP requests to the API by adding this header to each request: | |
``` | |
Authorization: Bearer 03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c | |
``` | |
## Authentication Schema | |
See our [Authentication Schema](/#section/Authentication) for | |
information on scopes and authorization/token URLs. | |
# Requests | |
Requests must be made over HTTPS to ensure transactions are encrypted. The | |
following Request methods are supported: | |
| METHOD | USAGE | | |
|--------|-------| | |
| GET | Retrieves data about collections and individual resources. | | |
| POST | For collections, creates a new resource of that type. Also used to perform actions on action endpoints. | | |
| PUT | Updates an existing resource. | | |
| DELETE | Deletes a resource. This is a destructive action. | | |
# Responses | |
Actions will return one following HTTP response status codes: | |
| STATUS | DESCRIPTION | | |
|---------|-------------| | |
| 200 OK | The request was successful. | | |
| 204 No Content | The server successfully fulfilled the request and there is no additional content to send. | | |
| 400 Bad Request | You submitted an invalid request (missing parameters, etc.). | | |
| 401 Unauthorized | You failed to authenticate for this resource. | | |
| 403 Forbidden | You are authenticated, but don't have permission to do this. | | |
| 404 Not Found | The resource you're requesting does not exist. | | |
| 429 Too Many Requests | You've hit a rate limit. | | |
| 500 Internal Server Error | Please [open a Support Ticket](/#operation/createTicket). | | |
# Errors | |
Success is indicated via [Standard HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). | |
`2xx` codes indicate success, `4xx` codes indicate a request error, and | |
`5xx` errors indicate a server error. A | |
request error might be an invalid input, a required parameter being omitted, | |
or a malformed request. A server error means something went wrong processing | |
your request. If this occurs, please | |
[open a Support Ticket](/#operation/createTicket) | |
and let us know. Though errors are logged and we work quickly to resolve issues, | |
opening a ticket and providing us with reproducable steps and data is always helpful. | |
The `errors` field is an array of the things that went wrong with your request. | |
We will try to include as many of the problems in the response as possible, | |
but it's conceivable that fixing these errors and resubmitting may result in | |
new errors coming back once we are able to get further along in the process | |
of handling your request. | |
Within each error object, the `field` parameter will be included if the error | |
pertains to a specific field in the JSON you've submitted. This will be | |
omitted if there is no relevant field. The `reason` is a human-readable | |
explanation of the error, and will always be included. | |
# Pagination | |
Resource lists are always paginated. The response will look similar to this: | |
```json | |
{ | |
"data": [ ... ], | |
"page": 1, | |
"pages": 3, | |
"results": 300 | |
} | |
``` | |
Pages start at 1. You may retrieve a specific page of results by adding | |
`?page=x` to your URL (for example, `?page=4`). Page sizes default to 100, | |
and can be set to return between 25 and 100. Page size can be set using | |
`?page_size=x`. | |
# Filtering and Sorting | |
Collections are searchable by fields they include, marked in the spec as | |
`x-linode-filterable: true`. Filters are passed | |
in the `X-Filter` header and are formatted as JSON objects. Here is a request | |
call for Linode Types in our "standard" class: | |
```Shell | |
curl "https://api.linode.com/v4/linode/types" \ | |
-H 'X-Filter: { \ | |
"class": "standard" | |
}' | |
``` | |
The filter object's keys are the keys of the object you're filtering, | |
and the values are accepted values. You can add multiple filters by | |
including more than one key. For example, filtering for "standard" Linode | |
Types that offer one vcpu: | |
```Shell | |
curl "https://api.linode.com/v4/linode/types" \ | |
-H 'X-Filter: { \ | |
"class": "standard", | |
"vcpus": 1 | |
}' | |
``` | |
In the above example, both filters are combined with an "and" operation. | |
However, if you wanted either Types with one vcpu or Types in our "standard" | |
class, you can add an operator: | |
```Shell | |
curl "https://api.linode.com/v4/linode/types" \ | |
-H 'X-Filter: { | |
"+or": [ | |
{ "vcpus": 1 }, | |
{ "class": "standard" } | |
] | |
}' | |
``` | |
Each filter in the `+or` array is its own filter object, and all conditions | |
in it are combined with an "and" operation as they were in the previous example. | |
Other operators are also available. Operators are keys of a Filter JSON | |
object. Their value must be of the appropriate type, and they are evaluated | |
as described below: | |
| OPERATOR | TYPE | DESCRIPTION | | |
|----------|--------|-----------------------------------| | |
| +and | array | All conditions must be true. | | |
| +or | array | One condition must be true. | | |
| +gt | number | Value must be greater than number. | | |
| +gte | number | Value must be greater than or equal to number. | | |
| +lt | number | Value must be less than number. | | |
| +lte | number | Value must be less than or equal to number. | | |
| +contains | string | Given string must be in the value. | | |
| +neq | string | Does not equal the value. | | |
| +order_by | string | Attribute to order the results by - must be filterable. | | |
| +order | string | Either "asc" or "desc". Defaults to "asc". Requires `+order_by`. | | |
For example, filtering for [Linode Types](/#operation/getLinodeTypes) | |
that offer memory equal to or higher than 61440: | |
```Shell | |
curl "https://api.linode.com/v4/linode/types" \ | |
-H 'X-Filter: { | |
"memory": { | |
"+gte": 61440 | |
} | |
}' | |
``` | |
You can combine and nest operators to construct arbitrarily-complex queries. | |
For example, give me all [Linode Types](/#operation/getLinodeTypes) | |
which are either `standard` or `highmem` class, and have between 12 and 20 vcpus: | |
```Shell | |
curl "https://api.linode.com/v4/linode/types" \ | |
-H 'X-Filter: { | |
"+or": [ | |
{ | |
"+or": [ | |
{ | |
"class": "standard" | |
}, | |
{ | |
"class": "highmem" | |
} | |
] | |
}, | |
{ | |
"+and": [ | |
{ | |
"vcpus": { | |
"+gte": 12 | |
} | |
}, | |
{ | |
"vcpus": { | |
"+lte": 20 | |
} | |
} | |
] | |
} | |
] | |
}' | |
``` | |
# CLI (Command Line Interface) | |
The [Linode CLI](https://github.com/linode/linode-cli) allows you to easily | |
work with the API using intuitive and simple syntax. It requires a | |
[Personal Access Token](/#section/Personal-Access-Token) | |
for authentication, and gives you access to all of the features and functionality | |
of the Linode API that are documented here with CLI examples. | |
Endpoints that do not have CLI examples are currently unavailable through the CLI, but | |
can be accessed via other methods such as Shell commands and other third-party applications. | |
contact: | |
name: Linode | |
url: / | |
servers: | |
- url: https://api.linode.com/v4 | |
paths: | |
/account: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Account | |
description: > | |
Returns the contact and billing information related to | |
your Account. | |
operationId: getAccount | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a single Account object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Account' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account | |
- lang: CLI | |
source: > | |
linode-cli account view | |
put: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Update Account | |
description: > | |
Updates contact and billing information | |
related to your Account. | |
operationId: updateAccount | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Update contact and billing information. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Account' | |
responses: | |
'200': | |
description: The updated Account. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Account' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"address_1": "123 Main St.", | |
"address_2": "Suite 101", | |
"city": "Philadelphia", | |
"company": "My Company, LLC", | |
"country": "US", | |
"email": "[email protected]", | |
"first_name": "John", | |
"last_name": "Smith", | |
"phone": "555-555-1212", | |
"state": "PA", | |
"zip": 19102, | |
} | |
}' \ | |
https://api.linode.com/v4/account | |
- lang: CLI | |
source: > | |
linode-cli account update \ | |
--first_name John \ | |
--last_name Smith | |
/account/credit-card: | |
x-linode-cli-command: account | |
post: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Add/Edit Credit Card | |
description: > | |
Adds/edit credit card information to your Account. | |
Only one credit card can be associated with your Account, so using this | |
endpoint will overwrite your currently active card information with the | |
new credit card. | |
operationId: createCreditCard | |
x-linode-cli-action: update-card | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Update the credit card information associated with your Account. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreditCard' | |
responses: | |
'200': | |
description: Credit Card updated. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"credit_card": 4111111111111111, | |
"expiry_month": 11, | |
"expiry_year": 2020 | |
}' \ | |
https://api.linode.com/v4/account/credit-card | |
- lang: CLI | |
source: > | |
linode-cli account update-card \ | |
--card_number 4111111111111111 \ | |
--expiry_month 11 \ | |
--expiry_year 2025 | |
/account/events: | |
x-linode-cli-command: events | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- account | |
summary: List Events | |
description: > | |
Returns a collection of Event objects representing | |
actions taken on your Account. The Events returned depends on your | |
grants. | |
operationId: getEvents | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- events:read_only | |
responses: | |
'200': | |
description: Returns a paginated lists of Event objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Event' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/events | |
- lang: CLI | |
source: > | |
linode-cli events list | |
/account/events/{eventId}: | |
x-linode-cli-command: events | |
parameters: | |
- name: eventId | |
in: path | |
description: The ID of the Event. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Event | |
description: Returns a single Event object. | |
operationId: getEvent | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- events:read_only | |
responses: | |
'200': | |
description: An Event object | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Event' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/events/123 | |
- lang: CLI | |
source: > | |
linode-cli events view 123 | |
/account/events/{eventId}/read: | |
x-linode-cli-command: events | |
parameters: | |
- name: eventId | |
in: path | |
description: The ID of the Event to designate as read. | |
required: true | |
schema: | |
type: integer | |
post: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Mark Event as Read | |
description: Marks a single Event as read. | |
operationId: eventRead | |
x-linode-cli-action: mark-read | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- events:read_write | |
responses: | |
'200': | |
description: Event read. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/account/events/123/read | |
- lang: CLI | |
source: > | |
linode-cli events mark-read 123 | |
/account/events/{eventId}/seen: | |
x-linode-cli-command: events | |
parameters: | |
- name: eventId | |
in: path | |
description: The ID of the Event to designate as seen. | |
required: true | |
schema: | |
type: integer | |
post: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Mark Event as Seen | |
description: > | |
Marks all Events up to and including this Event by ID as seen. | |
operationId: eventSeen | |
x-linode-cli-action: mark-seen | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- events:read_only | |
responses: | |
'200': | |
description: Events seen. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/account/events/123/seen | |
- lang: CLI | |
source: > | |
linode-cli events mark-seen 123 | |
/account/invoices: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- account | |
summary: List Invoices | |
description: > | |
Returns a paginated list of Invoices against your Account. | |
operationId: getInvoices | |
x-linode-cli-action: invoices-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of Invoice objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Invoice' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/invoices | |
- lang: CLI | |
source: > | |
linode-cli account invoices-list | |
/account/invoices/{invoiceId}: | |
x-linode-cli-command: account | |
parameters: | |
- name: invoiceId | |
in: path | |
description: The ID of the Invoice. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Invoice | |
description: Returns a single Invoice object. | |
operationId: getInvoice | |
x-linode-cli-action: invoice-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: An Invoice object | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Invoice' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/invoices/123 | |
- lang: CLI | |
source: > | |
linode-cli account invoice-view 123 | |
/account/invoices/{invoiceId}/items: | |
x-linode-cli-command: account | |
parameters: | |
- name: invoiceId | |
in: path | |
description: The ID of the Invoice. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- account | |
summary: List Invoice Items | |
description: Returns a paginated list of Invoice items. | |
operationId: getInvoiceItems | |
x-linode-cli-action: invoice-items | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of InvoiceItem objects | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/InvoiceItem' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/invoices/123/items | |
- lang: CLI | |
source: > | |
linode-cli account invoice-items 123 | |
/account/notifications: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: List Notifications | |
description: > | |
Returns a collection of Notification objects representing | |
important, often time-sensitive items related to your Account. | |
You cannot interact directly with Notifications, and a Notification will disappear | |
when the circumstances causing it have been resolved. For | |
example, if you have an important Ticket open, you must respond to the | |
Ticket to dismiss the Notification. | |
operationId: getNotifications | |
x-linode-cli-action: notifications-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of Notification objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Notification' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/notifications | |
- lang: CLI | |
source: > | |
linode-cli account notifications-list | |
/account/oauth-clients: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- account | |
summary: List OAuth Clients | |
description: > | |
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. | |
operationId: getClients | |
x-linode-cli-action: clients-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of OAuth Clients. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/OAuthClient' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/oauth-clients | |
- lang: CLI | |
source: > | |
linode-cli account clients-list | |
post: | |
tags: | |
- account | |
summary: Create OAuth Client | |
description: > | |
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. | |
operationId: createClient | |
x-linode-cli-action: client-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the OAuth Client to create. | |
content: | |
application/json: | |
schema: | |
required: | |
- label | |
- redirect_uri | |
allOf: | |
- $ref: '#/components/schemas/OAuthClient' | |
- type: object | |
properties: | |
public: | |
type: boolean | |
description: Whether to create a public or private client. | |
example: false | |
responses: | |
'200': | |
description: Client created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/OAuthClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
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 | |
- lang: CLI | |
source: > | |
linode-cli account client-create \ | |
--label Test_Client_1 \ | |
--redirect_uri https://example.org/callback | |
/account/oauth-clients/{clientId}: | |
parameters: | |
- name: clientId | |
in: path | |
description: The OAuth Client ID to look up. | |
required: true | |
schema: | |
type: string | |
x-linode-cli-command: account | |
get: | |
tags: | |
- account | |
summary: View OAuth Client | |
description: > | |
Returns information about a single OAuth client. | |
operationId: getClient | |
x-linode-cli-action: client-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Information about the requested client. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/OAuthClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c | |
- lang: CLI | |
source: > | |
linode-cli account client-view \ | |
edc6790ea9db4d224c5c | |
put: | |
tags: | |
- account | |
summary: Update OAuth Client | |
description: > | |
Update information about an OAuth Client on your Account. This can be | |
especially useful to update the `redirect_uri` of your client in the event | |
that the callback url changed in your application. | |
operationId: updateClient | |
x-linode-cli-action: client-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/OAuthClient' | |
responses: | |
'200': | |
description: Client updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/OAuthClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"redirect_uri": "https://example.org/oauth/callback", | |
"label": "Test_Client_1" | |
} | |
}' \ | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c | |
- lang: CLI | |
source: > | |
linode-cli account client-update \ | |
edc6790ea9db4d224c5c \ | |
--label Test_Client_1 | |
delete: | |
tags: | |
- account | |
summary: Delete OAuth Client | |
description: > | |
Deletes an OAuth Client registered with Linode. The Client ID and | |
Client secret will no longer be accepted by https://login.linode.com, | |
and all tokens issued to this client will be invalidated (meaning that | |
if your application was using a token, it will no longer work). | |
operationId: deleteClient | |
x-linode-cli-action: client-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Client deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c | |
- lang: CLI | |
source: > | |
linode-cli account client-delete \ | |
edc6790ea9db4d224c5c | |
/account/oauth-clients/{clientId}/reset-secret: | |
x-linode-cli-command: account | |
parameters: | |
- name: clientId | |
in: path | |
description: The OAuth Client ID to look up. | |
required: true | |
schema: | |
type: string | |
post: | |
tags: | |
- account | |
summary: Reset OAuth Client Secret | |
description: > | |
Resets the OAuth Client secret for a client you own, and returns the | |
OAuth Client with the plaintext secret. This secret is not supposed to | |
be publicly known or disclosed anywhere. This can be used to generate | |
a new secret in case the one you have has been leaked, or to get a new | |
secret if you lost the original. The old secret is expired immediately, | |
and logins to your client with the old secret will fail. | |
operationId: resetClientSecret | |
x-linode-cli-action: client-reset-secret | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Client secret reset successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/OAuthClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/reset-secret | |
- lang: CLI | |
source: > | |
linode-cli account client-reset-secret \ | |
edc6790ea9db4d224c5c | |
/account/oauth-clients/{clientId}/thumbnail: | |
x-linode-cli-command: account | |
parameters: | |
- name: clientId | |
in: path | |
description: The OAuth Client ID to look up. | |
required: true | |
schema: | |
type: string | |
get: | |
tags: | |
- account | |
summary: View OAuth Client Thumbnail | |
description: > | |
Returns the thumbnail for this OAuth Client. This is a | |
publicly-viewable endpoint, and can be accessed without authentication. | |
operationId: getClientThumbnail | |
x-linode-cli-skip: true | |
x-linode-cli-action: client-thumbnail | |
responses: | |
'200': | |
description: The client's thumbnail. | |
content: | |
image/png: | |
schema: | |
type: string | |
format: binary | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail > thumbnail.png | |
put: | |
tags: | |
- account | |
summary: Update OAuth Client Thumbnail | |
description: > | |
Upload a thumbnail for a client you own. You must upload an image file | |
that will be returned when the thumbnail is retrieved. This image will | |
be publicly-viewable. | |
operationId: setClientThumbnail | |
x-linode-cli-skip: true | |
x-linode-cli-action: update-client-thumbnail | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The image to set as the thumbnail. | |
required: true | |
content: | |
image/png: | |
schema: | |
type: string | |
format: binary | |
responses: | |
'200': | |
description: Thumbnail updated successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: image/png" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT \ | |
--data-binary "/path/to/image" | |
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail | |
/account/payments: | |
x-linode-cli-command: account | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: List Payments | |
description: > | |
Returns a paginated list of Payments made on this Account. | |
operationId: getPayments | |
x-linode-cli-action: payments-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of Payment objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Payment' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/payments | |
- lang: CLI | |
source: > | |
linode-cli account payments-list | |
post: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Make Payment | |
description: > | |
Makes a Payment to your Account via credit card. This will charge your | |
credit card the requested amount. | |
operationId: createPayment | |
x-linode-cli-action: payment-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the Payment you are making. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PaymentRequest' | |
responses: | |
'200': | |
description: Payment made. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Payment' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"cvv": "123", | |
"usd": "120.50" | |
}' \ | |
https://api.linode.com/v4/account/payments | |
- lang: CLI | |
source: > | |
linode-cli account payment-create \ | |
--cvv 123 \ | |
--usd 120.50 | |
/account/payments/{paymentId}: | |
x-linode-cli-command: account | |
parameters: | |
- name: paymentId | |
in: path | |
description: The ID of the Payment to look up. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Payment | |
description: > | |
Returns information about a specific Payment. | |
operationId: getPayment | |
x-linode-cli-action: payment-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A Payment object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Payment' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/payments/123 | |
- lang: CLI | |
source: > | |
linode-cli account payment-view 123 | |
/account/payments/paypal: | |
x-linode-cli-command: account | |
post: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: Stage PayPal Payment | |
description: > | |
This begins the process of submitting a Payment via PayPal. After calling | |
this endpoint, you must take the resulting `payment_id` along with | |
the `payer_id` from your PayPal account and | |
[POST /account/payments/paypal-execute](/#operation/executePayPalPayment) | |
to complete the Payment. | |
operationId: createPayPalPayment | |
x-linode-cli-action: paypal-start | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: > | |
The amount of the Payment to submit via PayPal. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PayPal' | |
responses: | |
'200': | |
description: PayPal Payment staged. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
payment_id: | |
type: string | |
description: > | |
The paypal-generated ID for this Payment. Used when | |
authorizing the Payment in PayPal's interface. | |
example: PAY-1234567890ABCDEFGHIJKLMN | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"usd": "120.50", | |
"redirect_url": "https://example.org", | |
"cancel_url": "https://example.org" | |
}' \ | |
https://api.linode.com/v4/account/payments/paypal | |
- lang: CLI | |
source: > | |
linode-cli account paypal-start \ | |
--cancel_url https://example.org \ | |
--redirect_url https://example.org \ | |
--usd 120.50 | |
/account/payment/paypal/execute: | |
x-linode-cli-command: account | |
post: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Execute Staged/Approved PayPal Payment | |
description: > | |
Given a PaymentID and PayerID - as generated by PayPal during the | |
transaction authorization process - this endpoint executes the Payment | |
to capture the funds and credit your Linode Account. | |
operationId: executePayPalPayment | |
x-linode-cli-action: paypal-execute | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: > | |
The details of the Payment to execute. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PayPalExecute' | |
responses: | |
'200': | |
description: PayPal Payment executed. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"payment_id": "PAY-1234567890ABCDEFGHIJKLMN", | |
"payer_id": "ABCDEFGHIJKLM" | |
}' \ | |
https://api.linode.com/v4/account/payments/paypal | |
- lang: CLI | |
source: > | |
linode-cli account paypal-execute | |
/account/settings: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Account Settings | |
description: > | |
Returns information related to | |
your Account settings: Managed service subscription, Longview | |
subscription, and network helper. | |
operationId: getAccountSettings | |
x-linode-cli-action: settings | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a single Account settings object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/AccountSettings' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/settings | |
- lang: CLI | |
source: > | |
linode-cli account settings | |
put: | |
x-linode-grant: read_write | |
tags: | |
- account | |
summary: Update Account Settings | |
description: > | |
Updates your Account settings. | |
operationId: updateAccountSettings | |
x-linode-cli-action: settings-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Update Account settings information. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/AccountSettings' | |
responses: | |
'200': | |
description: The updated Account settings. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/AccountSettings' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"network_helper": true, | |
"longview_subscription": "longview-10" | |
}' \ | |
https://api.linode.com/v4/account/settings | |
- lang: CLI | |
source: > | |
linode-cli account settings-update \ | |
--longview_subscription longview-30 \ | |
--network_helper false | |
/account/transfer: | |
x-linode-cli-command: account | |
get: | |
x-linode-grant: read_only | |
tags: | |
- account | |
summary: View Network Utilization | |
description: > | |
Returns a Transfer object showing your network utilization, | |
in GB, for the current month. | |
operationId: getTransfer | |
x-linode-cli-action: transfer | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a single Transfer object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Transfer' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/transfer | |
- lang: CLI | |
source: > | |
linode-cli account transfer | |
/account/users: | |
x-linode-cli-command: users | |
get: | |
x-linode-grant: unrestricted only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- account | |
summary: List Users | |
description: > | |
Returns a paginated list of Users on your Account. Users may access all | |
or part of your Account based on their restricted status and grants. An | |
unrestricted User may access everything on the account, whereas restricted | |
User may only access entities or perform actions they've been given specific | |
grants to. | |
operationId: getUsers | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of Users. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/User' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/users | |
- lang: CLI | |
source: > | |
linode-cli users list | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: Create User | |
description: > | |
Creates a User on your Account. Once created, the User will be | |
able to log in and access portions of your Account. Access is | |
determined by whether or not they are restricted, and what grants they | |
have been given. | |
operationId: createUser | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the User to create. | |
content: | |
application/json: | |
schema: | |
required: | |
- username | |
- password | |
allOf: | |
- $ref: '#/components/schemas/User' | |
- type: object | |
properties: | |
email: | |
type: string | |
format: email | |
description: > | |
The new User's email address. | |
example: [email protected] | |
responses: | |
'200': | |
description: New User created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/User' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"username": "example_user", | |
"email": "[email protected]", | |
"restricted": true | |
}' \ | |
https://api.linode.com/v4/account/users | |
- lang: CLI | |
source: > | |
linode-cli users create \ | |
--username example_user \ | |
--email [email protected] | |
/account/users/{username}: | |
x-linode-cli-command: users | |
parameters: | |
- name: username | |
in: path | |
description: The username to look up. | |
required: true | |
schema: | |
type: string | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: View User | |
description: > | |
Returns information about a single User on your Account. | |
operationId: getUser | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The requested User object | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/User' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/users/example_user | |
- lang: CLI | |
source: > | |
linode-cli users view example_user | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: Update User | |
description: > | |
Update information about a User on your Account. This can be used to | |
change the restricted status of a User. When making a User restricted, | |
no grants will be configured by default and you must then set up grants | |
in order for the User to access anything on the Account. | |
operationId: updateUser | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The information to update. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/User' | |
responses: | |
'200': | |
description: User updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/User' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"username": example_user | |
"restricted": true | |
}' \ | |
https://api.linode.com/v4/account/users/example_user | |
- lang: CLI | |
source: > | |
linode-cli users update example_user \ | |
--username example_user \ | |
--restricted true | |
delete: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: Delete User | |
description: > | |
Deletes a User. The deleted User will be immediately logged out and | |
may no longer log in or perform any actions. All of the User's Grants | |
will be removed. | |
operationId: deleteUser | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: User deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/account/users/example_user | |
- lang: CLI | |
source: > | |
linode-cli users delete example_user | |
/account/users/{username}/grants: | |
x-linode-cli-command: users | |
parameters: | |
- name: username | |
in: path | |
description: The username to look up. | |
required: true | |
schema: | |
type: string | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: View User's grants | |
description: > | |
Returns the full grants structure for this User. This includes all | |
entities on the Account alongside what level of access this User has | |
to each of them. Individual users may view their own grants at the | |
[/profile/grants](/#operation/getProfileGrants) | |
endpoint, but will not see entities that they have no access to. | |
operationId: getUserGrants | |
x-linode-cli-action: grants | |
x-linode-cli-skip: true | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The User's grants. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/GrantsResponse' | |
'204': | |
description: > | |
This is an unrestricted User, and therefore has no grants to return. | |
This User may access everything on the Account and perform all actions. | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/account/users/example_user/grants | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- account | |
summary: Update User's grants | |
description: > | |
Update the grants a User has. This can be used to give a User access | |
to new entities or actions, or take access away. You do not need to | |
include the grant for every entity on the Account in this request; any | |
that are not included will remain unchanged. | |
operationId: updateUserGrants | |
x-linode-cli-action: update-grants | |
x-linode-cli-skip: true | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The grants to update. Omitted grants will be left unchanged. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/GrantsResponse' | |
responses: | |
'200': | |
description: Grants updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/GrantsResponse' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"global": { | |
"add_linodes": true, | |
"add_nodebalancers": false, | |
"add_domains": true, | |
"add_longview": false, | |
"add_stackscripts": true, | |
"longview_subscription": true, | |
"add_images": true, | |
"add_volumes": true, | |
"account_access": "read_only", | |
"cancel_account": false | |
}, | |
"domain": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
} | |
], | |
"image": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
} | |
], | |
"linode": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
}, | |
{ | |
"id": 234, | |
"permissions": "read_write" | |
}, | |
{ | |
"id": 345, | |
"permissions": "read_only" | |
}, | |
], | |
"longview": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
}, | |
{ | |
"id": 234, | |
"permissions": "read_write" | |
} | |
], | |
"nodebalancer": [ | |
{ | |
"id": 123, | |
"permissions": "read_write" | |
} | |
], | |
"stackscript": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
}, | |
{ | |
"id": 124, | |
"permissions": "read_write" | |
} | |
], | |
"volume": [ | |
{ | |
"id": 123, | |
"permissions": "read_only" | |
} | |
] | |
}' \ | |
https://api.linode.com/v4/account/users/example_user/grants | |
/domains: | |
x-linode-cli-command: domains | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- domains | |
summary: List Domains | |
description: > | |
This is a collection of Domains that you have registered in Linode's DNS | |
Manager. Linode is not a registrar, and in order for these to work you | |
must own the domains and point your registrar at Linode's nameservers. | |
operationId: getDomains | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_only | |
responses: | |
'200': | |
description: A paginated list of Domains you have registered. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Domain' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/domains | |
- lang: CLI | |
source: > | |
linode-cli domains list | |
post: | |
x-linode-grant: add_domains | |
tags: | |
- domains | |
summary: Create Domain | |
description: > | |
Adds a new Domain to Linode's DNS Manager. Linode is not a registrar, and | |
you must own the domain before adding it here. Be sure to point your | |
registrar to Linode's nameservers so that the records hosted here are | |
used. | |
operationId: createDomain | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
requestBody: | |
description: Information about the domain you are registering. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Domain' | |
responses: | |
'200': | |
description: | | |
Domain added successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Domain' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"domain": "example.com", | |
"type": "master", | |
"soa_email": "[email protected]", | |
"description": "Example Description", | |
"refresh_sec": 14400, | |
"retry_sec": 3600, | |
"expire_sec": 604800, | |
"ttl_sec": 3600, | |
"status": "active", | |
"master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"], | |
"axfr_ips": ["44.55.66.77"], | |
"display_group": "Example Display Group" | |
}' \ | |
https://api.linode.com/v4/domains | |
- lang: CLI | |
source: > | |
linode-cli domains create \ | |
--type master \ | |
--domain example.org \ | |
--soa_email [email protected] | |
/domains/{domainId}: | |
x-linode-cli-command: domains | |
parameters: | |
- name: domainId | |
in: path | |
description: The ID of the Domain to access. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- domains | |
summary: View Domain | |
description: > | |
This is a single Domain that you have registered in Linode's DNS Manager. | |
Linode is not a registrar, and in order for this Domain record to work you | |
must own the domain and point your registrar at Linode's nameservers. | |
operationId: getDomain | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_only | |
responses: | |
'200': | |
description: | | |
A single Domain in Linode's DNS Manager. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Domain' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/domains/123 | |
- lang: CLI | |
source: > | |
linode-cli domains view 123 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- domains | |
summary: Update Domain | |
description: | | |
Update information about a Domain in Linode's DNS Manager. | |
operationId: updateDomain | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
requestBody: | |
description: The Domain information to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Domain' | |
responses: | |
'200': | |
description: Domain update successful. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Domain' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"domain": "example.com", | |
"type": "master", | |
"soa_email": "[email protected]", | |
"description": "Example Description", | |
"refresh_sec": 14400, | |
"retry_sec": 3600, | |
"expire_sec": 604800, | |
"ttl_sec": 3600, | |
"status": "active", | |
"master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"], | |
"axfr_ips": ["44.55.66.77"], | |
"display_group": "Example Display Group" | |
}' \ | |
https://api.linode.com/v4/domains/123 | |
- lang: CLI | |
source: > | |
linode-cli domains update 1234 \ | |
--retry_sec 7200 \ | |
--ttl_sec 300 | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- domains | |
summary: Delete Domain | |
description: > | |
Deletes a Domain from Linode's DNS Manager. The Domain will be removed | |
from Linode's nameservers shortly after this operation completes. This | |
also deletes all associated Domain Records. | |
operationId: deleteDomain | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
responses: | |
'200': | |
description: Domain deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/domains/1234 | |
- lang: CLI | |
source: > | |
linode-cli domains delete 1234 | |
/domains/{domainId}/records: | |
x-linode-cli-command: domains | |
parameters: | |
- name: domainId | |
in: path | |
description: The ID of the Domain we are accessing Records for. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- domains | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_only | |
summary: List Domain Records | |
description: | | |
Returns a paginated list of Records configured on a Domain in Linode's | |
DNS Manager. | |
operationId: getDomainRecords | |
x-linode-cli-action: records-list | |
responses: | |
'200': | |
description: A list of Domain Records. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/DomainRecord' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/domains/1234/records | |
- lang: CLI | |
source: > | |
linode-cli domains records-list 1234 | |
post: | |
x-linode-grant: read_write | |
tags: | |
- domains | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
summary: Create Domain Record | |
description: > | |
Adds a new Domain Record to the zonefile this Domain represents. | |
operationId: createDomainRecord | |
x-linode-cli-action: records-create | |
requestBody: | |
description: > | |
Information about the new Record to add. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DomainRecord' | |
responses: | |
'200': | |
description: Domain Record created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DomainRecord' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"type": "A", | |
"name": "test", | |
"target": "12.34.56.78", | |
"priority": 50, | |
"weight": 50, | |
"port": 80, | |
"service": null, | |
"protocol": null, | |
"ttl_sec": 604800 | |
}' \ | |
https://api.linode.com/v4/domains/123/records | |
- lang: CLI | |
source: > | |
linode-cli domains records-create 123 \ | |
--type A \ | |
--name test \ | |
--target 12.34.56.78 \ | |
--priority 50 \ | |
--weight 50 \ | |
--port 80 \ | |
--ttl_sec 604800 | |
/domains/{domainId}/records/{recordId}: | |
x-linode-cli-command: domains | |
parameters: | |
- name: domainId | |
in: path | |
description: The ID of the Domain whose Record you are accessing. | |
required: true | |
schema: | |
type: integer | |
- name: recordId | |
in: path | |
description: The ID of the Record you are accessing. | |
required: true | |
schema: | |
type: integer | |
get: | |
x-linode-grant: read_only | |
tags: | |
- domains | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_only | |
summary: View Domain Record | |
description: > | |
View a single Record on this Domain. | |
operationId: getDomainRecord | |
x-linode-cli-action: records-view | |
responses: | |
'200': | |
description: A Domain Record object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DomainRecord' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/domains/123/records/234 | |
- lang: CLI | |
source: > | |
linode-cli domains records-view 123 234 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- domains | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
summary: Update Domain Record | |
description: > | |
Updates a single Record on this Domain. | |
operationId: updateDomainRecord | |
x-linode-cli-action: records-update | |
requestBody: | |
description: The values to change. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DomainRecord' | |
responses: | |
'200': | |
description: Domain Record updated. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DomainRecord' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"type": "A", | |
"name": "test", | |
"target": "12.34.56.78", | |
"priority": 50, | |
"weight": 50, | |
"port": 80, | |
"service": null, | |
"protocol": null, | |
"ttl_sec": 604800, | |
"tag": null | |
}' \ | |
https://api.linode.com/v4/domains/123/records/234 | |
- lang: CLI | |
source: > | |
linode-cli domains records-update 123 234 \ | |
--type A \ | |
--name test \ | |
--target 12.34.56.78 \ | |
--priority 50 \ | |
--weight 50 \ | |
--port 80 \ | |
--ttl_sec 604800 | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- domains | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- domains:read_write | |
summary: Delete Domain Record | |
description: > | |
Deletes a Record on this Domain. | |
operationId: deleteDomainRecord | |
x-linode-cli-action: records-delete | |
responses: | |
'200': | |
description: Record deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/domains/123/records/234 | |
- lang: CLI | |
source: > | |
linode-cli domains records-delete 123 234 | |
/images: | |
x-linode-cli-command: images | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- images | |
summary: List Images | |
description: > | |
Returns a paginated list of Images. | |
* Calling this endpoint without authentication returns all public Images. | |
* Authentication is required to return a combined paginated list of all public and | |
your private Images. | |
x-linode-redoc-load-ids: true | |
operationId: getImages | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- images:read_only | |
responses: | |
'200': | |
description: A paginated list of Images. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ImagePublic' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/images | |
- lang: CLI | |
source: > | |
linode-cli images list | |
post: | |
x-linode-grant: read_write | |
tags: | |
- images | |
summary: Create Image | |
description: > | |
Creates a private gold-master Image from a Linode Disk. There is no | |
additional charge to store Images for Linode users. | |
Images are limited to three per Account. | |
operationId: createImage | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- images:read_write | |
requestBody: | |
description: Information about the Image to create. | |
content: | |
application/json: | |
schema: | |
required: | |
- disk_id | |
allOf: | |
- $ref: '#/components/schemas/ImagePrivate' | |
- type: object | |
properties: | |
disk_id: | |
type: integer | |
description: > | |
The ID of the Linode Disk that this Image will be | |
created from. | |
example: 42 | |
label: | |
type: string | |
description: > | |
A short title of this Image. Defaults to the label of the | |
Disk it is being created from if not provided. | |
description: | |
type: string | |
description: > | |
A detailed description of this Image. | |
responses: | |
'200': | |
description: New private Image created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ImagePrivate' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"disk_id": 123, | |
"label": "this_is_a_label", | |
"description": "A longer description of the image" | |
}' \ | |
https://api.linode.com/v4/images | |
- lang: CLI | |
source: > | |
linode-cli images create \ | |
--label this_is_a_label \ | |
--description "A longer description \ | |
of the image" \ | |
--disk_id 123 | |
/images/{imageId}: | |
x-linode-cli-command: images | |
parameters: | |
- name: imageId | |
in: path | |
description: ID of the Image to look up. | |
required: true | |
schema: | |
type: string | |
get: | |
tags: | |
- images | |
summary: View Image | |
description: > | |
Get information about a single Image. | |
operationId: getImage | |
x-linode-cli-action: view | |
responses: | |
'200': | |
description: A single Image object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ImagePrivate' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/images/linode/debian9 | |
- lang: CLI | |
source: > | |
linode-cli images view linode/debian9 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- images | |
summary: Update Image | |
description: > | |
Updates a private Image that you have permission to | |
`read_write`. | |
operationId: updateImage | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- images:read_write | |
requestBody: | |
description: > | |
The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ImagePrivate' | |
responses: | |
'200': | |
description: The updated image. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ImagePrivate' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "My gold-master image", | |
"description": "The detailed description of my Image." | |
}' \ | |
https://api.linode.com/v4/images/private/67848373 | |
- lang: CLI | |
source: > | |
linode-cli images update private/67848373 \ | |
--label "My gold-master image" \ | |
--description "The detailed description \ | |
of my Image." | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- images | |
summary: Delete Image | |
description: | | |
Deletes a private Image you have permission to `read_write`. | |
**Deleting an Image is a destructive action and cannot be undone.** | |
operationId: deleteImage | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- images:read_write | |
responses: | |
'200': | |
description: Delete successful | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/images/private/67848373 | |
- lang: CLI | |
source: > | |
linode-cli images delete 67848373 | |
/linode/instances: | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
summary: List Linodes | |
description: > | |
Returns a paginated list of Linodes you have permission to view. | |
tags: | |
- Linode Instances | |
operationId: getLinodeInstances | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: Returns an array of all Linodes on your Account. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Linode' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances | |
- lang: CLI | |
source: > | |
linode-cli linodes list | |
post: | |
x-linode-charge: true | |
x-linode-grant: add_linodes | |
summary: Create Linode | |
description: | | |
Creates a Linode Instance on your Account. In order for this | |
request to complete successfully, your User must have the `add_linodes` grant. Creating a | |
new Linode will incur a charge on your Account. | |
Linodes can be created using one of the available Types. See | |
[GET /linode/types](/#operation/getLinodeTypes) to get more | |
information about each Type's specs and cost. | |
Linodes can be created in any one of our available | |
[Regions](/#operation/getRegions) for a list | |
of available Regions you can deploy your Linode in. | |
Linodes can be created in a number of ways: | |
* Using a Linode Linux Distribution image or an Image you created based on another Linode. | |
* The Linode will be `running` after it completes `provisioning`. | |
* A default config with two Disks, one being a 512 swap disk, is created. | |
* `swap_size` can be used to customize the swap disk size. | |
* Requires a `root_pass` be supplied to use for the root User's Account. | |
* It is recommended to supply SSH keys for the root User using the `authorized_keys` field. | |
* Using a StackScript. | |
* See [/linode/stackscripts](/#operation/getStackScripts) for | |
a list of available StackScripts. | |
* The Linode will be `running` after it completes `provisioning`. | |
* Requires a compatible Image to be supplied. | |
* See [/linode/stackscript/{stackscriptId}](/#operation/getStackScript) for compatible Images. | |
* Requires a `root_pass` be supplied to use for the root User's Account. | |
* It is recommended to supply SSH keys for the root User using the `authorized_keys` field. | |
* Using one of your other Linode's backups. | |
* You must create a Linode large enough to accommodate the Backup's size. | |
* The Disks and Config will match that of the Linode that was backed up. | |
* The `root_pass` will match that of the Linode that was backed up. | |
* Create an empty Linode. | |
* The Linode will remain `offline` and must be manually started. | |
* See [POST /linode/instances/{linodeId}/boot](/#operation/bootLinodeInstance). | |
* Disks and Configs must be created manually. | |
* This is only recommended for advanced use cases. | |
tags: | |
- Linode Instances | |
operationId: createLinodeInstance | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The requested initial state of a new Linode. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- type | |
- region | |
allOf: | |
- $ref: '#/components/schemas/LinodeRequest' | |
- $ref: '#/components/schemas/LinodeBase' | |
- properties: | |
backup_id: | |
type: integer | |
example: 1234 | |
description: | | |
A Backup ID from another Linode's available backups. Your User must have | |
`read_write` access to that Linode, the Backup must have a `status` of | |
`successful`, and the Linode must be deployed to the same `region` as the Backup. | |
See [/linode/instances/{linodeId}/backups](/#operation/getBackups) | |
for a Linode's available backups. | |
This field and the `image` field are mutually exclusive. | |
backups_enabled: | |
type: boolean | |
description: | | |
If this field is set to `true`, the created Linode will automatically be | |
enrolled in the Linode Backup service. This will incur an additional charge. | |
The cost for the Backup service is dependent on the Type of Linode deployed. | |
Backup pricing is included in the response from [/linodes/types](/#operation/getLinodeTypes) | |
swap_size: | |
type: integer | |
example: 512 | |
description: > | |
When deploying from an Image, this field is optional, otherwise it is ignored. | |
This is used to set the swap disk size for the newly-created Linode. | |
default: 512 | |
type: | |
type: string | |
description: > | |
The type of Linode to deploy. | |
readOnly: false | |
region: | |
type: string | |
description: > | |
The Region to deploy this Linode in. | |
readOnly: false | |
responses: | |
'200': | |
description: > | |
A new Linode is being created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Linode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"backup_id": 1234, | |
"backups_enabled": true, | |
"swap_size": 512, | |
"image": "linode/debian9", | |
"root_pass": "aComplexP@ssword", | |
"stackscript_id": 10079, | |
"stackscript_data": { | |
"gh_username": "linode" | |
}, | |
"authorized_keys": [ | |
"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" | |
], | |
"booted": true, | |
"label": "linode123", | |
"type": "g6-standard-2", | |
"region": "us-east", | |
"group": "Linode-Group" | |
}' \ | |
https://api.linode.com/v4/linode/instances | |
- lang: CLI | |
source: > | |
linode-cli linodes create \ | |
--label linode123 \ | |
--root_pass aComplex@Password \ | |
--booted true \ | |
--stackscript_id 10079 \ | |
--stackscript_data '{"gh_username": "linode"}' \ | |
--region us-east \ | |
--type g6-standard-2 \ | |
--authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" | |
/linode/instances/{linodeId}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
tags: | |
- Linode Instances | |
summary: View Linode | |
description: Get a specific Linode by ID. | |
operationId: getLinodeInstance | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: Returns a single Linode object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Linode' | |
links: | |
boot: | |
$ref: '#/components/links/bootLinode' | |
reboot: | |
$ref: '#/components/links/rebootLinode' | |
shutdown: | |
$ref: '#/components/links/shutdownLinode' | |
update: | |
$ref: '#/components/links/updateLinode' | |
delete: | |
$ref: '#/components/links/deleteLinode' | |
rebuild: | |
$ref: '#/components/links/rebuildLinode' | |
mutate: | |
$ref: '#/components/links/mutateLinode' | |
resize: | |
$ref: '#/components/links/resizeLinode' | |
rescue: | |
$ref: '#/components/links/rescueLinode' | |
clone: | |
$ref: '#/components/links/cloneLinode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123 | |
- lang: CLI | |
source: > | |
linode-cli linodes view 123 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Update Linode | |
description: > | |
Updates a Linode that you have permission to `read_write`. | |
operationId: updateLinodeInstance | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: > | |
Any field that is not marked as `readOnly` may be updated. Fields that are marked | |
`readOnly` will be ignored. If any updated field fails to pass validation, the Linode will | |
not be updated. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Linode' | |
responses: | |
'200': | |
description: The updated Linode. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Linode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "linode123", | |
"group": "Linode-Group", | |
"alerts": { | |
"cpu": 90, | |
"network_in": 10, | |
"network_out": 10, | |
"transfer_quota": 80, | |
"io": 10000 | |
}, | |
"backups": { | |
"schedule": { | |
"day": "Saturday", | |
"window": "W22" | |
} | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123 | |
- lang: CLI | |
source: > | |
linode-cli linodes update 7833080 \ | |
--label linode123 \ | |
--backups.schedule.day "Saturday" \ | |
--backups.schedule.window "W22" \ | |
--alerts.cpu 90 \ | |
--alerts.network_in 10 \ | |
--alerts.network_out 10 \ | |
--alerts.transfer_quota 80 \ | |
--alerts.io 10000 | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Delete Linode | |
description: | | |
Deletes a Linode you have permission to `read_write`. | |
**Deleting a Linode is a destructive action and cannot be undone.** | |
Additionally, deleting a Linode: | |
* Gives up any IP addresses the Linode was assigned. | |
* Deletes all Disks, Backups, Configs, etc. | |
* Stops billing for the Linode and its associated services. You will be billed for time used | |
within the billing period the Linode was active. | |
operationId: deleteLinodeInstance | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Delete successful | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/linode/instances/123 | |
- lang: CLI | |
source: > | |
linode-cli linodes delete 123 | |
/linode/instances/{linodeId}/backups: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode the backups belong to. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
summary: List Backups | |
description: > | |
Returns information about this Linode's available backups. | |
tags: | |
- Linode Instances | |
operationId: getBackups | |
x-linode-cli-action: backups-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: A collection of the specified Linode's available backups. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
automatic: | |
type: array | |
items: | |
allOf: | |
- $ref: '#/components/schemas/Backup' | |
- type: object | |
properties: | |
type: | |
type: string | |
example: automatic | |
snapshot: | |
type: object | |
properties: | |
in_progress: | |
$ref: '#/components/schemas/Backup' | |
current: | |
$ref: '#/components/schemas/Backup' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/backups | |
- lang: CLI | |
source: > | |
linode-cli linodes backups-list 123 | |
post: | |
x-linode-grant: read_write | |
summary: Create Snapshot | |
description: > | |
Creates a snapshot Backup of a Linode. | |
** If you already have a snapshot of this Linode, this is a destructive | |
action. The previous snapshot will be deleted.** | |
tags: | |
- Linode Instances | |
operationId: createSnapshot | |
x-linode-cli-action: snapshot | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The label for the new snapshot. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- label | |
type: object | |
properties: | |
label: | |
type: string | |
minLength: 1 | |
maxLength: 255 | |
example: SnapshotLabel | |
responses: | |
'200': | |
description: Snapshot was successfully taken. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Backup' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "MyNewSnapshot" | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/backups | |
- lang: CLI | |
source: > | |
linode-cli linodes snapshot 123 | |
/linode/instances/{linodeId}/backups/cancel: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode to cancel backup service for. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Cancel Backups | |
description: > | |
Cancels the Backup service on the given Linode. Deletes all of this Linode's | |
existing backups forever. | |
tags: | |
- Linode Instances | |
operationId: cancelBackups | |
x-linode-cli-action: backups-cancel | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linode:read_write | |
responses: | |
'200': | |
description: Backup service was cancelled for the specified Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/backups/cancel | |
- lang: CLI | |
source: > | |
linode-cli linodes backups-cancel 123 | |
/linode/instances/{linodeId}/backups/enable: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode to enable backup service for. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Enable Backups | |
description: > | |
Enables backups for the specified Linode. | |
tags: | |
- Linode Instances | |
operationId: enableBackups | |
x-linode-cli-action: backups-enable | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Backup service was enabled. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/backups/enable | |
- lang: CLI | |
source: > | |
linode-cli linodes backups-enable 123 | |
/linode/instances/{linodeId}/backups/{backupId}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode the Backup belongs to. | |
required: true | |
schema: | |
type: integer | |
- name: backupId | |
in: path | |
description: The ID of the Backup to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
summary: View Backup | |
description: > | |
Returns information about a Backup. | |
tags: | |
- Linode Instances | |
operationId: getBackup | |
x-linode-cli-action: backup-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: A single Backup. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Backup' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/backups/123456 | |
- lang: CLI | |
source: > | |
linode-cli linodes backup-view 123 123456 | |
/linode/instances/{linodeId}/backups/{backupId}/restore: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode that the Backup belongs to. | |
required: true | |
schema: | |
type: integer | |
- name: backupId | |
in: path | |
description: The ID of the Backup to restore. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Restore Backup | |
description: > | |
Restores a Linode's Backup to the specified Linode. | |
tags: | |
- Linode Instances | |
operationId: restoreBackup | |
x-linode-cli-action: backup-restore | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: Parameters to provide when restoring the Backup. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- linode_id | |
properties: | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode to restore a Backup to. | |
example: 234 | |
overwrite: | |
type: boolean | |
description: > | |
If True, deletes all Disks and Configs on the target Linode | |
before restoring. | |
example: true | |
responses: | |
'200': | |
description: Restore from Backup was initiated. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"linode_id": 234, | |
"overwrite": true | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/backups/123456/restore | |
- lang: CLI | |
source: > | |
linode-cli linodes backup-restore 123 123456 \ | |
--linode_id 234 \ | |
--overwrite true | |
/linode/instances/{linodeId}/boot: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode to boot. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Boot Linode | |
description: | | |
Boots a Linode you have permission to modify. If no parameters are given, a Config profile | |
will be chosen for this boot based on the following criteria: | |
* If there is only one Config profile for this Linode, it will be used. | |
* If there is more than one Config profile, the last booted config will be used. | |
* If there is more than one Config profile and none were the last to be booted (because the | |
Linode was never booted or the last booted config was deleted) an error will be returned. | |
tags: | |
- Linode Instances | |
operationId: bootLinodeInstance | |
x-linode-cli-action: boot | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: Optional configuration to boot into (see above). | |
required: false | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
config_id: | |
type: integer | |
description: > | |
The Linode Config ID to boot into. If omitted, we will attempt to select a | |
config to use. (This will do the right thing in most cases.) | |
example: null | |
responses: | |
'200': | |
description: Boot started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/boot | |
- lang: CLI | |
source: > | |
linode-cli linodes boot 123 | |
/linode/instances/{linodeId}/clone: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to clone. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-charge: true | |
x-linode-grant: add_linodes | |
summary: Clone Linode | |
description: > | |
You can clone your Linode's existing Disks or Configuration profiles to | |
another Linode on your Account. In order for this request to complete | |
successfully, your User must have the `add_linodes` grant. Cloning to a | |
new Linode will incur a charge on your Account. | |
If cloning to an existing Linode, any actions currently running or | |
queued must be completed first before you can clone to it. | |
tags: | |
- Linode Instances | |
operationId: cloneLinodeInstance | |
x-linode-cli-action: clone | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:create | |
requestBody: | |
description: The requested state your Linode will be cloned into. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
region: | |
type: string | |
description: > | |
This is the Region where the Linode will be deployed. | |
To view all available Regions you can deploy to see | |
[/regions](/#operation/getRegions). | |
* Region can only be provided when cloning to a new Linode. | |
example: us-east | |
type: | |
type: string | |
description: | | |
A Linode's Type determines what resources are available to | |
it, including disk space, memory, and virtual cpus. The | |
amounts available to a specific Linode are returned as | |
`specs` on the Linode object. | |
To view all available Linode Types you can deploy with | |
see [/linode/types](/#operation/getLinodeTypes). | |
* Type can only be provided when cloning to a new Linode. | |
example: g6-standard-2 | |
linode_id: | |
type: integer | |
description: > | |
If an existing Linode is to be the target for the clone, | |
the ID of that Linode. The existing Linode must have enough | |
resources to accept the clone. | |
example: 124 | |
label: | |
type: string | |
description: > | |
The label to assign this Linode when cloning to a new Linode. | |
* Can only be provided when cloning to a new Linode. | |
* Defaults to "linode". | |
example: cloned-linode | |
group: | |
deprecated: true | |
type: string | |
description: > | |
A label used to group Linodes for display. Linodes are not | |
required to have a group. | |
example: Linode-Group | |
backups_enabled: | |
type: boolean | |
description: | | |
If this field is set to `true`, the created Linode will | |
automatically be enrolled in the Linode Backup service. This | |
will incur an additional charge. Pricing is included in the | |
response from | |
[/linodes/types](/#operation/getLinodeTypes). | |
* Can only be included when cloning to a new Linode. | |
example: true | |
disks: | |
type: array | |
description: > | |
All disks attached to configs will be cloned from the | |
source Linode if not provided. | |
items: | |
type: integer | |
example: 25674 | |
configs: | |
type: array | |
description: > | |
All configs attached to will be cloned from the source | |
Linode if not provided. | |
items: | |
type: integer | |
example: 23456 | |
responses: | |
'200': | |
description: Clone started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"region": "us-east", | |
"type": "g6-standard-2", | |
"linode_id": 124, | |
"label": "cloned-linode", | |
"group": "Linode-Group", | |
"backups_enabled": true, | |
"disks": [25674], | |
"configs": [23456] | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/clone | |
- lang: CLI | |
source: > | |
linode-cli linodes clone 123 \ | |
--linode_id 124 \ | |
--region us-east \ | |
--type g6-standard-2 \ | |
--label cloned-linode \ | |
--backups_enabled true \ | |
--disks 25674 \ | |
--configs 23456 | |
/linode/instances/{linodeId}/configs: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up Configuration profiles for. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- Linode Instances | |
summary: List Configuration Profiles | |
description: | | |
Lists Configuration profiles associated with a Linode. | |
operationId: getLinodeConfigs | |
x-linode-cli-action: configs-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: > | |
Returns an array of Configuration profiles associated with this Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/LinodeConfig' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/configs | |
- lang: CLI | |
source: > | |
linode-cli linodes configs-list 123 | |
post: | |
tags: | |
- Linode Instances | |
summary: Create Configuration Profile | |
description: > | |
Adds a new Configuration profile to a Linode. | |
operationId: addLinodeConfig | |
x-linode-cli-action: config-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: > | |
The parameters to set when creating the Configuration profile. | |
This determines which kernel, devices, how much memory, etc. a Linode boots with. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeConfig' | |
responses: | |
'200': | |
description: | | |
A Configuration profile was created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"kernel": "linode/latest-64bit", | |
"comments": "This is my main Config", | |
"memory_limit": 2048, | |
"run_level": "default", | |
"virt_mode": "paravirt", | |
"helpers": { | |
"updatedb_disabled": true, | |
"distro": true, | |
"modules_dep": true, | |
"network": true, | |
"devtmpfs_automount": false | |
}, | |
"label": "My Config", | |
"devices": { | |
"sda": { | |
"disk_id": 123456, | |
"volume_id": null | |
}, | |
"sdb": { | |
"disk_id": 123457, | |
"volume_id": null | |
} | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/configs | |
- lang: CLI | |
source: > | |
linode-cli linodes config-create 7590910 \ | |
--label "My Config" \ | |
--devices.sda.disk_id 123456 \ | |
--devices.sdb.disk_id 123457 | |
/linode/instances/{linodeId}/configs/{configId}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode whose Configuration profile to look up. | |
required: true | |
schema: | |
type: integer | |
- name: configId | |
in: path | |
description: The ID of the Configuration profile to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
tags: | |
- Linode Instances | |
x-linode-grant: read_only | |
summary: View Configuration Profile | |
description: > | |
Returns information about a specific Configuration profile. | |
operationId: getLinodeConfig | |
x-linode-cli-action: config-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: A Configuration profile object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/configs/23456 | |
- lang: CLI | |
source: > | |
linode-cli linodes config-view 123 23456 | |
put: | |
x-linode-grant: read_write | |
summary: Update Configuration Profile | |
description: > | |
Updates a Configuration profile. | |
tags: | |
- Linode Instances | |
operationId: updateLinodeConfig | |
x-linode-cli-action: config-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The Configuration profile parameters to modify. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeConfig' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"kernel": "linode/latest-64bit", | |
"comments": "This is my main Config", | |
"memory_limit": 2048, | |
"run_level": "default", | |
"virt_mode": "paravirt", | |
"helpers": { | |
"updatedb_disabled": true, | |
"distro": true, | |
"modules_dep": true, | |
"network": true, | |
"devtmpfs_automount": false | |
}, | |
"label": "My Config", | |
"devices": { | |
"sda": { | |
"disk_id": 123456, | |
"volume_id": null | |
}, | |
"sdb": { | |
"disk_id": 123457, | |
"volume_id": null | |
} | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/configs/23456 | |
- lang: CLI | |
source: > | |
linode-cli linodes config-update 123 23456 \ | |
--kernel "linode/latest-64bit" \ | |
--comments "This is my main Config" \ | |
--memory_limit 2048 \ | |
--run_level default \ | |
--virt_mode paravirt \ | |
--helpers.updatedb_disabled true \ | |
--helpers.distro true \ | |
--helpers.modules_dep true \ | |
--helpers.network true \ | |
--helpers.devtmpfs_automount false \ | |
--label "My Config" \ | |
--devices.sda.disk_id 123456 \ | |
--devices.sdb.disk_id 123457 | |
responses: | |
'200': | |
description: Configuration profile successfully updated. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
delete: | |
summary: Delete Configuration Profile | |
description: > | |
Deletes the specified Configuration profile from the specified Linode. | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
operationId: deleteLinodeConfig | |
x-linode-cli-action: config-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: > | |
Configuration profile successfully deleted. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/linode/instances/123/configs/23456 | |
- lang: CLI | |
source: > | |
linode-cli linodes config-delete 123 23456 | |
/linode/instances/{linodeId}/disks: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- Linode Instances | |
summary: List Disks | |
description: > | |
View Disk information for Disks associated with this Linode. | |
operationId: getLinodeDisks | |
x-linode-cli-action: disks-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of disks associated with this Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Disk' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/disks | |
- lang: CLI | |
source: > | |
linode-cli linodes disks-list 123 | |
post: | |
tags: | |
- Linode Instances | |
summary: Create Disk | |
description: > | |
Adds a new Disk to a Linode. You can optionally create a Disk | |
from an Image (see [/images](/#operation/getImages) for a list of available public images, | |
or use one of your own), and optionally provide a StackScript to deploy | |
with this Disk. | |
operationId: addLinodeDisk | |
x-linode-cli-action: disk-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: > | |
The parameters to set when creating the Disk. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DiskRequest' | |
responses: | |
'200': | |
description: Disk created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Disk' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "Debian 9 Disk", | |
"image": "linode/debian9", | |
"size": 1300, | |
"authorized_keys": [ | |
"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" | |
], | |
"root_pass": "aComplexP@ssword", | |
"stackscript_id": 10079, | |
"stackscript_data": { | |
"gh_username": "linode" | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/disks | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-create 123 \ | |
--size 1300 \ | |
--authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ | |
--root_pass aComplex@Password \ | |
--image "linode/debian9" \ | |
--stackscript_id 10079 \ | |
--stackscript_data '{"gh_username": "linode"}' | |
/linode/instances/{linodeId}/disks/{diskId}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
- name: diskId | |
in: path | |
description: ID of the Disk to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
tags: | |
- Linode Instances | |
summary: View Disk | |
description: > | |
View Disk information for a Disk associated with this Linode. | |
operationId: getLinodeDisk | |
x-linode-cli-action: disk-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: Returns a single Disk object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Disk' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/disks/25674 | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-view 123 25674 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Update Disk | |
description: > | |
Updates a Disk that you have permission to `read_write`. | |
operationId: updateDisk | |
x-linode-cli-action: disk-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: > | |
Updates the parameters of a single Disk. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Disk' | |
responses: | |
'200': | |
description: The updated Disk. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Disk' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "Debian 9 Disk" | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/disks/25674 | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-update 123 25674 \ | |
--label "Debian 9 Disk" | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Delete Disk | |
description: | | |
Deletes a Disk you have permission to `read_write`. | |
**Deleting a Disk is a destructive action and cannot be undone.** | |
operationId: deleteDisk | |
x-linode-cli-action: disk-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Delete successful | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/linode/instances/123/disks/25674 | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-delete 123 24674 | |
/linode/instances/{linodeId}/disks/{diskId}/password: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
- name: diskId | |
in: path | |
description: ID of the Disk to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Reset Disk Root Password | |
description: > | |
Resets the password of a Disk you have permission to `read_write`. | |
operationId: resetDiskPassword | |
x-linode-cli-action: disk-reset-password | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The new password. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- password | |
properties: | |
password: | |
type: string | |
description: > | |
The new root password for the OS installed on this Disk. | |
The password must contain at least two of these four | |
character classes: | |
* lowercase letters | |
* uppercase letters | |
* numbers | |
* punctuation | |
minLength: 6 | |
maxLength: 128 | |
example: another@complex^Password123 | |
responses: | |
'200': | |
description: Returns a single Disk object. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"password": "another@complex^Password123" | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/disks/25674/password | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-reset-password \ | |
123 25674 \ | |
--password aComplex@Password | |
/linode/instances/{linodeId}/disks/{diskId}/resize: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
- name: diskId | |
in: path | |
description: ID of the Disk to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Resize Disk | |
description: > | |
Resizes a Disk you have permission to `read_write`. | |
The Linode this Disk is attached to must be shut down for resizing to | |
take effect. | |
If you are resizing the Disk to a smaller size, it cannot be made smaller | |
than what is required by the total size of the files current on the Disk. | |
The Disk must not be in use. If the Disk is in use, the request will | |
succeed but the resize will ultimately fail. | |
operationId: resizeDisk | |
x-linode-cli-action: disk-resize | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The new size of the Disk. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- password | |
properties: | |
size: | |
type: integer | |
description: > | |
The desired size, in MB, of the disk. | |
minimum: 1 | |
example: 2048 | |
responses: | |
'200': | |
description: Returns a single Disk object. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"size": 2048 | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/disks/25674/resize | |
- lang: CLI | |
source: > | |
linode-cli linodes disk-resize 123 25674 \ | |
--size 2048 | |
/linode/instances/{linodeId}/ips: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
tags: | |
- Linode Instances | |
summary: List Networking Information | |
description: > | |
Returns networking information for a single Linode. | |
operationId: getLinodeIPs | |
x-linode-cli-action: ips-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: Requested Linode's networking configuration. | |
content: | |
application/json: | |
schema: | |
properties: | |
ipv4: | |
type: object | |
description: > | |
Information about this Linode's IPv4 addresses. | |
readOnly: true | |
properties: | |
public: | |
type: array | |
items: | |
$ref: '#/components/schemas/IPAddress' | |
description: > | |
A list of public IP Address objects belonging to this Linode. | |
readOnly: true | |
private: | |
type: array | |
items: | |
$ref: '#/components/schemas/IPAddressPrivate' | |
description: > | |
A list of private IP Address objects belonging to this Linode. | |
readOnly: true | |
shared: | |
type: array | |
readOnly: true | |
items: | |
$ref: '#/components/schemas/IPAddress' | |
ipv6: | |
type: object | |
description: > | |
Information about this Linode's IPv6 addresses. | |
readOnly: true | |
properties: | |
link_local: | |
$ref: '#/components/schemas/IPAddressV6LinkLocal' | |
slaac: | |
$ref: '#/components/schemas/IPAddressV6Slaac' | |
global: | |
$ref: '#/components/schemas/IPv6Pool' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
https://api.linode.com/v4/linode/instances/123/ips | |
- lang: CLI | |
source: > | |
linode-cli linodes 123 ips-list | |
post: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Allocate IPv4 Address | |
description: > | |
Allocates a public or private IPv4 address to a Linode. | |
Public IP Addresses, after the one included with each Linode, | |
incur an additional monthly charge. If you need an additional public | |
IP Address you must request one - please | |
[open a support ticket](/#operation/createTicket). | |
You may not add more than one private IPv4 address to a single Linode. | |
operationId: addLinodeIP | |
x-linode-cli-action: ip-add | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: Information about the address you are creating. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- type | |
- public | |
properties: | |
type: | |
type: string | |
enum: | |
- ipv4 | |
description: > | |
The type of address you are allocating. Only IPv4 addresses | |
may be allocated through this endpoint. | |
example: ipv4 | |
public: | |
type: boolean | |
description: > | |
Whether to create a public or private IPv4 address. | |
example: true | |
responses: | |
'200': | |
description: IP address was successfully allocated. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"type": "ipv4", | |
"public": true | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/ips | |
- lang: CLI | |
source: > | |
linode-cli linodes ip-add 123 \ | |
--type ipv4 \ | |
--public true | |
/linode/instances/{linodeId}/ips/{address}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: The ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
- name: address | |
in: path | |
description: The IP address to look up. | |
required: true | |
schema: | |
type: string | |
format: ip | |
x-linode-cli-command: linodes | |
get: | |
x-linode-grant: read_only | |
tags: | |
- Linode Instances | |
summary: View IP Address | |
description: > | |
View information about the specified IP address associated | |
with the specified Linode. | |
operationId: getLinodeIP | |
x-linode-cli-action: ip-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: A single IP address. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141 | |
- lang: CLI | |
source: > | |
linode-cli linodes ip-view 123 97.107.143.141 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Update IP Address | |
description: > | |
Updates a particular IP Address associated with this Linode. | |
Only allows setting/resetting reverse DNS. | |
operationId: updateLinodeIP | |
x-linode-cli-action: ip-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The information to update for the IP address. | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/IPAddress' | |
- type: object | |
properties: | |
rdns: | |
type: string | |
example: linode.com | |
responses: | |
'200': | |
description: The updated IP address record. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"rdns": "test.example.org" | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141 | |
- lang: CLI | |
source: > | |
linode-cli linodes ip-update 123 \ | |
97.107.143.141 \ | |
--rdns test.example.org | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- Linode Instances | |
summary: Delete IPv4 Address | |
description: > | |
Deletes a public IPv4 address associated with this Linode. This will | |
fail if it is the Linode's last remaining public IPv4 address. Private | |
IPv4 addresses cannot be removed via this endpoint. | |
operationId: removeLinodeIP | |
x-linode-cli-action: ip-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: IP address successfully removed. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141 | |
- lang: CLI | |
source: > | |
linode-cli linodes ip-delete 97.107.143.141 | |
/linode/kernels: | |
x-linode-cli-command: kernels | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- Linode Instances | |
summary: List Kernels | |
description: | | |
Lists available Kernels. | |
operationId: getKernels | |
x-linode-cli-action: list | |
responses: | |
'200': | |
description: Returns an array of Kernels. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Kernel' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/kernels | |
- lang: CLI | |
source: > | |
linode-cli kernels list | |
/linode/kernels/{kernelId}: | |
parameters: | |
- name: kernelId | |
in: path | |
description: ID of the Kernel to look up. | |
required: true | |
schema: | |
type: string | |
x-linode-cli-command: kernels | |
get: | |
tags: | |
- Linode Instances | |
summary: View Kernel | |
description: > | |
Returns information about a single Kernel. | |
operationId: getKernel | |
x-linode-cli-action: view | |
responses: | |
'200': | |
description: A single Kernel object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Kernel' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/kernels/linode/latest-64bit | |
- lang: CLI | |
source: > | |
linode-cli kernels view latest-64bit | |
/linode/instances/{linodeId}/mutate: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to mutate. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Upgrade Linode | |
description: > | |
Linodes created with now-deprecated Types are entitled to a free | |
upgrade to the next generation. A mutating Linode will be allocated any new | |
resources the upgraded Type provides, and will be subsequently restarted | |
if it was currently running. | |
If any actions are currently running or queued, those actions must be | |
completed first before you can initiate a mutate. | |
tags: | |
- Linode Instances | |
operationId: mutateLinodeInstance | |
x-linode-cli-action: upgrade | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Mutate started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/mutate | |
- lang: CLI | |
source: > | |
linode-cli linodes upgrade 123 | |
/linode/instances/{linodeId}/reboot: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the linode to reboot. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Reboot Linode | |
description: > | |
Reboots a Linode you have permission to modify. If any actions are currently running or | |
queued, those actions must be completed first before you can initiate a reboot. | |
tags: | |
- Linode Instances | |
operationId: rebootLinodeInstance | |
x-linode-cli-action: reboot | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Reboot started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/reboot | |
- lang: CLI | |
source: > | |
linode-cli linodes reboot 123 | |
/linode/instances/{linodeId}/rebuild: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to rebuild. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Rebuild Linode | |
description: > | |
Rebuilds a Linode you have the `read_write` permission to modify. | |
A rebuild will first shut down the Linode, delete all disks and configs | |
on the Linode, and then deploy a new `image` to the Linode with the given | |
attributes. Additionally: | |
* Requires an `image` be supplied. | |
* Requires a `root_pass` be supplied to use for the root User's Account. | |
* It is recommended to supply SSH keys for the root User using the | |
`authorized_keys` field. | |
tags: | |
- Linode Instances | |
operationId: rebuildLinodeInstance | |
x-linode-cli-action: rebuild | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The requested state your Linode will be rebuilt into. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- image | |
- root_pass | |
allOf: | |
- $ref: '#/components/schemas/LinodeRequest' | |
properties: | |
image: | |
type: string | |
root_pass: | |
type: string | |
responses: | |
'200': | |
description: Rebuild started. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Linode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"image": "linode/debian9", | |
"root_pass": "aComplexP@ssword", | |
"authorized_keys": [ | |
"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" | |
], | |
"booted": true, | |
"stackscript_id": 10079, | |
"stackscript_data": { | |
"gh_username": "linode" | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/rebuild | |
- lang: CLI | |
source: > | |
linode-cli linodes rebuild 123 \ | |
--image "linode/debian9" \ | |
--root_pass aComplex@Password \ | |
--authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ | |
--booted true \ | |
--stackscript_id 10079 \ | |
--stackscript_data '{"gh_username": "linode"}' | |
/linode/instances/{linodeId}/rescue: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to rescue. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Boot Linode into Rescue Mode | |
description: > | |
Rescue Mode is a safe environment for performing many system recovery | |
and disk management tasks. Rescue Mode is based on the Finnix recovery | |
distribution, a self-contained and bootable Linux distribution. You can | |
also use Rescue Mode for tasks other than disaster recovery, such as | |
formatting disks to use different filesystems, copying data between | |
disks, and downloading files from a disk via SSH and SFTP. | |
* Note that "sdh" is reserved and unavailable during rescue. | |
tags: | |
- Linode Instances | |
operationId: rescueLinodeInstance | |
x-linode-cli-action: rescue | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: Optional object of devices to be mounted. | |
required: false | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
devices: | |
$ref: '#/components/schemas/RescueDevices' | |
responses: | |
'200': | |
description: Rescue started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"devices": { | |
"sda": { | |
"disk_id": 124458, | |
"volume_id": null | |
}, | |
"sdb": { | |
"disk_id": null, | |
"volume_id": null | |
} | |
} | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/rescue | |
- lang: CLI | |
source: > | |
linode-cli linodes rescue 123 \ | |
--devices.sda.disk_id 124458 | |
/linode/instances/{linodeId}/resize: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to resize. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Resize Linode | |
description: > | |
Resizes a Linode you have the `read_write` permission to a different | |
Type. If any actions are currently running or queued, those actions must | |
be completed first before you can initiate a resize. Additionally, the | |
following criteria must be met in order to resize a Linode: | |
* Any pending free upgrades to the Linode's current Type must be performed | |
before a resize can occur. | |
* The Linode must not have a pending migration. | |
* Your Account cannot have an outstanding balance. | |
* The Linode must not have more disk allocation than the new Type allows. | |
* In that situation, you must first delete or resize the disk to be smaller. | |
tags: | |
- Linode Instances | |
operationId: resizeLinodeInstance | |
x-linode-cli-action: resize | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
requestBody: | |
description: The Type your current Linode will resize to. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- type | |
properties: | |
type: | |
type: string | |
description: The ID representing the Linode Type. | |
example: g6-standard-2 | |
x-linode-cli-display: 1 | |
responses: | |
'200': | |
description: Resize started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"type": "g6-standard-2" | |
}' \ | |
https://api.linode.com/v4/linode/instances/123/resize | |
- lang: CLI | |
source: > | |
linode-cli linodes resize 123 \ | |
--type g6-standard-2 | |
/linode/instances/{linodeId}/shutdown: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to shutdown. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
post: | |
x-linode-grant: read_write | |
summary: Shut Down Linode | |
description: > | |
Shuts down a Linode you have permission to modify. If any actions are currently running or | |
queued, those actions must be completed first before you can initiate a shutdown. | |
tags: | |
- Linode Instances | |
operationId: shutdownLinodeInstance | |
x-linode-cli-action: shutdown | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_write | |
responses: | |
'200': | |
description: Shutdown started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/linode/instances/123/shutdown | |
- lang: CLI | |
source: > | |
linode-cli linodes shutdown 123 | |
/linode/instances/{linodeId}/stats: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
tags: | |
- Linode Instances | |
summary: View Current Month Statistics | |
description: > | |
Returns CPU, IO, IPv4, and IPv6 statistics for your Linode | |
for the past 24 hours. | |
operationId: getLinodeStats | |
x-linode-cli-skip: true | |
x-linode-cli-action: stats | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read_only | |
responses: | |
'200': | |
description: The Linode's stats for the past 24 hours. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeStats' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/stats | |
/linode/instances/{linodeId}/stats/{year}/{month}: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
- name: year | |
in: path | |
description: Numeric value representing the year to look up. | |
required: true | |
schema: | |
type: integer | |
- name: month | |
in: path | |
description: Numeric value representing the month to look up. | |
required: true | |
schema: | |
type: integer | |
minimum: 1 | |
maximum: 12 | |
x-linode-cli-command: linodes | |
get: | |
tags: | |
- Linode Instances | |
summary: View Statistics (year/month) | |
description: > | |
Returns statistics for a specific month. The year/month | |
values must be either a date in the past, or the current month. If the | |
current month, statistics will be retrieved for the past 30 days. | |
operationId: getLinodeStatsByYearMonth | |
x-linode-cli-skip: true | |
x-linode-cli-action: stats-month | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes_read_only | |
responses: | |
'200': | |
description: The Linode's statistics for the requested period. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeStats' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/stats/2018/01 | |
/linode/instances/{linodeId}/volumes: | |
parameters: | |
- name: linodeId | |
in: path | |
description: ID of the Linode to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: linodes | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- Linode Instances | |
summary: List Linode's Volumes | |
description: > | |
View Block Storage Volumes attached to this Linode. | |
operationId: getLinodeVolumes | |
x-linode-cli-action: volumes | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- linodes:read | |
responses: | |
'200': | |
description: > | |
Returns an array of Block Storage Volumes attached to this Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Volume' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/linode/instances/123/volumes | |
- lang: CLI | |
source: > | |
linode-cli linode volumes 123 | |
/linode/stackscripts: | |
x-linode-cli-command: stackscripts | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- StackScripts | |
summary: List StackScripts | |
description: > | |
If the request is not authenticated, only public StackScripts are returned. | |
For more information on StackScripts, please read our guide: | |
[Automate Deployment with StackScripts](https://linode.com/docs/platform/stackscripts/). | |
operationId: getStackScripts | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- stackscripts:read_only | |
responses: | |
'200': | |
description: > | |
A list of StackScripts available to the User, including private | |
StackScripts owned by the User if the request is authenticated. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/StackScript' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/stackscripts | |
- lang: CLI | |
source: > | |
linode-cli stackscripts list | |
post: | |
x-linode-grant: add_stackscripts | |
tags: | |
- StackScripts | |
summary: Create StackScript | |
description: > | |
Creates a StackScript in your Account. | |
operationId: addStackScript | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- stackscripts:read_write | |
requestBody: | |
description: The properties to set for the new StackScript. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/StackScript' | |
responses: | |
'200': | |
description: StackScript successfully created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/StackScript' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "a-stackscript", | |
"description": "This StackScript installs and configures MySQL", | |
"images": [ | |
"linode/debian9", | |
"linode/debian8" | |
], | |
"is_public": true, | |
"rev_note": "Set up MySQL", | |
"script": "#!/bin/bash" | |
}' \ | |
https://api.linode.com/v4/linode/stackscripts | |
- lang: CLI | |
source: > | |
linode-cli stackscripts create \ | |
--label a-stackscript \ | |
--description "This StackScript install and configures MySQL" \ | |
--images "linode/debian9" \ | |
--images "linode/debian8" \ | |
--is_public true \ | |
--rev_note "Set up MySQL" \ | |
--script '#!/bin/bash' | |
/linode/stackscripts/{stackscriptId}: | |
parameters: | |
- name: stackscriptId | |
in: path | |
description: The ID of the StackScript to look up. | |
required: true | |
schema: | |
type: string | |
x-linode-cli-command: stackscripts | |
get: | |
x-linode-grant: read_only | |
tags: | |
- StackScripts | |
summary: View StackScript | |
description: > | |
Returns all of the information about a specified | |
StackScript, including the contents of the script. | |
operationId: getStackScript | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- stackscripts:read_only | |
responses: | |
'200': | |
description: A single StackScript. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/StackScript' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/stackscripts/10079 | |
- lang: CLI | |
source: > | |
linode-cli stackscripts view 10079 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- StackScripts | |
summary: Update StackScript | |
description: > | |
Updates a StackScript. | |
**Once a StackScript is made public, it cannot be made private.** | |
operationId: updateStackScript | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- stackscripts:read_write | |
requestBody: | |
description: The fields to update. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/StackScript' | |
responses: | |
'200': | |
description: StackScript was successfully modified. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/StackScript' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "a-stackscript", | |
"description": "This StackScript installs and configures MySQL", | |
"images": [ | |
"linode/debian9", | |
"linode/debian8" | |
], | |
"is_public": true, | |
"rev_note": "Set up MySQL", | |
"script": "#!/bin/bash" | |
}' \ | |
https://api.linode.com/v4/linode/stackscripts/10079 | |
- lang: CLI | |
source: > | |
linode-cli stackscripts update 10079 \ | |
--label a-stackscript \ | |
--description "This StackScript installs \ | |
and configures MySQL" \ | |
--images "linode/debian9" \ | |
--images "linode/debian8" \ | |
--is_public true \ | |
--rev_note "Set up MySQL" \ | |
--script '#!/bin/bash' | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- StackScripts | |
summary: Delete StackScript | |
description: > | |
Deletes a private StackScript you have permission to `read_write`. You cannot delete a public StackScript. | |
operationId: deleteStackScript | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- stackscripts:read_write | |
responses: | |
'200': | |
description: StackScript was deleted. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/linode/stackscripts/10079 | |
- lang: CLI | |
source: > | |
linode-cli stackscripts delete 10079 | |
/linode/types: | |
x-linode-cli-command: linodes | |
get: | |
tags: | |
- Linode Types | |
summary: List Types | |
description: > | |
Returns collection of Linode Types, including pricing and | |
specifications for each Type. These are used when | |
[creating](/#operation/createLinodeInstance) | |
or [resizing](/#operation/resizeLinodeInstance) | |
Linodes. | |
x-linode-redoc-load-ids: true | |
operationId: getLinodeTypes | |
x-linode-cli-action: types | |
responses: | |
'200': | |
description: A collection of Linode Types. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/LinodeType' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/types | |
- lang: CLI | |
source: > | |
linode-cli linodes types | |
/linode/types/{typeId}: | |
parameters: | |
- name: typeId | |
in: path | |
description: The ID of the Linode Type to look up. | |
required: true | |
schema: | |
type: string | |
x-linode-cli-command: linodes | |
get: | |
tags: | |
- Linode Types | |
summary: View Type | |
description: > | |
Returns information about a specific Linode Type, including pricing and | |
specifications. This is used when | |
[creating](/#operation/createLinodeInstance) | |
or [resizing](/#operation/resizeLinodeInstance) | |
Linodes. | |
operationId: getLinodeType | |
x-linode-cli-action: type-view | |
responses: | |
'200': | |
description: A single Linode Type. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LinodeType' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/linode/types/g6-standard-2 | |
- lang: CLI | |
source: > | |
linode-cli linodes type-view g6-standard-2 | |
/longview/clients: | |
x-linode-cli-command: longview | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- longview | |
summary: List Longview Clients | |
description: > | |
Returns a paginated list of Longview Clients you have access | |
to. Longview Client is used to monitor stats on your Linode | |
with the help of the Longview Client application. | |
operationId: getLongviewClients | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- longview:read_only | |
responses: | |
'200': | |
description: A paginated list of Longview Clients. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/LongviewClient' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/longview/clients | |
- lang: CLI | |
source: > | |
linode-cli longview list | |
post: | |
x-linode-grant: add_longview | |
tags: | |
- longview | |
summary: Create Longview Client | |
description: > | |
Creates a Longview Client. This Client will not begin monitoring | |
the status of your server until you configure the Longview | |
Client application on your Linode using the returning `install_code` | |
and `api_key`. | |
operationId: createLongviewClient | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- longview:read_write | |
requestBody: | |
description: Information about the LongviewClient to create. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewClient' | |
responses: | |
'200': | |
description: Longview Client created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "client789" | |
}' \ | |
https://api.linode.com/v4/longview/clients | |
- lang: CLI | |
source: > | |
linode-cli longview create \ | |
--label client789 | |
/longview/clients/{clientId}: | |
parameters: | |
- name: clientId | |
in: path | |
required: true | |
description: The Longview Client ID to access. | |
schema: | |
type: integer | |
x-linode-cli-command: longview | |
get: | |
x-linode-grant: read_only | |
tags: | |
- longview | |
summary: View Longview Client | |
description: > | |
Returns a single Longview Client you can access. | |
operationId: getLongviewClient | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- longview:read_only | |
responses: | |
'200': | |
description: The requested Longview Client. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/longview/clients/789 | |
- lang: CLI | |
source: > | |
linode-cli longview view 789 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- longview | |
summary: Update Longview Client | |
description: > | |
Updates a Longview Client. This cannot update how it monitors your | |
server; use the Longview Client application on your Linode for | |
monitoring configuration. | |
operationId: updateLongviewClient | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- longview:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewClient' | |
responses: | |
'200': | |
description: Longview Client updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewClient' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "client789" | |
}' \ | |
https://api.linode.com/v4/longview/clients/789 | |
- lang: CLI | |
source: > | |
linode-cli longview update 789 \ | |
--label client789 | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- longview | |
summary: Delete Longview Client | |
description: > | |
Deletes a Longview Client from your Account. | |
**All information stored for this client will be lost.** | |
This _does not_ uninstall the Longview Client application for your | |
Linode - you must do that manually. | |
operationId: deleteLongviewClient | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- longview:read_write | |
responses: | |
'200': | |
description: Longview Client deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/longview/clients/789 | |
- lang: CLI | |
source: > | |
linode-cli longview delete 789 | |
/longview/subscriptions: | |
x-linode-cli-command: longview | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- longview | |
summary: List Longview Subscriptions | |
description: > | |
Returns a paginated list of available Longview Subscriptions. This is | |
a public endpoint and requires no authentication. | |
operationId: getLongviewSubscriptions | |
x-linode-cli-action: subscriptions-list | |
responses: | |
'200': | |
description: A paginated list of Longview Subscriptions. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/LongviewSubscription' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/longview/subscriptions | |
- lang: CLI | |
source: > | |
linode-cli longview subscriptions-list | |
/longview/subscriptions/{subscriptionId}: | |
parameters: | |
- name: subscriptionId | |
in: path | |
required: true | |
description: The Longview Subscription to look up. | |
schema: | |
type: string | |
x-linode-cli-command: longview | |
get: | |
tags: | |
- longview | |
summary: View Longview Subscription | |
description: > | |
Returns a single LongviewSubscription object. This is a public | |
endpoint and requires no authentication. | |
operationId: getLongviewSubscription | |
x-linode-cli-action: subscription-view | |
responses: | |
'200': | |
description: The requested Longview Subscription. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/LongviewSubscription' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/longview/subscriptions/longview-10 | |
- lang: CLI | |
source: > | |
linode-cli longview subscription-view \ | |
longview-10 | |
/managed/contacts: | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- managed | |
summary: List Managed Contacts | |
description: > | |
Returns a paginated list of Managed Contacts on your Account. | |
operationId: getManagedContacts | |
x-linode-cli-action: contacts-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of ManagedContacts | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ManagedContact' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/contacts | |
- lang: CLI | |
source: > | |
linode-cli managed contacts-list | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Create Managed Contact | |
description: > | |
Creates a Managed Contact. A Managed Contact is someone Linode | |
special forces can contact in the course of attempting to resolve an issue | |
with a Managed Service. | |
operationId: createManagedContact | |
x-linode-cli-action: contact-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the contact to create. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedContact' | |
responses: | |
'200': | |
description: Contact created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedContact' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"name": "John Doe", | |
"email": "[email protected]", | |
"phone": { | |
"primary": "123-456-7890", | |
"secondary": null | |
}, | |
"group": "on-call" | |
}' \ | |
https://api.linode.com/v4/managed/contacts | |
- lang: CLI | |
source: > | |
linode-cli managed contact-create \ | |
--name "John Doe" \ | |
--email "[email protected]" \ | |
--phone.primary "123-456-7890" | |
/managed/contacts/{contactId}: | |
parameters: | |
- name: contactId | |
in: path | |
required: true | |
description: The ID of the contact to access. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: View Managed Contact | |
description: > | |
Returns a single Managed Contact. | |
operationId: getManagedContact | |
x-linode-cli-action: contact-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: The requested Managed Contact. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedContact' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/contacts/567 | |
- lang: CLI | |
source: > | |
linode-cli managed contact-view 567 | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Update Managed Contact | |
description: > | |
Updates information about a Managed Contact. | |
operationId: updateManagedContact | |
x-linode-cli-action: contact-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedContact' | |
responses: | |
'200': | |
description: Contact updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedContact' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"name": "John Doe", | |
"email": "[email protected]", | |
"phone": { | |
"primary": "123-456-7890", | |
"secondary": null | |
}, | |
"group": "on-call" | |
}' \ | |
https://api.linode.com/v4/managed/contacts/567 | |
- lang: CLI | |
source: > | |
linode-cli managed contact-update 567 \ | |
--name "John Doe" \ | |
--email "[email protected]" \ | |
--phone.primary "123-456-7890" | |
delete: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Delete Managed Contact | |
description: > | |
Deletes a Managed Contact. | |
operationId: deleteManagedContact | |
x-linode-cli-action: contact-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Contact deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/managed/contacts/567 | |
- lang: CLI | |
source: > | |
linode-cli managed contact-delete 567 | |
/managed/credentials: | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- managed | |
summary: List Managed Credentials | |
description: > | |
Returns a paginated list of Managed Credentials on your Account. | |
operationId: getManagedCredentials | |
x-linode-cli-action: credentials-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of ManagedCredentials | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ManagedCredential' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/credentials | |
- lang: CLI | |
source: > | |
linode-cli managed credentials-list | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Create Managed Credential | |
description: > | |
Creates a Managed Credential. A Managed Credential is stored securely | |
to allow Linode special forces to access your Managed Services and resolve | |
issues. | |
operationId: createManagedCredential | |
x-linode-cli-action: credential-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the Credential to create. | |
content: | |
application/json: | |
schema: | |
required: | |
- label | |
allOf: | |
- $ref: '#/components/schemas/ManagedCredential' | |
- type: object | |
properties: | |
username: | |
type: string | |
minLength: 0 | |
maxLength: 5000 | |
description: > | |
The username to use when accessing the Managed Service. | |
example: johndoe | |
password: | |
type: string | |
minLength: 0 | |
maxLength: 5000 | |
description: > | |
The password to use when accessing the Managed Service. | |
example: s3cur3P@ssw0rd | |
responses: | |
'200': | |
description: Credential created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedCredential' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "prod-password-1", | |
"username": "johndoe", | |
"password": "s3cur3P@ssw0rd" | |
}' \ | |
https://api.linode.com/v4/managed/credentials | |
- lang: CLI | |
source: > | |
linode-cli managed credential-create \ | |
--label prod-password-1 \ | |
--username johndoe \ | |
--password s3cur3P@ssw0rd | |
/managed/credentials/{credentialId}: | |
parameters: | |
- name: credentialId | |
in: path | |
required: true | |
description: The ID of the Credential to access. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: View Managed Credential | |
description: > | |
Returns a single Managed Credential. | |
operationId: getManagedCredential | |
x-linode-cli-action: credential-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: The requested Managed Credential. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedCredential' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/credentials/9991 | |
- lang: CLI | |
source: > | |
linode-cli managed credential-view 9991 | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Update Managed Credential | |
description: > | |
Updates information about a Managed Credential. | |
operationId: updateManagedCredential | |
x-linode-cli-action: credential-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedCredential' | |
responses: | |
'200': | |
description: Credential updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedCredential' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "prod-password-1" | |
}' \ | |
https://api.linode.com/v4/managed/credentials/9991 | |
- lang: CLI | |
source: > | |
linode-cli managed credential-update 9991 \ | |
--label prod-password-1 | |
/managed/credentials/{credentialId}/revoke: | |
parameters: | |
- name: credentialId | |
in: path | |
required: true | |
description: The ID of the Credential to access. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Delete Managed Credential | |
description: > | |
Deletes a Managed Credential. Linode special forces will no longer | |
have access to this Credential when attempting to resolve issues. | |
operationId: deleteManagedCredential | |
x-linode-cli-action: credential-revoke | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Credential deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/managed/credentials/9991 | |
- lang: CLI | |
source: > | |
linode-cli managed credential-revoke 9991 | |
/managed/issues: | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- managed | |
summary: List Managed Issues | |
description: > | |
Returns a paginated list of recent and ongoing issues detected on your | |
Managed Services. | |
operationId: getManagedIssues | |
x-linode-cli-action: issues-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: > | |
A paginated list of open or ongoing Managed Issues. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ManagedIssue' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/issues | |
- lang: CLI | |
source: > | |
linode-cli managed issues-list | |
/managed/issues/{issueId}: | |
parameters: | |
- name: issueId | |
in: path | |
required: true | |
description: The Issue to look up. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: View Managed Issue | |
description: > | |
Returns a single Issue that is impacting or did impact one of your | |
Managed Services. | |
operationId: getManagedIssue | |
x-linode-cli-action: issue-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The requested issue. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedIssue' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/issues/823 | |
- lang: CLI | |
source: > | |
linode-cli managed issue-view 823 | |
/managed/linode-settings: | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- managed | |
summary: List Managed Linode Settings | |
description: > | |
Returns a paginated list of Managed Settings for your Linodes. There will | |
be one entry per Linode on your Account. | |
operationId: getManagedLinodeSettings | |
x-linode-cli-action: linode-settings-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: > | |
A paginated list of Managed settings for your Linodes. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ManagedLinodeSettings' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/linode-settings | |
- lang: CLI | |
source: > | |
linode-cli managed linode-settings-list | |
/managed/linode-settings/{linodeId}: | |
parameters: | |
- name: linodeId | |
in: path | |
required: true | |
description: The Linode ID whose settings we are accessing. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: View Linode's Managed Settings | |
description: > | |
Returns a single Linode's Managed settings. | |
operationId: getManagedLinodeSetting | |
x-linode-cli-action: linode-setting-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The requested Linode's Managed settings. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedLinodeSettings' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/linode-settings/123 | |
- lang: CLI | |
source: > | |
linode-cli managed linode-setting-view 123 | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Update Linode's Managed Settings | |
description: > | |
Updates a single Linode's Managed settings. | |
operationId: updateManagedLinodeSetting | |
x-linode-cli-action: linode-setting-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The settings to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedLinodeSettings' | |
responses: | |
'200': | |
description: Settings updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedLinodeSettings' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"ssh": { | |
"access": true, | |
"user": "linode", | |
"ip": "12.34.56.78", | |
"port": 22 | |
} | |
}' \ | |
https://api.linode.com/v4/managed/linode-settings/123 | |
- lang: CLI | |
source: > | |
linode-cli managed linode-setting-update \ | |
7833234 \ | |
--ssh.access true \ | |
--ssh.user linode \ | |
--ssh.port 22 \ | |
--ssh.ip 12.34.56.78 | |
/managed/services: | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: List Managed Services | |
description: > | |
Returns a paginated list of Managed Services on your Account. These | |
are the services Linode Managed is monitoring and will report and attempt | |
to resolve issues with. | |
operationId: getManagedServices | |
x-linode-cli-action: services-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of Managed Services | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/ManagedService' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/services | |
- lang: CLI | |
source: > | |
linode-cli managed services-list | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Create Managed Service | |
description: > | |
Creates a Managed Service. Linode Managed will being monitoring this | |
service and reporting and attempting to resolve any Issues. | |
operationId: createManagedService | |
x-linode-cli-action: service-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the service to monitor. | |
content: | |
application/json: | |
schema: | |
required: | |
- label | |
allOf: | |
- $ref: '#/components/schemas/ManagedService' | |
responses: | |
'200': | |
description: Service created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"service_type": "URL", | |
"label": "prod-1", | |
"address": "https://example.org", | |
"timeout": 30, | |
"body": "it worked", | |
"consultation_group": "on-call", | |
"notes": "The service name is my-cool-application", | |
"credentials": [ | |
9991 | |
] | |
}' \ | |
https://api.linode.com/v4/managed/services | |
- lang: CLI | |
source: > | |
linode-cli managed service-create \ | |
--service_type url \ | |
--label prod-1 \ | |
--address "https://example.org" \ | |
--timeout 30 \ | |
--body "it worked" \ | |
--consultation_group on-call \ | |
--notes "The service name is \ | |
my-cool-application" \ | |
--credentials 9991 | |
/managed/services/{serviceId}: | |
parameters: | |
- name: serviceId | |
in: path | |
required: true | |
description: The ID of the Managed Service to access. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
get: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: View Managed Service | |
description: > | |
Returns information about a single Managed Service on your Account. | |
operationId: getManagedService | |
x-linode-cli-action: service-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The requested Managed Service. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/managed/services/9994 | |
- lang: CLI | |
source: > | |
linode-cli managed service-view 9994 | |
put: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Update Managed Service | |
description: > | |
Updates information about a Managed Service. | |
operationId: updateManagedService | |
x-linode-cli-action: service-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
responses: | |
'200': | |
description: Service updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"service_type": "URL", | |
"label": "prod-1", | |
"address": "https://example.org", | |
"timeout": 30, | |
"body": "it worked", | |
"consultation_group": "on-call", | |
"notes": "The service name is my-cool-application", | |
"credentials": [ | |
9991 | |
] | |
}' \ | |
https://api.linode.com/v4/managed/services/9994 | |
- lang: CLI | |
source: > | |
linode-cli managed service-update 9994 \ | |
--service_type url \ | |
--label prod-1 \ | |
--address "https://example.org" \ | |
--timeout 30 \ | |
--body "it worked" \ | |
--consultation_group on-call \ | |
--notes "The service name is my-cool-application" \ | |
--credentials 9991 | |
delete: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Delete Managed Service | |
description: > | |
Deletes a Managed Service. This service will no longer be monitored by | |
Linode Managed. | |
operationId: deleteManagedService | |
x-linode-cli-action: service-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Service deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/managed/services/9994 | |
- lang: CLI | |
source: > | |
linode-cli managed service-delete 9994 | |
/managed/services/{serviceId}/disable: | |
parameters: | |
- name: serviceId | |
in: path | |
required: true | |
description: The ID of the Managed Service to disable. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Disable Managed Service | |
description: > | |
Temporarily disables monitoring of a Managed Service. | |
operationId: disableManagedService | |
x-linode-cli-action: service-disable | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Service disabled. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/managed/services/9994/disable | |
- lang: CLI | |
source: > | |
linode-cli managed service-disable 9994 | |
/managed/services/{serviceId}/enable: | |
parameters: | |
- name: serviceId | |
in: path | |
required: true | |
description: The ID of the Managed Service to enable. | |
schema: | |
type: integer | |
x-linode-cli-command: managed | |
post: | |
x-linode-grant: unrestricted only | |
tags: | |
- managed | |
summary: Enable Managed Service | |
description: > | |
Enables monitoring of a Managed Service. | |
operationId: enableManagedService | |
x-linode-cli-action: service-enable | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Service enabled. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ManagedService' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/managed/services/9994/enable | |
- lang: CLI | |
source: > | |
linode-cli managed service-enable 9994 | |
/networking/ips: | |
description: > | |
A collection of IP Addresses on your Account. Excludes private addresses. | |
x-linode-cli-command: networking | |
get: | |
x-linode-grant: read_only | |
tags: | |
- networking | |
summary: List IP Addresses | |
description: > | |
Returns a paginated list of IP Addresses on your Account, excluding | |
private addresses. | |
operationId: getIPs | |
x-linode-cli-action: ips-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_only | |
responses: | |
'200': | |
description: A paginated list of IP Addresses. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/IPAddress' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/networking/ips | |
- lang: CLI | |
source: > | |
linode-cli networking ips-list | |
post: | |
x-linode-grant: read_write | |
tags: | |
- networking | |
summary: Allocate IP Address | |
description: > | |
Allocates a new IPv4 Address on your Account. The Linode must be | |
configured to support additional addresses - please | |
[open a support ticket](/#operation/createTicket) requesting additional | |
addresses before attempting allocation. | |
operationId: allocateIP | |
x-linode-cli-action: ip-add | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_write | |
- linodes:read_write | |
requestBody: | |
description: Information about the address you are creating. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- type | |
- public | |
- linode_id | |
properties: | |
type: | |
type: string | |
enum: | |
- ipv4 | |
description: > | |
The type of address you are requesting. Only | |
IPv4 addresses may be allocated through this endpoint. | |
example: ipv4 | |
public: | |
type: boolean | |
description: > | |
Whether to create a public or private IPv4 address. | |
example: true | |
linode_id: | |
type: integer | |
description: > | |
The ID of a Linode you you have access to that this address | |
will be allocated to. | |
example: 123 | |
responses: | |
'200': | |
description: IP Address allocated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"type": "ipv4", | |
"public": true, | |
"linode_id": 123 | |
}' \ | |
https://api.linode.com/v4/networking/ips | |
- lang: CLI | |
source: > | |
linode-cli networking ip-add \ | |
--type ipv4 \ | |
--public true \ | |
--linode_id 123 | |
/networking/ips/{address}: | |
parameters: | |
- name: address | |
in: path | |
required: true | |
description: The address to operate on. | |
schema: | |
type: string | |
format: ip | |
x-linode-cli-command: networking | |
get: | |
x-linode-grant: read_only | |
tags: | |
- networking | |
summary: View IP Address | |
description: > | |
Returns information about a single IP Address on your Account. | |
operationId: getIP | |
x-linode-cli-action: ip-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_only | |
responses: | |
'200': | |
description: The requested IP Address. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/networking/ips/97.107.143.141 | |
- lang: CLI | |
source: > | |
linode-cli networking ip-view 97.107.143.141 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- networking | |
summary: Update IP Address RDNS | |
description: > | |
Sets RDNS on an IP Address. Forward DNS must already be set up for | |
reverse DNS to be applied. If you set the RDNS to `null` for public | |
IPv4 addresses, it will be reset to the default _members.linode.com_ | |
RDNS value. | |
operationId: updateIP | |
x-linode-cli-action: ip-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_write | |
requestBody: | |
description: The information to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
responses: | |
'200': | |
description: RDNS set successfully | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/IPAddress' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"rdns": "test.example.org" | |
}' \ | |
https://api.linode.com/v4/networking/ips/97.107.143.141 | |
- lang: CLI | |
source: > | |
linode-cli networking ip-update \ | |
97.107.143.141 \ | |
--rdns "test.example.org" | |
/networking/ipv4/assign: | |
description: > | |
Allows redistribution of IPv4 Addresses within a Region. Any number | |
of IPs may be assigned in one request, as long as all Linodes end up | |
with at least one public and no more than one private IP Address at the | |
end of the assignment. | |
x-linode-cli-command: networking | |
post: | |
x-linode-grant: read_write | |
tags: | |
- networking | |
summary: Assign IPs to Linodes | |
description: > | |
Assign multiple IPs to multiple Linodes in one Region. This allows | |
swapping, shuffling, or otherwise reorganizing IPv4 Addresses to your | |
Linodes. When the assignment is finished, all Linodes must end up with | |
at least one public IPv4 and no more than one private IPv4. | |
operationId: assignIPs | |
x-linode-cli-action: ip-assign | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_write | |
- linodes:read_write | |
requestBody: | |
description: > | |
Information about what IPv4 address to assign, and to which Linode. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- region | |
- assignments | |
properties: | |
region: | |
type: string | |
description: > | |
The ID of the Region in which these assignments are to take | |
place. All IPs and Linodes must exist in this Region. | |
example: us-east | |
assignments: | |
type: array | |
description: > | |
The list of assignments to make. You must have read_write | |
access to all IPs being assigned and all Linodes being | |
assigned to in order for the assignments to succeed. | |
items: | |
type: object | |
properties: | |
address: | |
type: string | |
format: ip | |
description: > | |
Ths IP Address for this assignment. Must be a IPv4 | |
address you can access in the Region specified. May | |
be a public or private address. | |
example: 12.34.56.78 | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode to assign this address to. The IP's | |
previous Linode will lose this address, and must end up | |
with at least one public address and no more than one | |
private address once all assignments have been made. | |
example: 123 | |
responses: | |
'200': | |
description: All assignments completed successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"region": "us-east", | |
"assignments": [ | |
{ | |
"address": "12.34.56.100", | |
"linode_id": 123 | |
}, | |
{ | |
"address": "23.45.67.200", | |
"linode_id": 234 | |
} | |
] | |
}' \ | |
https://api.linode.com/v4/networking/ipv4/assign | |
- lang: CLI | |
source: > | |
linode-cli networking ip-assign \ | |
--region us-east \ | |
--assignments \ | |
'{"address": "12.34.56.100", "linode_id": 123}' \ | |
--assignments \ | |
'{"23.45.67.200", "linode_id": 234}' | |
/networking/ipv4/share: | |
description: > | |
Configure shared IPs. A shared IP may be brought up on a Linode other | |
than the one it lists in its response. This can be used to allow one | |
Linode to begin serving requests should another become unresponsive. | |
x-linode-cli-command: networking | |
post: | |
x-linode-grant: read_write | |
tags: | |
- networking | |
summary: Configure IP Sharing | |
description: > | |
Configure shared IPs. A shared IP may be brought up on a Linode other | |
than the one it lists in its response. This can be used to allow one | |
Linode to begin serving requests should another become unresponsive. | |
operationId: shareIPs | |
x-linode-cli-action: ip-share | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_write | |
- linodes:read_write | |
requestBody: | |
description: Information about what IPs to share with which Linode. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- linode_id | |
- ips | |
properties: | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode that the addresses will be shared with. | |
example: 123 | |
ips: | |
type: array | |
items: | |
type: string | |
format: ip | |
example: 12.34.56.78 | |
description: > | |
A list of IPs that will be shared with this Linode. When | |
this is finished, the given Linode will be able to bring up | |
these addresses in addition to the Linodes that these | |
addresses belong to. You must have access to all of these | |
addresses and they must be in the same Region as the | |
Linode. | |
responses: | |
'200': | |
description: Sharing configured successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"linode_id": 123, | |
"ips": [ | |
"12.34.56.78" | |
] | |
}' \ | |
https://api.linode.com/v4/networking/ipv4/share | |
- lang: CLI | |
source: > | |
linode-cli networking ip-share \ | |
--linode_id 123 \ | |
--ips 12.34.56.78 | |
/networking/ipv6/pools: | |
x-linode-cli-command: networking | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- networking | |
summary: List IPv6 Pools | |
description: > | |
Displays the IPv6 pools on your Account. | |
operationId: getIPv6Pools | |
x-linode-cli-action: v6-pools | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_only | |
responses: | |
'200': | |
description: The IPv6 pools on your Account. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/IPv6Pool' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/networking/ipv6/pools | |
- lang: CLI | |
source: > | |
linode-cli networking v6-pools | |
/networking/ipv6/ranges: | |
x-linode-cli-command: networking | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- networking | |
summary: List IPv6 Ranges | |
description: > | |
Displays the IPv6 ranges on your Account. | |
operationId: getIPv6Ranges | |
x-linode-cli-action: v6-ranges | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- ips:read_only | |
responses: | |
'200': | |
description: The IPv6 ranges on your Account. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/IPv6Range' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/networking/ipv6/ranges | |
- lang: CLI | |
source: > | |
linode-cli networking v6-ranges | |
/nodebalancers: | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
summary: List NodeBalancers | |
description: > | |
Returns a paginated list of NodeBalancers you have access to. | |
operationId: getNodeBalancers | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_only | |
responses: | |
'200': | |
description: A paginated list of NodeBalancers. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/NodeBalancer' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers list | |
post: | |
x-linode-grant: add_nodebalancers | |
tags: | |
- NodeBalancers | |
summary: Create NodeBalancer | |
description: > | |
Creates a NodeBalancer in the requested Region. This NodeBalancer | |
will not start serving requests until it is configured. | |
operationId: createNodeBalancer | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: Information about the NodeBalancer to create. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- region | |
properties: | |
region: | |
type: string | |
description: > | |
The ID of the Region to create this NodeBalancer in. | |
example: us-east | |
label: | |
$ref: '#/components/schemas/NodeBalancer/properties/label' | |
client_conn_throttle: | |
$ref: '#/components/schemas/NodeBalancer/properties/client_conn_throttle' | |
responses: | |
'200': | |
description: NodeBalancer created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancer' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"region": "us-east", | |
"label": "balancer12345", | |
"client_conn_throttle": 0 | |
}' \ | |
https://api.linode.com/v4/nodebalancers | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers create \ | |
--region us-east \ | |
--label balancer12345 \ | |
--client_conn_throttle 0 | |
/nodebalancers/{nodeBalancerId}: | |
parameters: | |
- name: nodeBalancerId | |
in: path | |
description: The ID of the NodeBalancer to access. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
summary: View NodeBalancer | |
description: > | |
Returns a single NodeBalancer you can access. | |
operationId: getNodeBalancer | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_only | |
responses: | |
'200': | |
description: The requested NodeBalancer object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancer' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers/12345 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers view 12345 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Update NodeBalancer | |
description: > | |
Updates information about a NodeBalancer you can access. | |
operationId: updateNodeBalancer | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: The information to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancer' | |
responses: | |
'200': | |
description: NodeBalancer updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancer' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "balancer12345", | |
"client_conn_throttle": 0 | |
}' \ | |
https://api.linode.com/v4/nodebalancers/12345 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers update 12345 \ | |
--label balancer12345 \ | |
--client_conn_throttle 0 | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Delete NodeBalancer | |
description: > | |
Deletes a NodeBalancer. | |
**This is a destructive action and cannot be undone.** | |
Deleting a NodeBalancer will also delete all associated Configs and Nodes, | |
although the backend servers represented by the Nodes will not be | |
changed or removed. Deleting a NodeBalancer will cause you to lose access | |
to the IP Addresses assigned to this NodeBalancer. | |
operationId: deleteNodeBalancer | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
responses: | |
'200': | |
description: NodeBalancer deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/nodebalancers/12345 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers delete 12345 | |
/nodebalancers/{nodeBalancerId}/configs: | |
parameters: | |
- name: nodeBalancerId | |
in: path | |
description: The ID of the NodeBalancer to access. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
summary: List Configs | |
description: > | |
Returns a paginated list of NodeBalancer Configs associated | |
with this NodeBalancer. NodeBalancer Configs represent | |
individual ports that this NodeBalancer will accept traffic | |
on, one Config per port. | |
For example, if you wanted to accept standard HTTP traffic, you would | |
need a Config listening on port 80. | |
operationId: getNodeBalancerConfigs | |
x-linode-cli-action: configs-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_only | |
responses: | |
'200': | |
description: A paginted list of NodeBalancer Configs | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers/12345/configs | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers configs-list 12345 | |
post: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Create Config | |
description: > | |
Creates a NodeBalancer Config, which allows the NodeBalancer to | |
accept traffic on a new port. You will need to add NodeBalancer Nodes | |
to the new Config before it can actually serve requests. | |
operationId: createNodeBalancerConfig | |
x-linode-cli-action: config-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: Information about the port to configure. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
responses: | |
'200': | |
description: Config created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"port": 80, | |
"protocol": "http", | |
"algorithm": "roundrobin", | |
"stickiness": "http_cookie", | |
"check": "http_body", | |
"check_interval": 90, | |
"check_timeout": 10, | |
"check_attempts": 3, | |
"check_path": "/test", | |
"check_body": "it works", | |
"check_passive": true, | |
"cipher_suite": "recommended" | |
}' \ | |
https://api.linode.com/v4/nodebalancers/12345/configs | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers config-create 12345 \ | |
--port 80 \ | |
--protocol http \ | |
--algorithm roundrobin \ | |
--stickiness http_cookie \ | |
--check http_body \ | |
--check_interval 90 \ | |
--check_timeout 10 \ | |
--check_attempts 3 \ | |
--check_path "/test" \ | |
--check_body "it works" \ | |
--check_passive true \ | |
--cipher_suite recommended | |
/nodebalancers/{nodeBalancerId}/configs/{configId}: | |
parameters: | |
- name: nodeBalancerId | |
in: path | |
description: The ID of the NodeBalancer to access. | |
required: true | |
schema: | |
type: integer | |
- name: configId | |
in: path | |
description: The ID of the config to access. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
summary: View Config | |
description: > | |
Returns configuration information for a single port of this | |
NodeBalancer. | |
operationId: getNodeBalancerConfig | |
x-linode-cli-action: config-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_only | |
responses: | |
'200': | |
description: The requested NodeBalancer config. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers config-view \ | |
12345 4567 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Update Config | |
description: > | |
Updates the configuration for a single port on a NodeBalancer. | |
operationId: updateNodeBalancerConfig | |
x-linode-cli-action: config-update | |
security: | |
- personlAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
responses: | |
'200': | |
description: Config updated successfully. | |
content: | |
applicaiton/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerConfig' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"port": 80, | |
"protocol": "http", | |
"algorithm": "roundrobin", | |
"stickiness": "http_cookie", | |
"check": "http_body", | |
"check_interval": 90, | |
"check_timeout": 10, | |
"check_attempts": 3, | |
"check_path": "/test", | |
"check_body": "it works", | |
"check_passive": true, | |
"cipher_suite": "recommended" | |
}' \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers config-update \ | |
12345 4567 \ | |
--port 80 \ | |
--protocol http \ | |
--algorithm roundrobin \ | |
--stickiness http_cookie \ | |
--check http_body \ | |
--check_interval 90 \ | |
--check_timeout 10 \ | |
--check_attempts 3 \ | |
--check_path "/test" \ | |
--check_body "it works" \ | |
--check_passive true \ | |
--cipher_suite recommended | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Delete Config | |
description: > | |
Deletes the Config for a port of this NodeBalancer. | |
**This cannot be undone.** | |
Once completed, this NodeBalancer will no longer | |
respond to requests on the given port. This also deletes all | |
associated NodeBalancerNodes, but the Linodes they were routing | |
traffic to will be unchanged and will not be removed. | |
operationId: deleteNodeBalancerConfig | |
x-linode-cli-action: config-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
responses: | |
'200': | |
description: NodeBalancer Config deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers config-delete \ | |
12345 4567 | |
/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes: | |
parameters: | |
- name: nodeBalancerId | |
in: path | |
description: The ID of the NodeBalancer to access. | |
required: true | |
schema: | |
type: integer | |
- name: configId | |
in: path | |
description: The ID of the NodeBalancer config to access. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
summary: List Nodes | |
description: > | |
Returns a paginated list of NodeBalancer nodes associated with | |
this Config. These are the backends that will be sent traffic | |
for this port. | |
operationId: getNodeBalancerConfigNodes | |
x-linode-cli-action: nodes-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_only | |
responses: | |
'200': | |
description: A paginated list of NodeBalancer nodes. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/NodeBalancerNode' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers nodes-list 12345 4567 | |
post: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Create Node | |
description: > | |
Creates a NodeBalancer Node, a backend that can accept | |
traffic for this NodeBalancer Config. Nodes are routed | |
requests on the configured port based on their status. | |
operationId: createNodeBalancerNode | |
x-linode-cli-action: node-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: Information about the Node to create. | |
required: true | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/NodeBalancerNode' | |
required: | |
- label | |
- address | |
responses: | |
'200': | |
description: Node created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerNode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"address": "192.168.210.120:80", | |
"label": "node54321", | |
"weight": 50, | |
"mode": "accept" | |
}' \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers node-create \ | |
12345 4567 \ | |
--address 192.168.210.120:80 \ | |
--label node54321 \ | |
--weight 50 \ | |
--mode accept | |
/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}: | |
parameters: | |
- name: nodeBalancerId | |
in: path | |
description: The ID of the NodeBalancer to access. | |
required: true | |
schema: | |
type: integer | |
- name: configId | |
in: path | |
description: The ID of the Config to access | |
required: true | |
schema: | |
type: integer | |
- name: nodeId | |
in: path | |
description: The ID of the Node to access | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: nodebalancers | |
get: | |
x-linode-grant: read_only | |
tags: | |
- NodeBalancers | |
summary: View Node | |
description: > | |
Returns information about a single Node, a backend for this | |
NodeBalancer's configured port. | |
operationId: getNodeBalancerNode | |
x-linode-cli-action: node-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
responses: | |
'200': | |
description: A paginated list of NodeBalancer nodes. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerNode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers node-view 12345 4567 54321 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Update Node | |
description: > | |
Updates information about a Node, a backend for this NodeBalancer's | |
configured port. | |
operationId: updateNodeBalancerNode | |
x-linode-cli-action: node-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerNode' | |
responses: | |
'200': | |
description: Node updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/NodeBalancerNode' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"address": "192.168.210.120:80", | |
"label": "node54321", | |
"weight": 50, | |
"mode": "accept" | |
}' \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers node-create \ | |
12345 4567 54321 \ | |
--address 192.168.210.120:80 \ | |
--label node54321 \ | |
--weight 50 \ | |
--mode accept | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- NodeBalancers | |
summary: Delete Node | |
description: > | |
Deletes a Node from this Config. This backend will no longer | |
receive traffic for the configured port of this NodeBalancer. | |
This does not change or remove the Linode whose address was | |
used in the creation of this Node. | |
operationId: deleteNodeBalancerConfigNode | |
x-linode-cli-action: node-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- nodebalancers:read_write | |
responses: | |
'200': | |
description: Node deleted successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321 | |
- lang: CLI | |
source: > | |
linode-cli nodebalancers node-delete \ | |
12345 4567 54321 | |
/profile: | |
x-linode-cli-command: profile | |
get: | |
tags: | |
- profile | |
summary: View Profile | |
description: > | |
Returns information about the current User. This can be used to see | |
who is acting in applications where more than one token is managed. For | |
example, in third-party OAuth applications. | |
This endpoint is always accessible, no matter what OAuth scopes the acting token has. | |
operationId: getProfile | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: [] | |
responses: | |
'200': | |
description: Profile response. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Profile' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile | |
- lang: CLI | |
source: > | |
linode-cli profile view | |
put: | |
tags: | |
- profile | |
summary: Update Profile | |
description: > | |
Update information in your Profile. This option is _not_ available to | |
all third-party clients. | |
operationId: updateProfile | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Profile' | |
responses: | |
'200': | |
description: Profile updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Profile' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"email": "[email protected]", | |
"timezone": "US/Eastern", | |
"email_notifications": true, | |
"lish_auth_method": "keys_only", | |
"authorized_keys": null, | |
"two_factor_auth": true, | |
"restricted": false | |
}' \ | |
https://api.linode.com/v4/profile | |
- lang: CLI | |
source: > | |
linode-cli profile update \ | |
--email [email protected] \ | |
--timezone US/Eastern \ | |
--email_notifications true \ | |
--list_auth_method keys_only \ | |
--two_factor_auth true \ | |
--restricted false | |
/profile/apps: | |
description: > | |
Returns information about OAuth Apps you have authorized to access your Account. | |
x-linode-cli-command: profile | |
get: | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- profile | |
summary: List Authorized Apps | |
description: > | |
This is a collection of OAuth apps that you've given access to your Account, and | |
includes the level of access granted. | |
operationId: getProfileApps | |
x-linode-cli-action: apps-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: | | |
A paginated list of apps you've authorized. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/AuthorizedApp' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile/apps | |
- lang: CLI | |
source: > | |
linode-cli profile apps-list | |
/profile/apps/{appId}: | |
parameters: | |
- name: appId | |
in: path | |
required: true | |
description: The authorized app ID to manage. | |
schema: | |
type: integer | |
x-linode-cli-command: profile | |
get: | |
tags: | |
- profile | |
summary: View Authorized App | |
description: > | |
Returns information about a single app you've authorized to access your | |
Account. | |
operationId: getProfileApp | |
x-linode-cli-action: app-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The app requested. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/AuthorizedApp' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile/apps/123 | |
- lang: CLI | |
source: > | |
linode-cli profile app-view 1234 | |
delete: | |
tags: | |
- profile | |
summary: Revoke App Access | |
description: > | |
Expires this app token. This token may no longer be used to | |
access your Account. | |
operationId: deleteProfileApp | |
x-linode-cli-action: app-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: App's authorization has been revoked. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/profile/apps/123 | |
- lang: CLI | |
source: > | |
linode-cli profile app-delete 123 | |
/profile/grants: | |
x-linode-cli-command: profile | |
get: | |
tags: | |
- profile | |
summary: List Grants | |
description: > | |
This returns a GrantsResponse describing what the acting User has been | |
granted access to. For unrestricted users, this will return a 204 and | |
no body because unrestricted users have access to everything without | |
grants. This will not return information about entities you do not have | |
access to. This endpoint is useful when writing third-party OAuth | |
applications to see what options you should present to the acting User. | |
For example, if they do not have `global.add_linodes`, you might not | |
display a button to deploy a new Linode. | |
Any client may access this endpoint; no OAuth scopes are required. | |
operationId: getProfileGrants | |
x-linode-cli-action: grants | |
x-linode-cli-skip: true | |
security: | |
- personalAccessToken: [] | |
- oauth: [] | |
responses: | |
'200': | |
description: GrantsResponse | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/GrantsResponse' | |
'204': | |
description: > | |
This is an unrestricted User, who has no grants. This User can access | |
everything on the Account. | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile/grants | |
/profile/tfa-disable: | |
x-linode-cli-command: profile | |
post: | |
tags: | |
- profile | |
summary: Disable Two Factor Authentication | |
description: > | |
Disables Two Factor Authentication for your User. Once successful, | |
login attempts from untrusted computers will only require a password | |
before being successful. This is less secure, and is discouraged. | |
operationId: tfaDisable | |
x-linode-cli-action: tfa-disable | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: TFA disabled. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/profile/tfa-disable | |
- lang: CLI | |
source: > | |
linode-cli profile tfa-disable | |
/profile/tfa-enable: | |
x-linode-cli-command: profile | |
post: | |
tags: | |
- profile | |
summary: Create Two Factor Secret | |
description: > | |
Generates a Two Factor secret for your User. TFA will | |
not be enabled until you have successfully confirmed the code you | |
were given with [tfa-enable-confirm](/#operation/tfaConfirm) (see below). | |
Once enabled, logins from untrusted computers will be required to provide | |
a TFA code before they are successful. | |
operationId: tfaEnable | |
x-linode-cli-action: tfa-enable | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Two Factor secret generated | |
content: | |
application/json: | |
schema: | |
properties: | |
secret: | |
type: string | |
description: > | |
Your Two Factor secret. This is used to generate | |
time-based two factor codes required for logging in. Doing | |
this will be required to confirm TFA an actually enable it. | |
example: 5FXX6KLACOC33GTC | |
expiry: | |
type: string | |
format: date-time | |
description: > | |
When this Two Factor secret expires. | |
example: 2018-03-01T00:01:01 | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/profile/tfa-enable | |
- lang: CLI | |
source: > | |
linode-cli profile tfa-enable | |
/profile/tfa-enable-confirm: | |
x-linode-cli-command: profile | |
post: | |
tags: | |
- profile | |
summary: Confirm/Enable Two Factor Authentication | |
description: > | |
Confirms that you can successfully generate Two Factor codes and | |
enables TFA on your Account. Once this is complete, login attempts | |
from untrusted computers will be required to provide a Two Factor code | |
before they are successful. | |
operationId: tfaConfirm | |
x-linode-cli-action: tfa-confirm | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The Two Factor code you generated with your Two Factor secret. | |
required: true | |
content: | |
application/json: | |
schema: | |
properties: | |
tfa_code: | |
type: string | |
description: > | |
The Two Factor code you generated with your Two Factor secret. | |
These codes are time-based, so be sure it is current. | |
example: "213456" | |
responses: | |
'200': | |
description: TFA enabled successfully | |
content: | |
application/json: | |
schema: | |
properties: | |
scratch: | |
type: string | |
description: > | |
A one-use code that can be used in place of your Two Factor | |
code, in case you are unable to generate one. Keep this in | |
a safe place to avoid being locked out of your Account. | |
example: sample two factor scratch | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"tfa_code": "213456" | |
}' \ | |
https://api.linode.com/v4/profile/tfa-enable-confirm | |
- lang: CLI | |
source: > | |
linode-cli profile tfa-confirm \ | |
--tfa_code 213456 | |
/profile/tokens: | |
x-linode-cli-command: profile | |
description: > | |
A collection of Personal Access Tokens you've created. | |
get: | |
tags: | |
- profile | |
summary: List Personal Access Tokens | |
description: > | |
Returns a paginated list of Personal Access Tokens currently active for | |
your User. | |
operationId: getPersonalAccessTokens | |
x-linode-cli-action: tokens-list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: A paginated list of active tokens. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/PersonalAccessToken' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile/tokens | |
- lang: CLI | |
source: > | |
linode-cli profile tokens-list | |
post: | |
tags: | |
- profile | |
summary: Create Personal Access Token | |
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. | |
operationId: createPersonalAccessToken | |
x-linode-cli-action: token-create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Information about the requested token. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- label | |
properties: | |
scopes: | |
type: string | |
format: oauth-scope | |
description: > | |
The scopes to create the token with. These cannot be changed | |
after creation, and may not exceed the scopes of the acting token. | |
If omitted, the new token will have the same scopes as the acting | |
token. | |
example: '*' | |
expiry: | |
type: string | |
format: date-time | |
description: > | |
When this token should be valid until. If omitted, the new token | |
will be valid until it is manually revoked. | |
example: null | |
label: | |
$ref: '#/components/schemas/PersonalAccessToken/properties/label' | |
responses: | |
'200': | |
description: Token created successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PersonalAccessToken' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"scopes": "*", | |
"expiry": "2018-01-01T13:46:32", | |
"label": "linode-cli" | |
}' \ | |
https://api.linode.com/v4/profile/tokens | |
- lang: CLI | |
source: > | |
linode-cli profile token-create \ | |
--scopes '*' \ | |
--expiry '2018-01-01T13:46:32' \ | |
--label linode-cli | |
/profile/tokens/{tokenId}: | |
description: View or revoke a single token. | |
parameters: | |
- name: tokenId | |
in: path | |
description: The ID of the token to access. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: profile | |
get: | |
tags: | |
- profile | |
summary: View Personal Access Token | |
description: > | |
Returns a single Personal Access Token. | |
operationId: getPersonalAccessToken | |
x-linode-cli-action: token-view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: The requested token. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PersonalAccessToken' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/profile/tokens/123 | |
- lang: CLI | |
source: > | |
linode-cli profile token-view 123 | |
put: | |
tags: | |
- profile | |
summary: Update Personal Access Token | |
description: > | |
Updates a Personal Access Token. | |
operationId: updatePersonalAccessToken | |
x-linode-cli-action: token-update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: The fields to update. | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PersonalAccessToken' | |
responses: | |
'200': | |
description: Token updated successfully. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/PersonalAccessToken' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "linode-cli" | |
}' \ | |
https://api.linode.com/v4/profile/tokens/123 | |
- lang: CLI | |
source: > | |
linode-cli profile token-update 123 \ | |
--label linode-cli | |
delete: | |
tags: | |
- profile | |
summary: Revoke Personal Access Token | |
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. | |
operationId: deletePersonalAccessToken | |
x-linode-cli-action: token-delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
responses: | |
'200': | |
description: Token revoked successfully. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/profile/tokens/123 | |
- lang: CLI | |
source: > | |
linode-cli profile token-delete 123 | |
/regions: | |
x-linode-cli-command: regions | |
get: | |
tags: | |
- regions | |
summary: List Regions | |
description: | | |
Lists the Regions available for Linode services. Not all services are guaranteed to be | |
available in all Regions. | |
x-linode-redoc-load-ids: true | |
operationId: getRegions | |
x-linode-cli-action: list | |
responses: | |
'200': | |
description: Returns an array of Regions. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Region' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/regions | |
- lang: CLI | |
source: > | |
linode-cli regions list | |
/regions/{regionId}: | |
x-linode-cli-command: regions | |
parameters: | |
- name: regionId | |
in: path | |
description: ID of the Region to look up. | |
required: true | |
schema: | |
type: string | |
get: | |
tags: | |
- regions | |
summary: View Region | |
description: > | |
Returns a single Region. | |
operationId: getRegion | |
x-linode-cli-action: view | |
responses: | |
'200': | |
description: A single Region object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Region' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl https://api.linode.com/v4/regions/us-east | |
- lang: CLI | |
source: > | |
linode-cli regions view us-east | |
/support/tickets: | |
x-linode-cli-command: tickets | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- support | |
summary: List Support Tickets | |
description: > | |
Returns a collection of Support Tickets on your | |
Account. Support Tickets can be both tickets you open with Linode | |
for support, as well as tickets generated by Linode regarding | |
your Account. | |
This collection includes all Support Tickets generated on your Account, | |
with open tickets returned first. | |
operationId: getTickets | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of SupportTicket objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/SupportTicket' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/support/tickets | |
- lang: CLI | |
source: > | |
linode-cli tickets list | |
post: | |
x-linode-grant: read_write | |
tags: | |
- support | |
summary: Open Support Ticket | |
description: > | |
Open a Support Ticket. | |
Only one of the ID attributes (`linode_id`, `domain_id`, etc.) can be set | |
on a single Support Ticket. | |
operationId: createTicket | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Open a Support Ticket. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SupportTicketRequest' | |
responses: | |
'200': | |
description: Support Ticket opened. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SupportTicket' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"description": "I'm having trouble setting the root password on my Linode. I tried following the instructions but something is not working and I'm not sure what I'm doing wrong. Can you please help me figure out how I can reset it?", | |
"linode_id": 123, | |
"summary": "Having trouble resetting root password on my Linode" | |
}' \ | |
https://api.linode.com/v4/support/tickets | |
- lang: CLI | |
source: > | |
linode-cli tickets create \ | |
--description "I'm having trouble setting the root password on my Linode. I tried following the instructions but something is not working and I'm not sure what I'm doing wrong. Can you please help me figure out how I can reset it?" \ | |
--linode_id 123 \ | |
--summary "Having trouble resetting root password on my Linode" | |
/support/tickets/{ticketId}: | |
parameters: | |
- name: ticketId | |
in: path | |
description: The ID of the Support Ticket. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: tickets | |
get: | |
x-linode-grant: read_only | |
tags: | |
- support | |
summary: View Support Ticket | |
description: > | |
Returns a Support Ticket under your Account. | |
operationId: getTicket | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a single SupportTicket object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SupportTicket' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/support/tickets/11223344 | |
- lang: CLI | |
source: > | |
linode-cli tickets view 11223344 | |
/support/tickets/{ticketId}/attachments: | |
parameters: | |
- name: ticketId | |
in: path | |
description: The ID of the Support Ticket. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: tickets | |
post: | |
x-linode-grant: read_write | |
tags: | |
- support | |
summary: Create Ticket Attachment | |
description: > | |
Adds a file attachment to an existing Support | |
Ticket on your Account. File attachments are used to assist our | |
Support team in resolving your Ticket. Examples of attachments | |
are screen shots and text files that provide additional information. | |
operationId: createTicketAttachment | |
x-linode-cli-skip: true | |
x-linode-cli-action: upload-attachment | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Add an attachment. | |
required: true | |
content: | |
multipart/form-data: | |
schema: | |
required: | |
- file | |
properties: | |
file: | |
type: string | |
description: > | |
The local, absolute path to the file you want to attach to | |
your Support Ticket. | |
example: '/Users/LinodeGuy/pictures/screen_shot.jpg' | |
responses: | |
'200': | |
description: Attachment created. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST ' \ | |
-F file=/Users/LinodeGuy/pictures/screen_shot.jpg \ | |
https://api.linode.com/v4/support/tickets/11223344/attachments | |
/support/tickets/{ticketId}/replies: | |
parameters: | |
- name: ticketId | |
in: path | |
description: The ID of the Support Ticket. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: tickets | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- support | |
summary: List Replies | |
description: > | |
Returns a collection of replies to a Support Ticket on | |
your Account. | |
operationId: getTicketReplies | |
x-linode-cli-action: replies | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_only | |
responses: | |
'200': | |
description: Returns a paginated list of SupportTicketReply objects. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/SupportTicketReply' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/support/tickets/11223344/replies | |
- lang: CLI | |
source: > | |
linode-cli tickets replies 11223344 | |
post: | |
x-linode-grant: read_write | |
tags: | |
- support | |
summary: Create Reply | |
description: > | |
Adds a reply to an existing Support Ticket. | |
operationId: createTicketReply | |
x-linode-cli-action: reply | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- account:read_write | |
requestBody: | |
description: Add a reply. | |
required: true | |
content: | |
application/json: | |
schema: | |
required: | |
- description | |
properties: | |
description: | |
type: string | |
description: > | |
The content of your reply. | |
minLength: 1 | |
maxLength: 65535 | |
example: > | |
Thank you for your help. I was able to figure out what the | |
problem was and I successfully reset my password. You guys are | |
the best! | |
responses: | |
'200': | |
description: Reply created. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/SupportTicketReply' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"description": "Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!" | |
}' \ | |
https://api.linode.com/v4/support/tickets/11223344/replies | |
- lang: CLI | |
source: > | |
linode-cli tickets reply 11223344 \ | |
--description "Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!" | |
/volumes: | |
x-linode-cli-command: volumes | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
summary: List Volumes | |
description: > | |
Returns a paginated list of Volumes you have permission to view. | |
tags: | |
- volumes | |
operationId: getVolumes | |
x-linode-cli-action: list | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_only | |
responses: | |
'200': | |
description: Returns an array of all Volumes on your Account. | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
data: | |
type: array | |
items: | |
$ref: '#/components/schemas/Volume' | |
page: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/page' | |
pages: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/pages' | |
results: | |
$ref: '#/components/schemas/PaginationEnvelope/properties/results' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/volumes | |
- lang: CLI | |
source: > | |
linode-cli volumes list | |
post: | |
x-linode-charge: true | |
x-linode-grant: add_volumes | |
summary: Create Volume | |
description: > | |
Creates a Volume on your Account. In order | |
for this to complete successfully, your User must have the `add_volumes` | |
grant. Creating a new Volume will start accruing additional charges | |
on your account. | |
Volume service may not be available in all Regions. See | |
[/regions](/#operation/getRegions) | |
for a list of available Regions you deploy your Volume in. | |
tags: | |
- volumes | |
operationId: createVolume | |
x-linode-cli-action: create | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
requestBody: | |
description: The requested initial state of a new Volume. | |
required: true | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/Volume' | |
- type: object | |
properties: | |
region: | |
type: string | |
description: > | |
The Region to deploy this Volume in. This is only required | |
if a linode_id is not given. | |
example: null | |
config_id: | |
type: integer | |
description: > | |
When creating a Volume attached to a Linode, the ID of the | |
Linode Config to include the new Volume in. This Config | |
must belong to the Linode referenced by `linode_id`. Must | |
_not_ be provided if `linode_id` is not sent. | |
example: 23456 | |
responses: | |
'200': | |
description: > | |
Creating Volume. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Volume' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"label": "my-volume", | |
"size": 20, | |
"linode_id": 12346 | |
}' \ | |
https://api.linode.com/v4/volumes | |
- lang: CLI | |
source: > | |
linode-cli volumes create \ | |
--label my-volume \ | |
--size 20 \ | |
--linode_id 12346 \ | |
--no-defaults | |
/volumes/{volumeId}: | |
parameters: | |
- name: volumeId | |
in: path | |
description: ID of the Volume to look up. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: volumes | |
get: | |
x-linode-grant: read_only | |
parameters: | |
- $ref: '#/components/parameters/pageOffset' | |
- $ref: '#/components/parameters/pageSize' | |
tags: | |
- volumes | |
summary: View Volume | |
description: > | |
Get information about a single Volume. | |
operationId: getVolume | |
x-linode-cli-action: view | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_only | |
responses: | |
'200': | |
description: Returns a single Volume object. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Volume' | |
links: | |
attach: | |
$ref: '#/components/links/attachVolume' | |
clone: | |
$ref: '#/components/links/cloneVolume' | |
detach: | |
$ref: '#/components/links/detachVolume' | |
resize: | |
$ref: '#/components/links/resizeVolume' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Authorization: Bearer $TOKEN" \ | |
https://api.linode.com/v4/volumes/12345 | |
- lang: CLI | |
source: > | |
linode-cli volumes view 12345 | |
put: | |
x-linode-grant: read_write | |
tags: | |
- volumes | |
summary: Update Volume | |
description: > | |
Updates a Volume that you have permission to `read_write`. | |
operationId: updateVolume | |
x-linode-cli-action: update | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
requestBody: | |
description: > | |
If any updated field fails to pass validation, the Volume will not be | |
updated. | |
required: true | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/Volume' | |
- type: object | |
properties: | |
region: | |
allOf: | |
- $ref: '#/components/schemas/Volume/properties/region' | |
readOnly: true | |
size: | |
allOf: | |
- $ref: '#/components/schemas/Volume/properties/size' | |
readOnly: true | |
linode_id: | |
allOf: | |
- $ref: '#/components/schemas/Volume/properties/linode_id' | |
readOnly: true | |
responses: | |
'200': | |
description: The updated Volume. | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Volume' | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "my-volume" | |
}' \ | |
https://api.linode.com/v4/volumes/12345 | |
- lang: CLI | |
source: > | |
linode-cli volumes update 12345 \ | |
--label my_volume | |
delete: | |
x-linode-grant: read_write | |
tags: | |
- volumes | |
summary: Delete Volume | |
description: | | |
Deletes a Volume you have permission to `read_write`. | |
**Deleting a Volume is a destructive action and cannot be undone.** | |
Deleting stops billing for the Volume. You will be billed for time used within | |
the billing period the Volume was active. | |
operationId: deleteVolume | |
x-linode-cli-action: delete | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
responses: | |
'200': | |
description: Volume deletion successful. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X DELETE \ | |
https://api.linode.com/v4/volumes/12345 | |
- lang: CLI | |
source: > | |
linode-cli volumes delete 12345 | |
/volumes/{volumeId}/attach: | |
parameters: | |
- name: volumeId | |
in: path | |
description: ID of the Volume to attach. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: volumes | |
post: | |
summary: Attach Volume | |
description: > | |
Attaches a Volume on your Account | |
to an existing Linode on your Account. In order for this request to | |
complete successfully, your User must have `read_only` or `read_write` | |
permission to the Volume and `read_write` permission to the Linode. | |
Additionally, the Volume and Linode must be located in the same Region. | |
tags: | |
- volumes | |
operationId: attachVolume | |
x-linode-cli-action: attach | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
- linodes:read_write | |
requestBody: | |
description: Volume to attach to a Linode. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- linode | |
properties: | |
linode_id: | |
allOf: | |
- $ref: '#/components/schemas/Volume/properties/linode_id' | |
readOnly: false | |
config_id: | |
type: integer | |
description: > | |
The ID of the Linode Config to include this Volume in. Must | |
belong to the Linode referenced by `linode_id`. If not given, | |
the last booted Config will be chosen. | |
example: 23456 | |
responses: | |
'200': | |
description: Volume was attached to a Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"linode_id": 12346, | |
"config_id": 23456 | |
}' \ | |
https://api.linode.com/v4/volumes/12345/attach | |
- lang: CLI | |
source: > | |
linode-cli volumes attach 12345 \ | |
--linode_id 12346 \ | |
--config_id 23456 | |
/volumes/{volumeId}/clone: | |
parameters: | |
- name: volumeId | |
in: path | |
description: ID of the Volume to clone. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: volumes | |
post: | |
x-linode-charge: true | |
x-linode-grant: add_volumes | |
summary: Clone Volume | |
description: > | |
Creates a Volume on your Account. In | |
order for this request to complete successfully, your User must have the | |
`add_volumes` grant. The new Volume will have the same size and data as | |
the source Volume. Creating a new Volume will incur a charge on your | |
Account. | |
tags: | |
- volumes | |
operationId: cloneVolume | |
x-linode-cli-action: clone | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
requestBody: | |
description: The requested state your Volume will be cloned into. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- label | |
properties: | |
label: | |
$ref: '#/components/schemas/Volume/properties/label' | |
responses: | |
'200': | |
description: Clone started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X PUT -d '{ | |
"label": "my-volume" | |
}' \ | |
https://api.linode.com/v4/volumes/12345/clone | |
- lang: CLI | |
source: > | |
linode-cli volumes clone 12345 \ | |
--label my-volume | |
/volumes/{volumeId}/detach: | |
parameters: | |
- name: volumeId | |
in: path | |
description: ID of the Volume to detach. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: volumes | |
post: | |
summary: Detach Volume | |
description: > | |
Detaches a Volume on your Account | |
from a Linode on your Account. In order for this request to | |
complete successfully, your User must have `read_write` access to the | |
Volume and `read_write` access to the Linode. | |
tags: | |
- volumes | |
operationId: detachVolume | |
x-linode-cli-action: detach | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
- linodes:read_write | |
responses: | |
'200': | |
description: Volume was detached from a Linode. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST \ | |
https://api.linode.com/v4/volumes/12345/detach | |
- lang: CLI | |
source: > | |
linode-cli volumes detach 12345 | |
/volumes/{volumeId}/resize: | |
parameters: | |
- name: volumeId | |
in: path | |
description: ID of the Volume to resize. | |
required: true | |
schema: | |
type: integer | |
x-linode-cli-command: volumes | |
post: | |
x-linode-charge: true | |
summary: Resize Volume | |
description: > | |
Resize an existing Volume on your Account. In | |
order for this request to complete successfully, your User must have the | |
`read_write` permissions to the Volume. | |
* Volumes can only be resized up. | |
tags: | |
- volumes | |
operationId: resizeVolume | |
x-linode-cli-action: resize | |
security: | |
- personalAccessToken: [] | |
- oauth: | |
- volumes:read_write | |
requestBody: | |
description: The requested size to increase your Volume to. | |
required: true | |
content: | |
application/json: | |
schema: | |
type: object | |
required: | |
- size | |
properties: | |
size: | |
$ref: '#/components/schemas/Volume/properties/size' | |
responses: | |
'200': | |
description: Volume resize started. | |
content: | |
application/json: | |
schema: | |
type: object | |
default: | |
$ref: '#/components/responses/ErrorResponse' | |
x-code-samples: | |
- lang: Shell | |
source: > | |
curl -H "Content-Type: application/json" \ | |
-H "Authorization: Bearer $TOKEN" \ | |
-X POST -d '{ | |
"size": 30 | |
}' \ | |
https://api.linode.com/v4/volumes/12345/resize | |
- lang: CLI | |
source: > | |
linode-cli volumes resize 12345 \ | |
--size 30 | |
components: | |
securitySchemes: | |
personalAccessToken: | |
type: http | |
scheme: bearer | |
oauth: | |
type: oauth2 | |
flows: | |
authorizationCode: | |
authorizationUrl: 'https://login.linode.com/oauth/authorize' | |
tokenUrl: 'https://login.linode.com/oauth/token' | |
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. | |
'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. | |
'longview:read_only': Allows access to GET your Longview Clients. | |
'longview:read_write': Allows access to all endpoints related to your Longview Clients. | |
'nodebalancers:read_only': Allows access to GET NodeBalancers on your Account. | |
'nodebalancers:read_write': Allows access to all NodeBalancer 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. | |
responses: | |
ErrorResponse: | |
description: Error | |
content: | |
application/json: | |
schema: | |
type: object | |
properties: | |
errors: | |
type: array | |
items: | |
$ref: '#/components/schemas/ErrorObject' | |
parameters: | |
pageOffset: | |
name: page | |
in: query | |
description: The page of a collection to return. | |
required: false | |
schema: | |
type: integer | |
minimum: 1 | |
default: 1 | |
pageSize: | |
name: page_size | |
in: query | |
description: The number of items to return per page. | |
schema: | |
type: integer | |
minimum: 25 | |
maximum: 100 | |
default: 100 | |
links: | |
bootLinode: | |
operationId: bootLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
rebootLinode: | |
operationId: rebootLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
shutdownLinode: | |
operationId: shutdownLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
updateLinode: | |
operationId: updateLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
deleteLinode: | |
operationId: deleteLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
rebuildLinode: | |
operationId: rebuildLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
mutateLinode: | |
operationId: mutateLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
resizeLinode: | |
operationId: resizeLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
rescueLinode: | |
operationId: rescueLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
cloneLinode: | |
operationId: cloneLinodeInstance | |
parameters: | |
linodeId: '$request.body#/id' | |
attachVolume: | |
operationId: attachVolume | |
parameters: | |
volumeID: '$request.body#/id' | |
cloneVolume: | |
operationId: cloneVolume | |
parameters: | |
volumeId: '$request.body#/id' | |
detachVolume: | |
operationId: detachVolume | |
parameters: | |
volumeId: '$request.body#/id' | |
resizeVolume: | |
operationId: resizeVolume | |
parameters: | |
volumeId: '$request.body#/id' | |
schemas: | |
Account: | |
type: object | |
description: Account object | |
properties: | |
address_1: | |
type: string | |
description: First line of this Account's billing address. | |
maxLength: 64 | |
example: 123 Main Street | |
address_2: | |
type: string | |
description: Second line of this Account's billing address. | |
maxLength: 64 | |
example: Suite A | |
balance: | |
type: number | |
readOnly: true | |
description: This Account's balance, in US dollars. | |
example: 200 | |
x-linode-cli-display: 4 | |
city: | |
type: string | |
description: The city for this Account's billing address. | |
maxLength: 24 | |
example: Philadelphia | |
credit_card: | |
type: object | |
readOnly: true | |
description: Credit Card information associated with this Account. | |
properties: | |
last_four: | |
type: string | |
description: > | |
The last four digits of the credit card associated with this | |
Account. | |
example: 1111 | |
expiry: | |
type: string | |
description: The expiration month and year of the credit card. | |
example: 11/2022 | |
company: | |
type: string | |
description: The company name associated with this Account. | |
maxLength: 128 | |
example: Linode LLC | |
country: | |
type: string | |
description: > | |
The two-letter country code of this Account's billing address. | |
minLength: 2 | |
maxLength: 2 | |
example: US | |
email: | |
type: string | |
description: The email address of the person associated with this Account. | |
maxLength: 128 | |
example: [email protected] | |
x-linode-cli-display: 3 | |
first_name: | |
type: string | |
description: The first name of the person associated with this Account. | |
maxLength: 50 | |
example: John | |
x-linode-cli-display: 1 | |
last_name: | |
type: string | |
description: The last name of the person associated with this Account. | |
maxLength: 50 | |
example: Smith | |
x-linode-cli-display: 2 | |
phone: | |
type: string | |
description: The phone number associated with this Account. | |
maxLength: 32 | |
example: 215-555-1212 | |
state: | |
type: string | |
description: > | |
If billing address is in the United States, this is the State | |
portion of the Account's billing address. If the address is outside | |
the US, this is the Province associated with the Account's billing | |
address. | |
maxLength: 24 | |
example: Pennsylvania | |
tax_id: | |
type: string | |
description: > | |
The tax identification number associated with this Account, | |
for tax calculations in some countries. | |
If you do not live in a country that collects tax, this should be `null`. | |
maxLength: 100 | |
example: ATU99999999 | |
zip: | |
type: string | |
description: The zip code of this Account's billing address. | |
maxLength: 16 | |
example: 19102 | |
AccountSettings: | |
type: object | |
description: Account Settings object | |
properties: | |
managed: | |
type: boolean | |
readOnly: true | |
description: > | |
Our 24/7 incident response service. This robust, multi-homed | |
monitoring system distributes monitoring checks to ensure that your | |
servers remain online and available at all times. Linode Managed can | |
monitor any service or software stack reachable over TCP or HTTP. | |
Once you add a service to Linode Managed, we'll monitor it for | |
connectivity, response, and total request time. | |
example: true | |
x-linode-cli-display: 3 | |
longview_subscription: | |
type: string | |
description: > | |
The Longview Pro tier you are currently subscribed to. The value must | |
a [Longview Subscription](/#operation/getLongviewSubscriptions) | |
ID or `null`. | |
example: longview-30 | |
x-linode-cli-display: 2 | |
network_helper: | |
type: boolean | |
description: > | |
Enables network helper across all users by default for | |
new Linodes and Linode Configs. | |
example: false | |
x-linode-cli-display: 1 | |
AuthorizedApp: | |
type: object | |
description: > | |
An application you have authorized access to your Account through OAuth. | |
properties: | |
id: | |
type: integer | |
description: > | |
This authorization's ID, used for revoking access. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
type: string | |
description: > | |
The name of the application you've authorized. | |
example: example-app | |
readOnly: true | |
x-linode-cli-display: 2 | |
thumbnail_url: | |
type: string | |
format: url | |
description: > | |
The URL at which this app's thumbnail may be accessed. | |
example: null | |
readOnly: true | |
scopes: | |
type: string | |
format: oauth-scopes | |
description: > | |
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 | |
readOnly: true | |
x-linode-cli-display: 3 | |
created: | |
type: string | |
format: date-time | |
description: When this app was authorized. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
x-linode-filterable: true | |
x-linode-cli-display: 5 | |
expiry: | |
type: string | |
format: date-time | |
description: > | |
When this app's access token expires. Please note that apps may still have active | |
refresh tokens after this time passes. | |
example: '2018-01-15T00:01:01' | |
readOnly: true | |
x-linode-cli-display: 6 | |
website: | |
type: string | |
format: url | |
description: > | |
The website where you can get more information about this app. | |
example: example.org | |
readOnly: true | |
x-linode-cli-display: 4 | |
Backup: | |
type: object | |
description: > | |
An object representing a Backup or snapshot for a Linode with Backup service | |
enabled. | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: The unique ID of this Backup. | |
example: 123456 | |
x-linode-cli-display: 1 | |
type: | |
type: string | |
enum: | |
- auto | |
- snapshot | |
readOnly: true | |
description: > | |
This indicates whether the Backup is an automatic Backup or | |
manual snapshot taken by the User at a specific point in time. | |
example: snapshot | |
x-linode-cli-display: 3 | |
status: | |
type: string | |
enum: | |
- paused | |
- pending | |
- running | |
- needsPostProcessing | |
- successful | |
- failed | |
- userAborted | |
readOnly: true | |
description: The current state of a specific Backup. | |
example: successful | |
x-linode-cli-display: 2 | |
x-linode-cli-color: | |
successful: green | |
failed: red | |
userAborted: f | |
default_: yellow | |
created: | |
type: string | |
format: date-time | |
readOnly: true | |
description: The date the Backup was taken. | |
example: '2018-01-15T00:01:01' | |
x-linode-cli-display: 4 | |
updated: | |
type: string | |
format: date-time | |
readOnly: true | |
description: The date the Backup was most recently updated. | |
example: '2018-01-15T00:01:01' | |
finished: | |
type: string | |
format: date-time | |
readOnly: true | |
description: The date the Backup completed. | |
example: '2018-01-15T00:01:01' | |
label: | |
type: string | |
description: A label for Backups that are of type `snapshot`. | |
example: Webserver-Backup-2018 | |
x-linode-cli-display: 5 | |
configs: | |
type: array | |
items: | |
type: string | |
example: My Debian 9 Config | |
readOnly: true | |
description: > | |
A list of the labels of the Configuration profiles that are part | |
of the Backup. | |
disks: | |
type: array | |
items: | |
type: object | |
properties: | |
size: | |
type: integer | |
example: 9001 | |
filesystem: | |
$ref: '#/components/schemas/Disk/properties/filesystem' | |
label: | |
type: string | |
example: My Debian 9 Disk | |
readOnly: true | |
description: > | |
A list of the disks that are part of the Backup. | |
CreditCard: | |
type: object | |
description: > | |
An object representing the credit card information you have on file with | |
Linode to make Payments against your Account. | |
required: | |
- card_number | |
- expiry_month | |
- expiry_year | |
properties: | |
card_number: | |
type: string | |
description: Your credit card number. No spaces or dashes allowed. | |
minLength: 16 | |
maxLength: 16 | |
example: 4111111111111111 | |
expiry_month: | |
type: integer | |
description: > | |
A value from 1-12 representing the expiration month of your credit card. | |
* 1 = January | |
* 2 = February | |
* 3 = March | |
* Etc. | |
example: 12 | |
expiry_year: | |
type: integer | |
description: > | |
A four-digit integer representing the expiration year of | |
your credit card. | |
The combination of `expiry_month` and `expiry_year` | |
must result in a month/year combination of the current month or in | |
the future. An expiration date set in the past is invalid. | |
example: 2020 | |
Device: | |
type: object | |
description: > | |
Device can be either a Disk or Volume identified by `disk_id` or | |
`volume_id`. Only one type per slot allowed. Can be null. | |
Devices mapped from _sde_ through _sdh_ are unavailable in `fullvirt` virt_mode. | |
properties: | |
disk_id: | |
type: integer | |
description: The Disk ID, or `null` if a Volume is assigned to this slot. | |
example: 124458 | |
volume_id: | |
type: integer | |
description: The Volume ID, or `null` if a Disk is assigned to this slot. | |
example: null | |
Devices: | |
type: object | |
properties: | |
sda: | |
$ref: '#/components/schemas/Device' | |
sdb: | |
$ref: '#/components/schemas/Device' | |
sdc: | |
$ref: '#/components/schemas/Device' | |
sdd: | |
$ref: '#/components/schemas/Device' | |
sde: | |
$ref: '#/components/schemas/Device' | |
sdf: | |
$ref: '#/components/schemas/Device' | |
sdg: | |
$ref: '#/components/schemas/Device' | |
sdh: | |
$ref: '#/components/schemas/Device' | |
Disk: | |
type: object | |
properties: | |
id: | |
type: integer | |
description: > | |
This Disk's ID which must be provided for all | |
operations impacting this Disk. | |
example: 25674 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The Disk's label is for display purposes only. | |
example: Debian 9 Disk | |
minLength: 1 | |
maxLength: 48 | |
x-linode-cli-display: 2 | |
status: | |
type: string | |
description: > | |
A brief description of this Disk's current state. This field may change without | |
direct action from you, as a result of operations performed to the Disk | |
or the Linode containing the Disk. | |
example: ready | |
readOnly: true | |
enum: | |
- ready | |
- not ready | |
- deleting | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
ready: green | |
not ready: red | |
default_: yellow | |
size: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: The size of the Disk in MB. | |
example: 48640 | |
x-linode-cli-display: 4 | |
filesystem: | |
type: string | |
description: > | |
The Disk filesystem can be one of: | |
* raw - No filesystem, just a raw binary stream. | |
* swap - Linux swap area. | |
* ext3 - The ext3 journaling filesystem for Linux. | |
* ext4 - The ext4 journaling filesystem for Linux. | |
* initrd - initrd (uncompressed initrd, ext2, max 32 MB). | |
example: ext4 | |
enum: | |
- raw | |
- swap | |
- ext3 | |
- ext4 | |
- initrd | |
x-linode-cli-display: 5 | |
created: | |
type: string | |
format: date-time | |
description: When this Linode was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
updated: | |
type: string | |
format: date-time | |
description: When this Linode was last updated. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
DiskRequest: | |
type: object | |
description: Disk object request. | |
required: | |
- size | |
- label | |
properties: | |
size: | |
x-linode-filterable: true | |
type: integer | |
example: 48640 | |
label: | |
$ref: '#/components/schemas/Disk/properties/label' | |
filesystem: | |
$ref: '#/components/schemas/Disk/properties/filesystem' | |
read_only: | |
type: boolean | |
description: > | |
If true, this Disk is read-only. | |
example: false | |
image: | |
type: string | |
description: > | |
An Image ID to deploy the Disk from. Official Linode Images start with | |
`linode/ `, while your Images start with `private/`. | |
See [/images](/#operation/getImages) for more information on the Images available for you to use. | |
example: linode/debian9 | |
authorized_keys: | |
type: array | |
items: | |
type: string | |
writeOnly: true | |
example: | |
- ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer | |
description: > | |
This is an optional list of public SSH keys that will be automatically appended | |
to the root user's `~/.ssh/authorized_keys` file. | |
root_pass: | |
type: string | |
format: password | |
writeOnly: true | |
example: aComplexP@ssword | |
description: | | |
This will set the root user's password on the newly-created Linode. | |
The root password must conform to the following constraints: | |
* May only use alphanumerics, punctuation, spaces, and tabs. | |
* Must contain at least two of the following characters classes: | |
* Upper-case letters | |
* Lower-case letters | |
* Digits | |
* Punctuation | |
minLength: 6 | |
maxLength: 128 | |
pattern: ^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[!"#$%&'()*+,-.\/:;<=>?@\[\]^_`{|}~\\]))|((?=.*[A-Z])(?=.*[!"#$%&'()*+,-.\/:;<=>?@\[\]^_`{|}~\\]))|((?=.*[0-9])(?=.*[!"#$%&'()*+,-.\/:;<=>?@\[\]^_`{|}~\\]))) | |
stackscript_id: | |
type: integer | |
example: 10079 | |
description: | | |
A StackScript ID that will cause the referenced StackScript to be run during | |
deployment of this Linode. A compatible `image` is required to use a | |
StackScript. To get a list of available StackScript and their permitted Images | |
see [/stackscripts](/#operation/getStackScripts). | |
This field cannot be used when deploying from a Backup or a private Image. | |
stackscript_data: | |
type: object | |
example: | |
gh_username: linode | |
description: | | |
This field is required only if the StackScript being deployed requires input | |
data from the User for successful completion. See | |
[Variables and UDFs](https://www.linode.com/docs/platform/stackscripts/#variables-and-udfs) | |
for more details. This field is required to be valid JSON. | |
Domain: | |
type: object | |
description: > | |
A domain zonefile in our DNS system. You must own the domain name and | |
tell your registrar to use Linode's nameservers in order for a domain | |
in our system to be treated as authoritative. | |
required: | |
- id | |
- domain | |
- type | |
properties: | |
id: | |
type: integer | |
description: This Domain's unique ID | |
example: 1234 | |
readOnly: true | |
x-linode-cli-display: 1 | |
type: | |
type: string | |
enum: | |
- master | |
- slave | |
description: > | |
If this Domain represents the authoritative source of information for | |
the domain it describes, or if it is a read-only copy of a master | |
(also called a slave). | |
example: master | |
x-linode-cli-display: 3 | |
domain: | |
type: string | |
pattern: ([a-zA-Z0-9-_]+\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|XN--[a-zA-Z0-9]+) | |
description: > | |
The domain this Domain represents. These must be unique in our | |
system; you cannot have two Domains representing the same domain. | |
example: example.org | |
x-linode-filterable: true | |
x-linode-cli-display: 2 | |
group: | |
deprecated: true | |
type: string | |
description: > | |
The group this Domain belongs to. This is for display purposes | |
only. | |
example: null | |
minLength: 1 | |
maxLength: 50 | |
x-linode-filterable: true | |
status: | |
type: string | |
enum: | |
- disabled | |
- active | |
- edit_mode | |
- has_errors | |
description: > | |
Used to control whether this Domain is currently being rendered. | |
example: active | |
x-linode-cli-display: 4 | |
x-linode-cli-color: | |
active: green | |
disabled: yellow | |
edit_mode: yellow | |
default_: red | |
description: | |
type: string | |
minLength: 1 | |
maxLength: 255 | |
description: | | |
A description for this Domain. This is for display purposes only. | |
example: null | |
soa_email: | |
type: string | |
format: email | |
description: > | |
Start of Authority email address. This is required for master | |
Domains. | |
example: [email protected] | |
x-linode-cli-display: 5 | |
retry_sec: | |
type: integer | |
description: > | |
The interval, in seconds, at which a failed refresh should be retried. | |
Valid values are 300, 3600, 7200, 14400, 28800, 57600, | |
86400, 172800, 345600, 604800, 1209600, and 2419200 - any other | |
value will be rounded to the nearest valid value. | |
example: 300 | |
master_ips: | |
type: array | |
items: | |
type: string | |
format: ip | |
description: > | |
The IP addresses representing the master DNS for this Domain. | |
example: [] | |
axfr_ips: | |
type: array | |
items: | |
type: string | |
format: ip | |
description: > | |
The list of IPs that may perform a zone transfer for this Domain. | |
This is potentially dangerous, and should be set to an empty list | |
unless you intend to use it. | |
example: [] | |
expire_sec: | |
type: integer | |
description: > | |
The amount of time in seconds that may pass before this Domain is no longer | |
authoritative. Valid values are | |
300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, | |
604800, 1209600, and 2419200 - any other value will be rounded to | |
the nearest valid value. | |
example: 300 | |
refresh_sec: | |
type: integer | |
description: > | |
The amount of time in seconds before this Domain should be refreshed. | |
Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, | |
604800, 1209600, and 2419200 - any other value will be rounded to | |
the nearest valid value. | |
example: 300 | |
ttl_sec: | |
type: integer | |
description: > | |
"Time to Live" - the amount of time in seconds that this Domain's | |
records may be cached by resolvers or other domain servers. Valid | |
values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, | |
345600, 604800, 1209600, and 2419200 - any other value will be | |
rounded to the nearest valid value. | |
example: 300 | |
DomainRecord: | |
type: object | |
description: > | |
A single record on a Domain. | |
properties: | |
id: | |
type: integer | |
description: This Record's unique ID. | |
example: 123456 | |
readOnly: true | |
x-linode-cli-display: 1 | |
type: | |
type: string | |
enum: | |
- A | |
- AAAA | |
- NS | |
- MX | |
- CNAME | |
- TXT | |
- SRV | |
- PTR | |
- CAA | |
description: > | |
The type of Record this is in the DNS system. For example, A | |
records associate a domain name with an IPv4 address, and AAAA | |
records associate a domain name with an IPv6 address. | |
example: A | |
x-linode-cli-display: 2 | |
name: | |
type: string | |
description: > | |
The name of this Record. This field's actual usage depends on the | |
type of record this represents. For A and AAAA records, this is | |
the subdomain being associated with an IP address. | |
minLength: 1 | |
maxLength: 100 | |
example: test | |
x-linode-cli-display: 3 | |
target: | |
type: string | |
description: > | |
The target for this Record. This field's actual usage depends on | |
the type of record this represents. For A and AAAA records, this | |
is the address the named Domain should resolve to. | |
example: 12.34.56.78 | |
x-linode-cli-display: 4 | |
priority: | |
type: integer | |
minimum: 0 | |
maximum: 255 | |
description: > | |
The priority of the target host. Lower values are preferred. | |
example: 50 | |
x-linode-cli-display: 6 | |
weight: | |
type: integer | |
description: > | |
The relative weight of this Record. Higher values are preferred. | |
example: 50 | |
x-linode-cli-display: 7 | |
port: | |
type: integer | |
description: > | |
The port this Record points to. | |
example: 80 | |
service: | |
type: string | |
description: > | |
The service this Record identified. Only valid for SRV records. | |
example: null | |
protocol: | |
type: string | |
description: > | |
The protocol this Record's service communicates with. Only valid | |
for SRV records. | |
example: null | |
ttl_sec: | |
type: integer | |
description: > | |
"Time to Live" - the amount of time in seconds that this Domain's | |
records may be cached by resolvers or other domain servers. Valid | |
values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, | |
345600, 604800, 1209600, and 2419200 - any other value will be | |
rounded to the nearest valid value. | |
example: 604800 | |
x-linode-cli-display: 5 | |
tag: | |
type: string | |
description: > | |
The tag portion of a CAA record. It is invalid to set this on | |
other record types. | |
example: null | |
ErrorObject: | |
type: object | |
description: > | |
An object for describing a single error that occurred during the processing of a request. | |
properties: | |
reason: | |
type: string | |
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](/#operation/createTicket) or perform some | |
other action before you can complete the request successfully. | |
example: fieldname must be a valid value | |
field: | |
type: string | |
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 | |
Event: | |
type: object | |
description: > | |
A collection of Event objects. An Event is an action taken against an | |
entity related to your Account. For example, booting a Linode would | |
create an Event. | |
The Events returned depends on your grants. | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: The unique ID of this Event. | |
example: 123 | |
x-linode-cli-display: 1 | |
action: | |
type: string | |
enum: | |
- backups_enable | |
- backups_cancel | |
- backups_restore | |
- community_question_reply | |
- credit_card_updated | |
- disk_create | |
- disk_delete | |
- disk_duplicate | |
- disk_imagize | |
- disk_resize | |
- dns_record_create | |
- dns_record_delete | |
- dns_zone_create | |
- dns_zone_delete | |
- image_delete | |
- linode_addip | |
- linode_boot | |
- linode_clone | |
- linode_create | |
- linode_delete | |
- linode_deleteip | |
- linode_migrate | |
- linode_mutate | |
- linode_reboot | |
- linode_rebuild | |
- linode_resize | |
- linode_shutdown | |
- linode_snapshot | |
- longviewclient_create | |
- longviewclient_delete | |
- managed_disabled | |
- managed_enabled | |
- managed_service_create | |
- managed_service_delete | |
- nodebalancer_create | |
- nodebalancer_delete | |
- nodebalancer_config_create | |
- nodebalancer_config_delete | |
- password_reset | |
- payment_submitted | |
- stackscript_create | |
- stackscript_delete | |
- stackscript_publicize | |
- stackscript_revise | |
- tfa_disabled | |
- tfa_enabled | |
- ticket_attachment_upload | |
- ticket_create | |
- ticket_reply | |
- volume_attach | |
- volume_clone | |
- volume_create | |
- volume_delete | |
- volume_detach | |
- volume_resize | |
readOnly: true | |
description: > | |
The action that caused this Event. New actions may be added in the future. | |
example: ticket_create | |
x-linode-cli-display: 3 | |
created: | |
type: string | |
readOnly: true | |
format: date-time | |
description: When this Event was created. | |
example: '2018-01-01T00:01:01' | |
x-linode-cli-display: 5 | |
entity: | |
type: object | |
readOnly: true | |
description: > | |
Detailed information about the Event's entity, including ID, type, | |
label, and URL used to access it. | |
x-linode-cli-display: 4 | |
properties: | |
id: | |
type: integer | |
description: The unique ID for this Event's Entity. | |
example: 11111 | |
label: | |
type: string | |
description: > | |
The current label of this object. The label may reflect changes | |
that occur with this Event. | |
example: Problem booting my Linode | |
type: | |
type: string | |
description: > | |
The type of entity this Event is related to. | |
example: ticket | |
url: | |
type: string | |
description: > | |
The URL where you can access the object this Event is for. If | |
a relative URL, it is relative to the domain you retrieved the | |
Event from. | |
example: /v4/support/tickets/11111 | |
percent_complete: | |
type: integer | |
readOnly: true | |
description: > | |
A percentage estimating the amount of time remaining for an Event. | |
Returns `null` for notification events. | |
example: null | |
rate: | |
type: string | |
readOnly: true | |
description: > | |
The rate of completion of the Event. Only some Events will return | |
rate; for example, migration and resize Events. | |
example: null | |
read: | |
type: boolean | |
readOnly: true | |
description: If this Event has been read. | |
example: true | |
x-linode-cli-display: 8 | |
seen: | |
type: boolean | |
readOnly: true | |
description: If this Event has been seen. | |
example: true | |
x-linode-cli-display: 7 | |
status: | |
type: string | |
readOnly: true | |
description: The current status of this Event. | |
enum: | |
- failed | |
- finished | |
- notification | |
- scheduled | |
- started | |
x-linode-cli-display: 6 | |
x-linode-cli-color: | |
failed: red | |
finished: green | |
started: yellow | |
default_: white | |
time_remaining: | |
type: integer | |
readOnly: true | |
description: > | |
The estimated time remaining until the completion of this Event. | |
This value is only returned for in-progress events. | |
example: null | |
username: | |
type: string | |
readOnly: true | |
description: > | |
The username of the User who caused the Event. | |
example: exampleUser | |
x-linode-cli-display: 2 | |
Grant: | |
type: object | |
description: > | |
Represents the level of access a restricted User has to a specific | |
resource on the Account. | |
properties: | |
id: | |
type: integer | |
description: > | |
The ID of the entity this grant applies to. | |
example: 123 | |
permissions: | |
type: string | |
enum: | |
- null | |
- read_only | |
- read_write | |
description: > | |
The level of access this User has to this entity. If null, this | |
User has no access. | |
example: read_only | |
label: | |
type: string | |
description: > | |
The current label of the entity this grant applies to, for display | |
purposes. | |
example: example-entity | |
readOnly: true | |
GrantsResponse: | |
type: object | |
description: > | |
A structure representing all grants a restricted User has on the | |
Account. Not available for unrestricted users, as they have access to | |
everything without grants. If retrieved from the `/profile/grants` | |
endpoint, entities to which a User has no access will be omitted. | |
properties: | |
global: | |
type: object | |
description: > | |
A structure containing the Account-level grants a User has. | |
properties: | |
add_linodes: | |
type: boolean | |
description: If true, this User may create Linodes. | |
example: true | |
add_longview: | |
type: boolean | |
description: If true, this User may create Longview clients. | |
example: true | |
longview_subscription: | |
type: boolean | |
description: If true, this User may manage the Account's Longview subscription. | |
example: true | |
account_access: | |
type: string | |
enum: | |
- null | |
- read_only | |
- read_write | |
description: > | |
The level of access this User has to Account-level actions, | |
like billing information. A restricted User will never be able | |
to manage users. | |
example: read_only | |
cancel_account: | |
type: boolean | |
description: If true, this User may cancel the entire Account. | |
example: false | |
add_domains: | |
type: boolean | |
description: If true, this User may add Domains. | |
example: true | |
add_stackscripts: | |
type: boolean | |
description: If true, this User may add StackScripts. | |
example: true | |
add_nodebalancers: | |
type: boolean | |
description: If true, this User may add NodeBalancers. | |
example: true | |
add_images: | |
type: boolean | |
description: If true, this User may add Images. | |
example: true | |
add_volumes: | |
type: boolean | |
description: If true, this User may add Volumes. | |
example: true | |
linode: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to Linodes on this Account. | |
There will be one entry per Linode on the Account. | |
domain: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to Domains on this Account. | |
There will be one entry per Domain on the Account. | |
nodebalancer: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to NodeBalancers on this | |
Account. There will be one entry per NodeBalancer on the Account. | |
image: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to Images on this Account. | |
There will be one entry per Image on the Account. | |
longview: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to Longview Clients on this | |
Account. There will be one entry per Longview Client on the | |
Account. | |
stackscript: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to StackScripts on this | |
Account. There will be one entry per StackScript on the Account. | |
volume: | |
type: array | |
items: | |
$ref: '#/components/schemas/Grant' | |
description: > | |
The grants this User has pertaining to Volumes on this Account. | |
There will be one entry per Volume on the Account. | |
ImagePrivate: | |
type: object | |
description: Private Image object | |
properties: | |
id: | |
type: string | |
description: The unique ID of this Image. | |
example: private/67848373 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
A short description of the Image. Labels cannot contain | |
special characters. | |
example: My gold-master image | |
x-linode-cli-display: 2 | |
created: | |
type: string | |
format: date-time | |
description: When this Image was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
created_by: | |
type: string | |
description: > | |
The name of the User who created this Image. | |
example: somename | |
readOnly: true | |
deprecated: | |
x-linode-filterable: true | |
type: boolean | |
description: > | |
Whether or not this Image is deprecated. Will only be True for | |
deprecated public Images. | |
example: false | |
readOnly: true | |
description: | |
type: string | |
description: An optional detailed description of this Image. | |
example: The detailed description of my Image. | |
x-linode-cli-display: 4 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
is_public: | |
x-linode-filterable: true | |
description: True if the Image is public. | |
type: boolean | |
example: false | |
readOnly: true | |
x-linode-cli-display: 5 | |
size: | |
x-linode-filterable: true | |
type: integer | |
description: > | |
The minimum size this Image needs to deploy. Size is in MB. | |
example: 2500 | |
readOnly: true | |
x-linode-cli-display: 6 | |
type: | |
type: string | |
description: > | |
How the Image was created. "Manual" Images can be created at any time. | |
"Automatic" images are created automatically from a deleted Linode. | |
enum: | |
- manual | |
- automatic | |
example: manual | |
readOnly: true | |
vendor: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The upstream distribution vendor. `None` for private Images. | |
example: null | |
readOnly: true | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
ImagePublic: | |
type: object | |
description: Public Image object | |
properties: | |
id: | |
type: string | |
description: The unique ID of this Image. | |
example: linode/ubuntu17.10 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
A short description of the Image. | |
example: Ubuntu 17.10 | |
x-linode-cli-display: 2 | |
created: | |
type: string | |
format: date-time | |
description: When this Image was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
created_by: | |
type: string | |
description: > | |
The name of the User who created this Image, or "linode" for | |
official Images. | |
example: linode | |
readOnly: true | |
deprecated: | |
x-linode-filterable: true | |
type: boolean | |
description: > | |
Whether or not this Image is deprecated. Will only be true for | |
deprecated public Images. | |
example: false | |
readOnly: true | |
description: | |
type: string | |
description: An optional detailed description of this Image. | |
example: null | |
x-linode-cli-display: 4 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
is_public: | |
x-linode-filterable: true | |
description: True if the Image is public. | |
type: boolean | |
example: true | |
readOnly: true | |
x-linode-cli-display: 5 | |
size: | |
x-linode-filterable: true | |
type: integer | |
description: > | |
The minimum size this Image needs to deploy. Size is in MB. | |
example: 2500 | |
readOnly: true | |
x-linode-cli-display: 6 | |
type: | |
type: string | |
description: > | |
How the Image was created. Manual Images can be created at any time. | |
"Automatic" Images are created automatically from a deleted Linode. | |
enum: | |
- manual | |
- automatic | |
example: manual | |
readOnly: true | |
vendor: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The upstream distribution vendor. `None` for private Images. | |
example: Ubuntu | |
readOnly: true | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
Invoice: | |
type: object | |
description: Account Invoice object | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: The Invoice's unique ID. | |
example: 123 | |
x-linode-cli-display: 1 | |
date: | |
type: string | |
readOnly: true | |
format: date-time | |
description: When this Invoice was generated. | |
example: '2018-01-01T00:01:01' | |
x-linode-cli-display: 2 | |
label: | |
type: string | |
readOnly: true | |
description: The Invoice's display label. | |
example: Invoice | |
x-linode-cli-display: 3 | |
total: | |
type: integer | |
readOnly: true | |
description: The amount of the Invoice in US Dollars. | |
example: 120 | |
x-linode-cli-display: 4 | |
InvoiceItem: | |
type: object | |
description: An InvoiceItem object. | |
properties: | |
amount: | |
type: integer | |
readOnly: true | |
description: The price, in US dollars, of unit price multiplied by quantity. | |
example: 20 | |
x-linode-cli-display: 4 | |
from: | |
type: string | |
readOnly: true | |
format: date-time | |
description: The date the Invoice Item started, based on month. | |
example: '2018-01-01T00:01:01' | |
x-linode-cli-display: 2 | |
label: | |
type: string | |
readOnly: true | |
description: The Invoice Item's display label. | |
example: Linode 123 | |
x-linode-cli-display: 1 | |
quantity: | |
type: integer | |
readOnly: true | |
description: The quantity of this Item for the specified Invoice. | |
example: 1 | |
to: | |
type: string | |
readOnly: true | |
format: date-time | |
description: The date the Invoice Item ended, based on month. | |
example: '2018-01-31T11:59:59' | |
x-linode-cli-display: 3 | |
type: | |
type: string | |
readOnly: true | |
description: The type of service, ether `prepay` or `misc`. | |
enum: | |
- hourly | |
- prepay | |
- misc | |
unitprice: | |
type: integer | |
readOnly: true | |
description: The monthly service fee in US Dollars for this Item. | |
example: 10 | |
IPAddress: | |
type: object | |
description: > | |
An IP address that exists in Linode's system, either IPv4 or IPv6. | |
properties: | |
address: | |
type: string | |
format: ip | |
description: > | |
The IP address. | |
example: 97.107.143.141 | |
readOnly: true | |
x-linode-cli-display: 1 | |
gateway: | |
type: string | |
format: ip | |
description: > | |
The default gateway for this address. | |
example: 97.107.143.1 | |
readOnly: true | |
subnet_mask: | |
type: string | |
format: ip | |
description: > | |
The mask that separates host bits from network bits for this address. | |
example: 255.255.255.0 | |
readOnly: true | |
prefix: | |
type: integer | |
description: > | |
The number of bits set in the subnet mask. | |
example: 24 | |
readOnly: true | |
type: | |
type: string | |
enum: | |
- ipv4 | |
- ipv6 | |
- ipv6/pool | |
- ipv6/range | |
description: > | |
The type of address this is. | |
example: ipv4 | |
readOnly: true | |
x-linode-cli-display: 2 | |
public: | |
type: boolean | |
description: > | |
Whether this is a public or private IP address. | |
example: true | |
readOnly: true | |
x-linode-cli-display: 3 | |
rdns: | |
type: string | |
description: > | |
The reverse DNS assigned to this address. For public IPv4 addresses, | |
this will be set to a default value provided by Linode if not | |
explicitly set. | |
x-linode-cli-display: 4 | |
example: test.example.org | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode this address currently belongs to. For IPv4 | |
addresses, this is by default the Linode that this address was | |
assigned to on creation, and these addresses my be moved using the | |
[/networking/ipv4/assign](/#operation/assignIPs) | |
endpoint. For SLAAC and link-local addresses, this value may not be changed. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 6 | |
region: | |
type: string | |
description: > | |
The Region this IP address resides in. | |
example: us-east | |
readOnly: true | |
x-linode-filterable: true | |
x-linode-cli-display: 5 | |
IPAddressPrivate: | |
type: object | |
description: > | |
A private IPv4 address that exists in Linode's system. | |
properties: | |
address: | |
type: string | |
format: ip | |
description: > | |
The private IPv4 address. | |
example: 192.168.133.234 | |
readOnly: true | |
x-linode-cli-display: 1 | |
gateway: | |
type: string | |
format: ip | |
description: > | |
The default gateway for this address. | |
example: null | |
readOnly: true | |
subnet_mask: | |
type: string | |
format: ip | |
description: > | |
The mask that separates host bits from network bits for this address. | |
example: 255.255.128.0 | |
readOnly: true | |
prefix: | |
type: integer | |
description: > | |
The number of bits set in the subnet mask. | |
example: 17 | |
readOnly: true | |
type: | |
type: string | |
description: > | |
The type of address this is. | |
example: ipv4 | |
readOnly: true | |
x-linode-cli-display: 2 | |
public: | |
type: boolean | |
description: > | |
Whether this is a public or private IP address. | |
example: false | |
readOnly: true | |
x-linode-cli-display: 3 | |
rdns: | |
type: string | |
description: > | |
The reverse DNS assigned to this address. | |
example: null | |
x-linode-cli-display: 4 | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode this address currently belongs to. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 6 | |
region: | |
type: string | |
description: > | |
The Region this address resides in. | |
example: us-east | |
readOnly: true | |
x-linode-filterable: true | |
x-linode-cli-display: 5 | |
IPAddressV6LinkLocal: | |
type: object | |
description: > | |
A link-local IPv6 address that exists in Linode's system,. | |
properties: | |
address: | |
type: string | |
format: ip | |
description: > | |
The IPv6 link-local address. | |
example: fe80::f03c:91ff:fe24:3a2f | |
readOnly: true | |
x-linode-cli-display: 1 | |
gateway: | |
type: string | |
description: > | |
The default gateway for this address. | |
example: fe80::1 | |
readOnly: true | |
subnet_mask: | |
type: string | |
format: ip | |
description: > | |
The subnet mask. | |
example: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | |
readOnly: true | |
prefix: | |
type: integer | |
description: > | |
The network prefix. | |
example: 64 | |
readOnly: true | |
type: | |
type: string | |
description: > | |
The type of address this is. | |
example: ipv6 | |
readOnly: true | |
x-linode-cli-display: 2 | |
public: | |
type: boolean | |
description: > | |
Whether this is a public or private IP address. | |
example: false | |
readOnly: true | |
x-linode-cli-display: 3 | |
rdns: | |
type: string | |
description: > | |
The reverse DNS assigned to this address. | |
example: null | |
x-linode-cli-display: 4 | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode this address currently belongs to. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 6 | |
region: | |
type: string | |
description: > | |
The Region this address resides in. | |
example: us-east | |
readOnly: true | |
x-linode-filterable: true | |
x-linode-cli-display: 5 | |
IPAddressV6Slaac: | |
type: object | |
description: > | |
A SLAAC IPv6 address that exists in Linode's system. | |
properties: | |
address: | |
type: string | |
format: ip | |
description: > | |
The address. | |
example: 2600:3c03::f03c:91ff:fe24:3a2f | |
readOnly: true | |
x-linode-cli-display: 1 | |
gateway: | |
type: string | |
description: > | |
The default gateway for this address. | |
example: fe80::1 | |
readOnly: true | |
subnet_mask: | |
type: string | |
format: ip | |
description: > | |
The subnet mask. | |
example: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | |
readOnly: true | |
prefix: | |
type: integer | |
description: > | |
The network prefix. | |
example: 64 | |
readOnly: true | |
type: | |
type: string | |
description: > | |
The type of address this is. | |
example: ipv6 | |
readOnly: true | |
x-linode-cli-display: 2 | |
public: | |
type: boolean | |
description: > | |
Whether this is a public or private IP address. | |
example: true | |
readOnly: true | |
x-linode-cli-display: 3 | |
rdns: | |
type: string | |
description: > | |
The reverse DNS assigned to this address. | |
example: null | |
x-linode-cli-display: 4 | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode this address currently belongs to. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 6 | |
region: | |
type: string | |
description: > | |
The Region this address resides in. | |
example: us-east | |
readOnly: true | |
x-linode-filterable: true | |
x-linode-cli-display: 5 | |
IPv6Pool: | |
type: object | |
description: > | |
An object representing an IPv6 pool. | |
properties: | |
range: | |
type: string | |
description: > | |
The IPv6 pool | |
example: '2600:3c01::02:5000::' | |
readOnly: true | |
x-linode-cli-display: 1 | |
region: | |
type: string | |
description: > | |
A pool of IPv6 addresses that are routed to all of | |
your Linodes in a single Region. Any Linode you own may bring up any | |
address in this pool at any time, with no external configuration | |
required. | |
example: us-east | |
readOnly: true | |
x-linode-cli-display: 2 | |
IPv6Range: | |
type: object | |
description: > | |
An object representing an IPv6 range. | |
properties: | |
range: | |
type: string | |
description: > | |
The IPv6 range. | |
example: '2600:3c01::02:5000::' | |
readOnly: true | |
x-linode-cli-display: 1 | |
region: | |
type: string | |
description: > | |
A range of IPv6 addresses routed to a single Linode in the given | |
Region. Your Linode is responsible for routing individual addresses | |
in the range, or handling traffic for all of the addresses in the | |
range. | |
example: us-east | |
readOnly: true | |
x-linode-cli-display: 2 | |
Kernel: | |
type: object | |
description: Linux kernel object | |
properties: | |
id: | |
type: string | |
description: The unique ID of this Kernel. | |
example: linode/latest-64bit | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
description: The friendly name of this Kernel. | |
example: Latest 64 bit (4.15.7-x86_64-linode102) | |
readOnly: true | |
x-linode-cli-display: 2 | |
version: | |
x-linode-filterable: true | |
type: string | |
description: Linux Kernel version. | |
example: 4.15.7 | |
readOnly: true | |
x-linode-cli-display: 3 | |
kvm: | |
x-linode-filterable: true | |
type: boolean | |
description: If this Kernel is suitable for KVM Linodes. | |
example: true | |
readOnly: true | |
xen: | |
x-linode-filterable: true | |
type: boolean | |
description: If this Kernel is suitable for Xen Linodes. | |
example: false | |
readOnly: true | |
architecture: | |
x-linode-filterable: true | |
type: string | |
description: The architecture of this Kernel. | |
enum: | |
- x86_64 | |
- i386 | |
example: x86_64 | |
readOnly: true | |
x-linode-cli-display: 4 | |
pvops: | |
x-linode-filterable: true | |
type: boolean | |
description: If this Kernel is suitable for paravirtualized operations. | |
example: false | |
readOnly: true | |
Linode: | |
type: object | |
allOf: | |
- $ref: '#/components/schemas/LinodeBase' | |
properties: | |
label: | |
x-linode-filterable: true | |
x-linode-cli-display: 2 | |
description: > | |
The Linode's label is for display purposes only. If no label is provided for a Linode, | |
a default will be assigned. | |
Linode labels have the following constraints: | |
* Must start with an alpha character. | |
* Must consist of alphanumeric characters, dashes (`-`), and underscores (`_`). | |
* Cannot have two dashes (`--`) or underscores (`__`) in a row. | |
region: | |
x-linode-filterable: true | |
readOnly: true | |
description: > | |
This is the location where the Linode was deployed. This cannot be | |
changed without | |
[opening a support ticket](/#operation/createTicket). | |
x-linode-cli-display: 4 | |
image: | |
x-linode-filterable: true | |
readOnly: true | |
allOf: | |
- $ref: '#/components/schemas/DiskRequest/properties/image' | |
x-linode-cli-display: 6 | |
type: | |
readOnly: true | |
description: > | |
This is the [Linode Type](/#operation/getLinodeTypes) that this | |
Linode was deployed with. | |
To change a Linode's Type, use | |
[POST /linode/instances/{linodeId}/resize](/#operation/resizeLinodeInstance). | |
x-linode-cli-display: 5 | |
group: | |
deprecated: true | |
type: string | |
x-linode-filterable: true | |
description: > | |
A deprecated property denoting a group label for this Linode. | |
example: "Linode-Group" | |
id: | |
type: integer | |
description: > | |
This Linode's ID which must be provided for all operations impacting this Linode. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 1 | |
status: | |
type: string | |
description: > | |
A brief description of this Linode's current state. This field may change without | |
direct action from you. For instance, the status will change to "running" | |
when the boot process completes. | |
example: running | |
readOnly: true | |
enum: | |
- running | |
- offline | |
- booting | |
- rebooting | |
- shutting_down | |
- provisioning | |
- deleting | |
- migrating | |
- rebuilding | |
- cloning | |
- restoring | |
x-linode-cli-display: 7 | |
x-linode-cli-color: | |
running: green | |
offline: red | |
default_: yellow | |
hypervisor: | |
type: string | |
description: > | |
The virtualization software powering this Linode. | |
example: kvm | |
readOnly: true | |
enum: | |
- kvm | |
created: | |
type: string | |
format: date-time | |
description: When this Linode was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
updated: | |
type: string | |
format: date-time | |
description: When this Linode was last updated. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
ipv4: | |
type: array | |
items: | |
type: string | |
example: | |
- 123.45.67.890 | |
readOnly: true | |
description: | | |
This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address | |
upon creation, and may get a single private IPv4 address if needed. You may need to | |
[open a support ticket](/#operation/createTicket) | |
to get additional IPv4 addresses. | |
IPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. | |
See the [/networking](/#tag/networking) endpoints for details. | |
x-linode-cli-display: 10 | |
ipv6: | |
type: string | |
description: > | |
This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not | |
be shared. | |
example: 'c001:d00d::1234' | |
readOnly: true | |
specs: | |
type: object | |
description: Information about the resources available to this Linode. | |
readOnly: true | |
properties: | |
disk: | |
type: integer | |
description: > | |
The amount of storage space, in GB. this Linode has access to. A typical Linode | |
will divide this space between a primary disk with an `image` deployed to it, and | |
a swap disk, usually 512 MB. This is the default configuration created when | |
deploying a Linode with an `image` through | |
[POST /linode/instances](/#operation/createLinodeInstance). | |
While this configuration is suitable for 99% of use cases, if you need finer control over | |
your Linode's disks, see the | |
[/linode/instances/{linodeId}/disks](/#operation/getLinodeDisks) | |
endpoints. | |
example: 30720 | |
readOnly: true | |
memory: | |
type: integer | |
description: > | |
The amount of RAM, in MB, this Linode has access to. Typically a Linode will | |
choose to boot with all of its available RAM, but this can be configured in a | |
Config profile, see the | |
[/linode/instances/{linodeId}/configs](/#operation/getLinodeConfigs) | |
endpoints and the LinodeConfig object for more information. | |
example: 2048 | |
readOnly: true | |
vcpus: | |
type: integer | |
description: > | |
The number of vcpus this Linode has access to. Typically a Linode will choose to | |
boot with all of its available vcpus, but this can be configured in a Config | |
Profile, see the | |
[/linode/instances/{linodeId}/configs](/#operation/getLinodeConfigs) | |
endpoints and the LinodeConfig object for more information. | |
example: 1 | |
readOnly: true | |
transfer: | |
type: integer | |
description: The amount of network transfer this Linode is allotted each month. | |
example: 2000 | |
readOnly: true | |
alerts: | |
type: object | |
properties: | |
cpu: | |
type: integer | |
description: > | |
The percentage of CPU usage required to trigger an alert. If the average CPU | |
usage over two hours exceeds this value, we'll send you an alert. If this is set | |
to 0, the alert is disabled. | |
example: 90 | |
network_in: | |
type: integer | |
description: > | |
The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the | |
average incoming traffic over two hours exceeds this value, we'll send you an | |
alert. If this is set to 0 (zero), the alert is disabled. | |
example: 10 | |
network_out: | |
type: integer | |
description: > | |
The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the | |
average outbound traffic over two hours exceeds this value, we'll send you an | |
alert. If this is set to 0 (zero), the alert is disabled. | |
example: 10 | |
transfer_quota: | |
type: integer | |
description: > | |
The percentage of network transfer that may be used before an alert is triggered. | |
When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is | |
disabled. | |
example: 80 | |
io: | |
type: integer | |
description: > | |
The amount of disk IO operation per second required to trigger an alert. If the | |
average disk IO over two hours exceeds this value, we'll send you an alert. If set | |
to 0, this alert is disabled. | |
example: 10000 | |
backups: | |
type: object | |
description: > | |
Information about this Linode's backups status. For information about available | |
backups, see [/linode/instances/{linodeId}/backups](/#operation/getBackups). | |
properties: | |
enabled: | |
type: boolean | |
description: > | |
If this Linode has the Backup service enabled. To enable backups, see | |
[POST /linode/instances/{linodeId}/backups/enable](/#operation/enableBackups). | |
example: true | |
readOnly: true | |
schedule: | |
type: object | |
properties: | |
day: | |
type: string | |
description: | | |
The day of the week that your Linode's weekly Backup is taken. | |
If not set manually, a day will be chosen for you. Backups | |
are taken every day, but backups taken on this day are | |
preferred when selecting backups to retain for a longer period. | |
If not set manually, then when backups are initially enabled, this | |
may come back as `Scheduling` until the `day` is automatically selected. | |
example: Saturday | |
enum: | |
- Scheduling | |
- Sunday | |
- Monday | |
- Tuesday | |
- Wednesday | |
- Thursday | |
- Friday | |
- Saturday | |
window: | |
type: string | |
description: | | |
The window in which your backups will be taken, in UTC. A | |
backups window is a two-hour span of time in which the backup | |
may occur. | |
For example, `W10` indicates that your backups should be | |
taken between 10:00 and 12:00. If you do not choose a backup | |
window, one will be selected for you automatically. | |
If not set manually, when backups are initially enabled this | |
may come back as `Scheduling` until the `window` is automatically selected. | |
example: W22 | |
enum: | |
- Scheduling | |
- W0 | |
- W2 | |
- W4 | |
- W8 | |
- W10 | |
- W12 | |
- W14 | |
- W16 | |
- W18 | |
- W20 | |
- W22 | |
LinodeBase: | |
type: object | |
description: Common properties for Linode Request and Response objects. | |
properties: | |
label: | |
type: string | |
description: > | |
The Linode's label is for display purposes only. If no label is provided for a Linode, | |
a default will be assigned. | |
Linode labels have the following constraints: | |
* Must start with an alpha character. | |
* Must consist of alphanumeric characters, dashes (`-`), and underscores (`_`). | |
* Cannot have two dashes (`--`) or underscores (`__`) in a row. | |
example: linode123 | |
minLength: 3 | |
maxLength: 32 | |
pattern: '^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$' | |
group: | |
deprecated: true | |
type: string | |
x-linode-filterable: true | |
description: > | |
A deprecated property denoting a group label for this Linode. | |
example: "Linode-Group" | |
type: | |
$ref: '#/components/schemas/LinodeType/properties/id' | |
region: | |
$ref: '#/components/schemas/Region/properties/id' | |
LinodeConfig: | |
type: object | |
required: | |
- label | |
- devices | |
properties: | |
id: | |
type: integer | |
description: The ID of this Config. | |
example: 23456 | |
readOnly: true | |
x-linode-cli-display: 1 | |
kernel: | |
type: string | |
description: A Kernel ID to boot a Linode with. Defaults to "linode/latest-64bit". | |
example: linode/latest-64bit | |
x-linode-cli-display: 3 | |
comments: | |
type: string | |
description: Optional field for arbitrary User comments on this Config. | |
example: This is my main Config | |
memory_limit: | |
type: integer | |
description: > | |
Defaults to the total RAM of the Linode. | |
example: 2048 | |
run_level: | |
type: string | |
description: > | |
Defines the state of your Linode after booting. Defaults to `default`. | |
enum: | |
- default | |
- single | |
- binbash | |
example: default | |
virt_mode: | |
type: string | |
description: > | |
Controls the virtualization mode. Defaults to `paravirt`. | |
* `paravirt` is suitable for most cases. Linodes running in paravirt mode | |
share some qualities with the host, ultimately making it run faster since | |
there is less transition between it and the host. | |
* `full_virt` affords more customization, but is slower because 100% of the VM | |
is virtualized. | |
enum: | |
- paravirt | |
- fullvirt | |
example: paravirt | |
helpers: | |
type: object | |
description: Helpers enabled when booting to this Linode Config. | |
properties: | |
updatedb_disabled: | |
type: boolean | |
description: Disables updatedb cron job to avoid disk thrashing. | |
example: true | |
distro: | |
type: boolean | |
description: Helps maintain correct inittab/upstart console device. | |
example: true | |
modules_dep: | |
type: boolean | |
description: Creates a modules dependency file for the Kernel you run. | |
example: true | |
network: | |
type: boolean | |
description: Automatically configures static networking. | |
example: true | |
devtmpfs_automount: | |
type: boolean | |
description: > | |
Populates the /dev directory early during boot without udev. Defaults to false. | |
example: false | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The Config's label is for display purposes only. | |
example: My Config | |
minLength: 1 | |
maxLength: 48 | |
x-linode-cli-display: 2 | |
devices: | |
$ref: '#/components/schemas/Devices' | |
root_device: | |
type: string | |
description: > | |
The root device to boot. The corresponding disk must be attached. | |
example: /dev/sda | |
LinodeRequest: | |
type: object | |
description: Common properties for creating and rebuilding Linodes. | |
properties: | |
image: | |
$ref: '#/components/schemas/DiskRequest/properties/image' | |
root_pass: | |
$ref: '#/components/schemas/DiskRequest/properties/root_pass' | |
authorized_keys: | |
$ref: '#/components/schemas/DiskRequest/properties/authorized_keys' | |
stackscript_id: | |
$ref: '#/components/schemas/DiskRequest/properties/stackscript_id' | |
stackscript_data: | |
$ref: '#/components/schemas/DiskRequest/properties/stackscript_data' | |
booted: | |
type: boolean | |
writeOnly: true | |
description: > | |
This field defaults to `true` if the Linode is created with an Image or from a | |
Backup. | |
If it is deployed from an Image or a Backup and you wish it to remain `offline` | |
after deployment, set this to `false`. | |
LinodeStats: | |
type: object | |
description: > | |
CPU, IO, IPv4, and IPv6 statistics. Graph data, if available, | |
is in "[timestamp, reading]" array format. Timestamp is a UNIX timestamp | |
in EST. | |
readOnly: true | |
properties: | |
cpu: | |
type: array | |
description: > | |
Percentage of CPU used. | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521483600000 | |
- 0.42 | |
io: | |
type: object | |
description: Input/Output statistics. | |
properties: | |
io: | |
type: array | |
description: Block/s written. | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 0.19 | |
swap: | |
type: array | |
description: Block/s written. | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 0 | |
netv4: | |
type: object | |
description: IPv4 statistics. | |
properties: | |
in: | |
type: array | |
description: Input stats for IPv4, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 2004.36 | |
out: | |
type: array | |
description: Output stats for IPv4, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 3928.91 | |
private_in: | |
type: array | |
description: Private IPv4 input statistics, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 0 | |
private_out: | |
type: array | |
description: Private IPv4 output statistics, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 5.6 | |
netv6: | |
type: object | |
description: IPv6 statistics. | |
properties: | |
in: | |
type: array | |
description: Input stats for IPv6, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 0 | |
out: | |
type: array | |
description: Output stats for IPv6, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 0 | |
private_in: | |
type: array | |
description: Private IPv6 input statistics, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 195.18 | |
private_out: | |
type: array | |
description: Private IPv6 output statistics, measured in bits/s (bits/second). | |
items: | |
type: array | |
items: | |
type: number | |
example: | |
- 1521484800000 | |
- 5.6 | |
title: | |
type: string | |
description: The title for this data set. | |
example: linode.com - my-linode (linode123456) - day (5 min avg) | |
LinodeType: | |
type: object | |
description: > | |
Returns collection of Linode types, including pricing and specifications | |
for each type. These are used when | |
[creating](/#operation/createLinodeInstance) | |
or [resizing](/#operation/resizeLinodeInstance) | |
Linodes. | |
properties: | |
id: | |
readOnly: true | |
type: string | |
description: The ID representing the Linode Type. | |
example: g6-standard-2 | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
readOnly: true | |
description: > | |
The Linode Type's label is for display purposes only. | |
example: Linode 4GB | |
x-linode-cli-display: 2 | |
disk: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: > | |
The Disk size, in MB, of the Linode Type. | |
example: 81920 | |
x-linode-cli-display: 4 | |
class: | |
x-linode-filterable: true | |
type: string | |
readOnly: true | |
description: > | |
The class of the Linode Type. We currently offer three classes of Linodes: | |
* nanode - Our entry-level Linode Type. | |
* standard - Our flagship Linode Type. | |
* highmem - A Linode Type featuring high memory availability. | |
enum: | |
- nanode | |
- standard | |
- himem | |
example: standard | |
x-linode-cli-display: 3 | |
price: | |
type: object | |
readOnly: true | |
description: > | |
Cost in US dollars, broken down into hourly and monthly charges. | |
x-linode-cli-display: 9 | |
properties: | |
hourly: | |
type: integer | |
description: Cost (in US dollars) per hour. | |
example: 0.03 | |
monthly: | |
type: integer | |
description: Cost (in US dollars) per month. | |
example: 20 | |
addons: | |
type: object | |
readOnly: true | |
description: > | |
A list of optional add-on services for Linodes and their associated | |
costs. | |
properties: | |
backups: | |
type: object | |
readOnly: true | |
description: > | |
Information about the optional Backup service offered for Linodes. | |
properties: | |
price: | |
type: object | |
description: Cost of enabling Backups for this Linode Type. | |
properties: | |
hourly: | |
type: integer | |
description: > | |
The cost (in US dollars) per hour to add Backups service. | |
example: 0.008 | |
monthly: | |
type: integer | |
description: > | |
The cost (in US dollars) per month to add Backups service. | |
example: 5 | |
network_out: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: > | |
The Mbits outbound bandwidth allocation. | |
example: 1000 | |
x-linode-cli-display: 7 | |
memory: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: > | |
Amount of RAM included in this Linode Type. | |
example: 4096 | |
x-linode-cli-display: 5 | |
transfer: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: > | |
The monthly outbound transfer amount, in MB. | |
example: 4000 | |
x-linode-cli-display: 8 | |
vcpus: | |
x-linode-filterable: true | |
type: integer | |
readOnly: true | |
description: > | |
The number of VCPU cores this Linode Type offers. | |
example: 2 | |
x-linode-cli-display: 6 | |
LongviewClient: | |
type: object | |
description: > | |
A LongviewClient is a single monitor set up to track statistics about | |
one of your servers. | |
properties: | |
id: | |
type: integer | |
description: > | |
This Client's unique ID. | |
example: 789 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
minLength: 3 | |
maxLength: 32 | |
pattern: '[a-zA-Z0-9-_]{3,32}' | |
description: > | |
This Client's unique label. This is for display purposes only. | |
example: client789 | |
x-linode-cli-display: 2 | |
api_key: | |
type: string | |
description: > | |
The API key for this Client, used when configuring the Longview | |
Client application on your Linode. | |
example: BD1B4B54-D752-A76D-5A9BD8A17F39DB61 | |
readOnly: true | |
install_code: | |
type: string | |
description: > | |
The install code for this Client, used when configuring the Longview | |
Client application on your Linode. | |
example: BD1B5605-BF5E-D385-BA07AD518BE7F321 | |
readOnly: true | |
x-linode-cli-display: 4 | |
apps: | |
type: object | |
description: > | |
The apps this Client is monitoring on your Linode. This is configured | |
when you install the Longview Client application, and is present here | |
for information purposes only. | |
readOnly: true | |
properties: | |
apache: | |
type: boolean | |
description: > | |
If True, the Apache Longview Client module is monitoring Apache on | |
your server. | |
example: true | |
readOnly: true | |
nginx: | |
type: boolean | |
description: > | |
If True, the Nginx Longview Client module is monitoring Nginx on | |
your server. | |
example: false | |
readOnly: true | |
mysql: | |
type: boolean | |
description: > | |
If True, the MySQL Longview Client modules is monitoring MySQL on | |
your server. | |
example: true | |
readOnly: true | |
created: | |
type: string | |
format: date-time | |
description: > | |
When this Longview Client was created. | |
example: 2018-01-01T00:01:01 | |
readOnly: true | |
x-linode-cli-display: 3 | |
updated: | |
type: string | |
format: date-time | |
description: > | |
When this Longview Client was last updated. | |
example: 2018-01-01T00:01:01 | |
readOnly: true | |
LongviewSubscription: | |
type: object | |
description: > | |
A Longview Subscriptions represents a tier of Longview service you | |
can subscribe to. | |
properties: | |
id: | |
type: string | |
description: > | |
The unique ID of this Subscription tier. | |
example: longview-10 | |
readOnly: true | |
x-linode-cli-display: 1 | |
price: | |
type: object | |
description: > | |
Pricing information about this Subscription tier. | |
readOnly: true | |
x-linode-cli-display: 4 | |
properties: | |
hourly: | |
type: number | |
description: > | |
The hourly price, in US dollars, for this Subscription tier. | |
example: 0.06 | |
readOnly: true | |
monthly: | |
type: number | |
description: > | |
The maximum monthly price in US Dollars for this Subscription tier. | |
You will never be charged more than this amount per | |
month for this subscription. | |
example: 40 | |
readOnly: true | |
label: | |
type: string | |
description: > | |
A display name for this Subscription tier. | |
example: Longivew Pro 10 pack | |
readOnly: true | |
x-linode-cli-display: 2 | |
clients_included: | |
type: integer | |
description: > | |
The number of Longview Clients that may be created with this Subscription tier. | |
example: 10 | |
readOnly: true | |
x-linode-cli-display: 3 | |
ManagedContact: | |
type: object | |
description: > | |
Information about someone Linode's special forces may contact | |
in case an issue is detected with a manager service. | |
properties: | |
id: | |
type: integer | |
description: > | |
This Contact's unique ID. | |
example: 567 | |
readOnly: true | |
x-linode-cli-display: 1 | |
name: | |
type: string | |
minLength: 2 | |
maxLength: 64 | |
pattern: '[a-zA-Z0-9-_ ]{2,64}' | |
description: > | |
The name of this Contact. | |
example: John Doe | |
x-linode-cli-display: 2 | |
email: | |
type: string | |
format: email | |
description: > | |
The address to email this Contact to alert them of issues. | |
example: [email protected] | |
x-linode-cli-display: 3 | |
phone: | |
type: object | |
description: > | |
Information about how to reach this Contact by phone. | |
x-linode-cli-display: 4 | |
properties: | |
primary: | |
type: string | |
format: phone | |
description: > | |
This Contact's primary phone number. | |
example: 123-456-7890 | |
secondary: | |
type: string | |
format: phone | |
description: > | |
This Contact's secondary phone number. | |
example: null | |
group: | |
x-linode-filterable: true | |
deprecated: true | |
type: string | |
minLength: 2 | |
maxLength: 50 | |
description: > | |
A grouping for this Contact. This is for display purposes only. | |
example: on-call | |
x-linode-cli-display: 5 | |
updated: | |
type: string | |
format: date-time | |
description: > | |
When this Contact was last updated. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
ManagedCredential: | |
type: object | |
description: > | |
A securely-stored Credential that allows Linode's special forces | |
to access a Managed server to respond to Issues. | |
properties: | |
id: | |
type: integer | |
description: > | |
This Credential's unique ID. | |
example: 9991 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
type: string | |
minLength: 2 | |
maxLength: 75 | |
pattern: '[a-zA-Z0-9-_ \.]{2,75}' | |
description: > | |
The unique label for this Credential. This is for display purposes | |
only. | |
example: prod-password-1 | |
x-linode-cli-display: 2 | |
ManagedIssue: | |
type: object | |
description: > | |
An Issue that was detected with a service Linode is managing. | |
properties: | |
id: | |
type: integer | |
description: > | |
This Issue's unique ID. | |
example: 823 | |
readOnly: true | |
x-linode-cli-display: 1 | |
created: | |
type: string | |
format: date-time | |
description: > | |
When this Issue was created. Issues are created in response to issues | |
detected with Managed Services, so this is also when the Issue was | |
detected. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
x-linode-cli-display: 2 | |
services: | |
type: array | |
items: | |
type: integer | |
example: 654 | |
description: > | |
An array of Managed Service IDs that were affected by this Issue. | |
readOnly: true | |
x-linode-cli-display: 3 | |
entity: | |
type: object | |
description: > | |
The ticket this Managed Issue opened. | |
readOnly: true | |
x-linode-cli-display: 4 | |
properties: | |
id: | |
type: integer | |
description: > | |
This ticket's ID | |
example: 98765 | |
readOnly: true | |
type: | |
type: string | |
enum: | |
- ticket | |
description: > | |
The type of entity this is. In this case, it is always a Ticket. | |
example: ticket | |
readOnly: true | |
label: | |
type: string | |
description: > | |
The summary for this Ticket. | |
example: Managed Issue opened! | |
readOnly: true | |
url: | |
type: string | |
format: url | |
description: > | |
The relative URL where you can access this Ticket. | |
example: /support/tickets/98765 | |
readOnly: true | |
ManagedLinodeSettings: | |
type: object | |
description: > | |
Settings for a specific Linode related to Managed Services. There is | |
one ManagedLinodeSettings object for each Linode on your Account. | |
properties: | |
id: | |
type: integer | |
description: > | |
The ID of the Linode these Settings are for. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
type: string | |
description: > | |
The label of the Linode these Settings are for. | |
example: linode123 | |
readOnly: true | |
x-linode-cli-display: 2 | |
group: | |
deprecated: true | |
type: string | |
description: > | |
The group of the Linode these Settings are for. This is for display | |
purposes only. | |
example: linodes | |
readOnly: true | |
x-linode-cli-display: 3 | |
ssh: | |
type: object | |
description: > | |
The SSH settings for this Linode. | |
x-linode-cli-display: 4 | |
properties: | |
access: | |
type: boolean | |
description: > | |
If true, Linode special forces may access this Linode over | |
ssh to respond to Issues. | |
example: true | |
user: | |
type: string | |
minLength: 0 | |
maxLength: 32 | |
description: > | |
The user Linode's special forces should use when accessing this | |
Linode to respond to an issue. | |
example: linode | |
ip: | |
type: string | |
format: ip | |
description: > | |
The IP Linode special forces should use to access this Linode | |
when responding to an Issue. | |
example: 12.34.56.78 | |
port: | |
type: integer | |
minimum: 1 | |
maximum: 65535 | |
description: > | |
The port Linode special forces should use to access this Linode | |
over ssh to respond to an Issue. | |
example: 22 | |
ManagedService: | |
type: object | |
description: > | |
A service that Linode is monitoring as part of your Managed services. | |
If issues are detected with this service, a ManagedIssue will be opened | |
and, optionally, Linode special forces will attempt to resolve the Issue. | |
properties: | |
id: | |
type: integer | |
description: > | |
This Service's unique ID. | |
example: 9944 | |
readOnly: true | |
x-linode-cli-display: 1 | |
status: | |
type: string | |
enum: | |
- disabled | |
- pending | |
- ok | |
- problem | |
description: > | |
The current status of this Service. | |
example: ok | |
readOnly: true | |
x-linode-cli-display: 2 | |
x-linode-cli-color: | |
ok: green | |
disabled: red | |
default_: yellow | |
service_type: | |
type: string | |
enum: | |
- URL | |
- TCP | |
description: > | |
How this Service is monitored. | |
example: URL | |
x-linode-cli-display: 3 | |
label: | |
type: string | |
minLength: 3 | |
maxLength: 64 | |
pattern: '[a-zA-Z0-9-_ \.]{3,64}' | |
description: > | |
The label for this Service. This is for display purposes only. | |
example: prod-1 | |
x-linode-cli-display: 4 | |
address: | |
type: string | |
format: url | |
minLength: 3 | |
description: > | |
The URL at which this Service is monitored. | |
example: https://example.org | |
x-linode-cli-display: 5 | |
timeout: | |
type: integer | |
minimum: 1 | |
maximum: 255 | |
description: > | |
How long to wait, in seconds, for a response before considering the | |
Service to be down. | |
example: 30 | |
body: | |
type: string | |
minLength: 0 | |
maxLength: 100 | |
description: > | |
What to expect to find in the response body for the Service to be | |
considered up. | |
example: it worked | |
consultation_group: | |
deprecated: true | |
type: string | |
minLength: 0 | |
maxLength: 50 | |
description: > | |
The group of ManagedContacts who should be notified or consulted | |
with when an Issue is detected. | |
example: on-call | |
x-linode-cli-display: 6 | |
notes: | |
type: string | |
description: > | |
Any information relevant to the Service that Linode special forces | |
should know when attempting to resolve Issues. | |
example: The service name is my-cool-application | |
region: | |
type: string | |
description: > | |
The Region in which this Service is located. This is required if | |
address is a private IP, and may not be set otherwise. | |
example: null | |
credentials: | |
type: array | |
items: | |
type: integer | |
example: 9991 | |
description: > | |
An array of ManagedCredential IDs that should be used when attempting to | |
resolve issues with this Service. | |
created: | |
type: string | |
format: date-time | |
description: When this Managed Service was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
updated: | |
type: string | |
format: date-time | |
description: When this Managed Service was last updated. | |
example: '2018-03-01T00:01:01' | |
readOnly: true | |
NodeBalancer: | |
type: object | |
description: > | |
Linode's load balancing solution. Can handle multiple ports, SSL termination, | |
and any number of backends. NodeBalancer ports are configured with | |
NodeBalancer Configs, and each config is given one or more NodeBalancer Node that | |
accepts traffic. The traffic should be routed to the NodeBalancer's ip address, | |
the NodeBalancer will handle routing individual requests to backends. | |
properties: | |
id: | |
type: integer | |
description: > | |
This NodeBalancer's unique ID. | |
example: 12345 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
minLength: 3 | |
maxLength: 32 | |
pattern: '[a-zA-Z0-9-_]{3,32}' | |
description: > | |
This NodeBalancer's label. These must be unique on your Account. | |
example: balancer12345 | |
x-linode-cli-display: 2 | |
region: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The Region where this NodeBalancer is located. NodeBalancers only | |
support backends in the same Region. | |
example: us-east | |
readOnly: true | |
x-linode-cli-display: 3 | |
hostname: | |
type: string | |
description: > | |
This NodeBalancer's hostname, ending with _.nodebalancer.linode.com_ | |
example: nb-207-192-68-16.newark.nodebalancer.linode.com | |
readOnly: true | |
x-linode-cli-display: 4 | |
ipv4: | |
type: string | |
format: ip | |
description: > | |
This NodeBalancer's public IPv4 address. | |
example: 12.34.56.78 | |
readOnly: true | |
x-linode-cli-display: 5 | |
ipv6: | |
type: string | |
format: ip | |
description: > | |
This NodeBalancer's public IPv6 address. | |
example: null | |
readOnly: true | |
x-linode-cli-display: 6 | |
created: | |
type: string | |
format: date-time | |
description: > | |
When this NodeBalancer was created. | |
example: 2018-01-01T00:01:01 | |
readOnly: true | |
updated: | |
type: string | |
format: date-time | |
description: > | |
When this NodeBalancer was last updated. | |
example: 2018-03-01T00:01:01 | |
readOnly: true | |
client_conn_throttle: | |
type: integer | |
minimum: 0 | |
maximum: 20 | |
description: > | |
Throttle connections per second. Set to 0 (zero) to disable throttling. | |
example: 0 | |
x-linode-cli-display: 6 | |
NodeBalancerConfig: | |
type: object | |
description: > | |
A NodeBalancer config represents the configuration of this NodeBalancer | |
on a single port. For example, a NodeBalancer Config on port 80 would | |
typically represent how this NodeBalancer response to HTTP requests. | |
NodeBalancer configs have a list of backends, called "nodes," that they | |
forward requests between based on their configuration. | |
properties: | |
id: | |
type: integer | |
description: This config's unique ID | |
example: 4567 | |
readOnly: true | |
x-linode-cli-display: 1 | |
port: | |
type: integer | |
minimum: 1 | |
maximum: 65535 | |
description: > | |
The port this Config is for. These values must be unique across configs | |
on a single NodeBalancer (you can't have two configs for port 80, for | |
example). While some ports imply some protocols, no enforcement is done | |
and you may configure your NodeBalancer however is useful to you. For | |
example, while port 443 is generally used for HTTPS, you do not need | |
SSL configured to have a NodeBalancer listening on port 443. | |
example: 80 | |
x-linode-cli-display: 2 | |
protocol: | |
type: string | |
enum: | |
- http | |
- https | |
- tcp | |
description: > | |
The protocol this port is configured to serve. | |
* If this is set to `https` you must include an `ssl_cert` and an `ssl_key`. | |
example: http | |
x-linode-cli-display: 3 | |
algorithm: | |
type: string | |
enum: | |
- roundrobin | |
- leastconn | |
- source | |
description: > | |
What algorithm this NodeBalancer should use for routing traffic to backends. | |
example: roundrobin | |
x-linode-cli-display: 4 | |
stickiness: | |
type: string | |
enum: | |
- none | |
- table | |
- http_cookie | |
description: > | |
Controls how session stickiness is handled on this port. | |
* If set to `none` connections will always be assigned a backend based on the algorithm configured. | |
* If set to `table` sessions from the same remote address will be routed to the same | |
backend. | |
* For HTTP or HTTPS clients, `http_cookie` allows sessions to be | |
routed to the same backend based on a cookie set by the NodeBalancer. | |
example: http_cookie | |
x-linode-cli-display: 5 | |
check: | |
type: string | |
enum: | |
- none | |
- connection | |
- http | |
- http_body | |
description: > | |
The type of check to perform against backends to ensure they are serving | |
requests. This is used to determine if backends are up or down. | |
* If `none` no check is performed. | |
* `connection` requires only a connection to the backend to succeed. | |
* `http` and `http_body` rely on the backend serving HTTP, and that | |
the response returned matches what is expected. | |
example: http_body | |
check_interval: | |
type: integer | |
description: > | |
How often, in seconds, to check that backends are up and serving requests. | |
example: 90 | |
check_timeout: | |
type: integer | |
minimum: 1 | |
maximum: 30 | |
description: > | |
How long, in seconds, to wait for a check attempt before considering it failed. | |
example: 10 | |
check_attempts: | |
type: integer | |
minimum: 1 | |
maximum: 30 | |
description: > | |
How many times to attempt a check before considering a backend to be down. | |
example: 3 | |
check_path: | |
type: string | |
description: > | |
The URL path to check on each backend. If the backend does not respond | |
to this request it is considered to be down. | |
example: /test | |
check_body: | |
type: string | |
description: > | |
This value must be present in the response body of the check in order for | |
it to pass. If this value is not present in the response body of a check | |
request, the backend is considered to be down. | |
example: it works | |
check_passive: | |
type: boolean | |
description: > | |
If true, any response from this backend with a `5xx` status code will be | |
enough for it to be considered unhealthy and taken out of rotation. | |
example: true | |
x-linode-cli-display: 6 | |
cipher_suite: | |
type: string | |
enum: | |
- recommended | |
- legacy | |
description: > | |
What ciphers to use for SSL connections served by this NodeBalancer. | |
* `legacy` is considered insecure and should only be used if necessary. | |
example: recommended | |
x-linode-cli-display: 7 | |
x-linode-cli-color: | |
legacy: red | |
default_: white | |
nodebalancer_id: | |
type: integer | |
description: > | |
The ID for the NodeBalancer this config belongs to. | |
example: 12345 | |
readOnly: true | |
ssl_commonname: | |
type: string | |
description: > | |
The common name for the SSL certification this port is serving | |
if this port is not configured to use SSL. | |
example: null | |
readOnly: true | |
x-linode-cli-display: 8 | |
ssl_fingerprint: | |
type: string | |
description: > | |
The fingerprint for the SSL certification this port is serving | |
if this port is not configured to use SSL. | |
example: null | |
readOnly: true | |
x-linode-cli-display: 9 | |
ssl_cert: | |
type: string | |
description: > | |
The certificate this port is serving. This is not returned. If set, | |
this field will come back as "<REDACTED>". | |
Please use the `ssl_commonname` and `ssl_fingerprint` to identify the certificate. | |
example: null | |
ssl_key: | |
type: string | |
description: > | |
The private key corresponding to this port's certificate. This is not | |
returned. If set, this field will come back as "<REDACTED>". | |
Please use the `ssl_commonname` and `ssl_fingerprint` to identify the certificate. | |
example: null | |
nodes_status: | |
type: object | |
description: > | |
A structure containing information about the health of the backends | |
for this port. This information is updated periodically as checks | |
are performed against backends. | |
readOnly: true | |
x-linode-cli-display: 10 | |
properties: | |
up: | |
type: integer | |
description: > | |
The number of backends considered to be "UP" and healthy, and that | |
are serving requests. | |
example: 4 | |
readOnly: true | |
down: | |
type: integer | |
description: > | |
The number of backends considered to be "DOWN" and unhealthy. These | |
are not in rotation, and not serving requests. | |
example: 0 | |
readOnly: true | |
NodeBalancerNode: | |
type: object | |
description: > | |
A NodeBalancerNode represents a single backend serving requests for a single | |
port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve | |
traffic over their private IP. If the same Linode is serving traffic for more | |
than one port on the same NodeBalancer, one NodeBalancer Node is required for | |
each config (port) it should serve requests on. For example, if you have | |
four backends, and each should response to both HTTP and HTTPS requests, you | |
will need two NodeBalancerConfigs (port 80 and port 443) and four backends | |
each - one for each of the Linodes serving requests for that port. | |
properties: | |
id: | |
type: integer | |
description: This node's unique ID. | |
example: 54321 | |
readOnly: true | |
x-linode-cli-display: 1 | |
address: | |
type: string | |
format: ip | |
description: > | |
The private IP Address where this backend can be reached. This _must_ | |
be a private IP address. | |
example: 192.168.210.120:80 | |
x-linode-cli-display: 3 | |
label: | |
type: string | |
minLength: 3 | |
maxLength: 32 | |
description: > | |
The label for this node. This is for display purposes only. | |
example: node54321 | |
x-linode-cli-display: 2 | |
status: | |
type: string | |
enum: | |
- unknown | |
- UP | |
- DOWN | |
description: > | |
The current status of this node, based on the configured checks | |
of its NodeBalancer Config. | |
example: UP | |
readOnly: true | |
x-linode-cli-display: 4 | |
x-linode-cli-color: | |
UP: green | |
unknown: yellow | |
DOWN: red | |
default_: white | |
weight: | |
type: integer | |
minimum: 1 | |
maximum: 255 | |
description: > | |
Used when picking a backend to serve a request and is not pinned to | |
a single backend yet. Nodes with a higher weight will receive more | |
traffic. | |
example: 50 | |
x-linode-cli-display: 5 | |
mode: | |
type: string | |
enum: | |
- accept | |
- reject | |
- drain | |
description: > | |
The mode this NodeBalancer should use when sending traffic to this backend. | |
* If set to `accept` this backend is accepting traffic. | |
* If set to `reject` this backend will not receive traffic. | |
* If set to `drain` this backend will not receive _new_ traffic, but connections already | |
pinned to it will continue to be routed to it. | |
example: accept | |
x-linode-cli-display: 6 | |
config_id: | |
type: integer | |
description: > | |
The NodeBalancer Config ID that this Node belongs to. | |
example: 4567 | |
readOnly: true | |
nodebalancer_id: | |
type: integer | |
description: > | |
The NodeBalancer ID that this Node belongs to. | |
example: 12345 | |
readOnly: true | |
Notification: | |
type: object | |
description: > | |
An important, often time-sensitive item related to your Account. | |
properties: | |
entity: | |
type: object | |
readOnly: true | |
description: Detailed information about the Notification. | |
properties: | |
id: | |
type: integer | |
description: > | |
The unique ID of the Notification's entity, based on the entity | |
type. | |
example: 3456 | |
label: | |
type: string | |
description: > | |
The current label for this Notification's entity. | |
example: Linode not booting. | |
type: | |
type: string | |
description: The type of entity this is related to. | |
example: ticket | |
url: | |
type: string | |
description: > | |
The URL where you can access the object this Notification is for. | |
If a relative URL, it is relative to the domain you retrieved the | |
Notification from. | |
example: /support/tickets/3456 | |
label: | |
type: string | |
description: > | |
A short description of this Notification. | |
example: You have an important ticket open! | |
readOnly: true | |
x-linode-cli-display: 1 | |
message: | |
type: string | |
readOnly: true | |
description: A human-readable description of the Notification. | |
example: You have an important ticket open! | |
x-linode-cli-display: 2 | |
type: | |
type: string | |
enum: | |
- migration_scheduled | |
- migration_pending | |
- reboot_scheduled | |
- outage | |
- payment_due | |
- ticket_important | |
- ticket_abuse | |
- notice | |
readOnly: true | |
description: The type of Notification this is. | |
example: ticket_important | |
severity: | |
type: string | |
enum: | |
- minor | |
- major | |
- critical | |
description: > | |
The severity of this Notification. This field can be used to | |
decide how prominently to display the Notification, what color | |
to make the display text, etc. | |
example: major | |
readOnly: true | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
critical: b | |
minor: blue | |
default_: white | |
when: | |
type: string | |
readOnly: true | |
format: date-time | |
description: > | |
If this Notification is of an Event that will happen at a fixed, | |
future time, this is when the named action will be taken. For | |
example, if a Linode is to be migrated in response to a | |
Security Advisory, this field will contain the approximate time the | |
Linode will be taken offline for migration. | |
example: null | |
x-linode-cli-display: 4 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
until: | |
type: string | |
format: date-time | |
description: > | |
If this Notification has a duration, this will be the ending time | |
for the Event/action. For example, if there is scheduled | |
maintenance for one of our systems, `until` would be set to the end | |
of the maintenance window. | |
example: null | |
readOnly: true | |
x-linode-cli-display: 5 | |
x-linode-cli-color: | |
None: black | |
default_: white | |
OAuthClient: | |
type: object | |
description: > | |
A third-party application registered to Linode that users may log into | |
with their Linode account through our authentication server at | |
https://login.linode.com. Using an OAuth Client, a third-party | |
developer may be given access to some, or all, of a User's account for | |
the purposes of their application. | |
properties: | |
id: | |
type: string | |
description: > | |
The OAuth Client ID. This is used to identify the client, and is a | |
publicly-known value (it is not a secret). | |
example: 2737bf16b39ab5d7b4a1 | |
readOnly: true | |
x-linode-cli-display: 1 | |
redirect_uri: | |
type: string | |
format: url | |
description: > | |
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. | |
example: https://example.org/oauth/callback | |
x-linode-cli-display: 5 | |
label: | |
x-linode-filterable: true | |
type: string | |
minLength: 1 | |
maxLength: 512 | |
description: > | |
The name of this application. This will be presented to users when they | |
are asked to grant it access to their Account. | |
example: Test_Client_1 | |
x-linode-cli-display: 2 | |
status: | |
type: string | |
enum: | |
- active | |
- disabled | |
- suspended | |
description: > | |
The status of this application. `active` by default. | |
example: active | |
readOnly: true | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
suspended: red | |
default_: white | |
secret: | |
type: string | |
description: > | |
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. | |
example: <REDACTED> | |
readOnly: true | |
thumbnail_url: | |
type: string | |
format: url | |
description: > | |
The URL where this client's thumbnail may be viewed, or `null` if this client | |
does not have a thumbnail set. | |
example: https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail | |
readOnly: true | |
public: | |
x-linode-filterable: true | |
type: boolean | |
description: > | |
If this is a public or private OAuth Client. Public clients have a slightly | |
different authentication workflow than private clients. See the | |
[OAuth spec](https://oauth.net/2/) for more details. | |
example: false | |
readOnly: true | |
x-linode-cli-display: 4 | |
PaginationEnvelope: | |
type: object | |
description: > | |
An envelope for paginated response. When accessing a collection through a GET endpoint, the | |
results are wrapped in this envelope which includes metadata about those results. | |
required: | |
- pages | |
- page | |
- results | |
- data | |
properties: | |
data: | |
type: array | |
readOnly: true | |
pages: | |
type: integer | |
readOnly: true | |
example: 1 | |
page: | |
type: integer | |
readOnly: true | |
example: 1 | |
results: | |
type: integer | |
readOnly: true | |
example: 1 | |
Payment: | |
type: object | |
description: Payment object response. | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: The unique ID of the Payment. | |
example: 123 | |
x-linode-cli-display: 1 | |
date: | |
type: string | |
readOnly: true | |
format: date-time | |
description: When the Payment was made. | |
example: '2018-01-15T00:01:01' | |
x-linode-cli-display: 2 | |
usd: | |
type: integer | |
readOnly: true | |
description: The amount, in US dollars, of the Payment. | |
example: '120.50' | |
x-linode-cli-display: 3 | |
PaymentRequest: | |
type: object | |
description: Payment object request. | |
required: | |
- cvv | |
- usd | |
properties: | |
cvv: | |
type: string | |
description: > | |
CVV (Card Verification Value) of the credit card to be used for | |
the Payment. | |
example: '123' | |
usd: | |
type: string | |
description: > | |
The amount in US Dollars of the Payment. | |
example: '120.50' | |
PayPal: | |
type: object | |
required: | |
- cancel_url | |
- redirect_url | |
- usd | |
description: > | |
An object representing the staging of a Payment via PayPal. | |
properties: | |
cancel_url: | |
type: string | |
description: The URL to have PayPal redirect to when Payment is cancelled. | |
example: https://example.org | |
redirect_url: | |
type: string | |
description: The URL to have PayPal redirect to when Payment is approved. | |
example: https://example.org | |
usd: | |
type: string | |
description: The amount, in US dollars, of the Payment. | |
example: '120.50' | |
PayPalExecute: | |
type: object | |
required: | |
- payer_id | |
- payment_id | |
description: > | |
An object representing an execution of Payment to PayPal to capture the | |
funds and credit your Linode Account. | |
properties: | |
payer_id: | |
type: string | |
description: > | |
The PayerID returned by PayPal during the transaction authorization | |
process. | |
example: ABCDEFGHIJKLM | |
payment_id: | |
type: string | |
description: > | |
The PaymentID returned from | |
[POST /account/payments/paypal](/#operation/createPayPalPayment) that has | |
been approved with PayPal. | |
example: PAY-1234567890ABCDEFGHIJKLMN | |
PersonalAccessToken: | |
type: object | |
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: | |
id: | |
type: integer | |
description: > | |
This token's unique ID, which can be used to revoke it. | |
example: 123 | |
readOnly: true | |
x-linode-cli-display: 1 | |
scopes: | |
type: string | |
format: oauth-scopes | |
description: > | |
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: '*' | |
readOnly: true | |
x-linode-cli-display: 3 | |
created: | |
type: string | |
format: date-time | |
description: > | |
The date and time this token was created. | |
x-linode-filterable: true | |
example: 2018-01-01T00:01:01 | |
readOnly: true | |
x-linode-cli-display: 4 | |
label: | |
type: string | |
minLength: 1 | |
maxLength: 100 | |
description: > | |
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. | |
x-linode-filterable: true | |
example: linode-cli | |
x-linode-cli-display: 2 | |
token: | |
type: string | |
description: > | |
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 | |
x-linode-cli-display: 5 | |
expiry: | |
type: string | |
format: date-time | |
description: > | |
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. | |
x-linode-cli-display: 6 | |
example: '2018-01-01T13:46:32' | |
Profile: | |
type: object | |
description: > | |
A Profile represents your User in our system. This is where you can change | |
information about your User. This information is available to any OAuth Client | |
regardless of requested scopes, and can be used to populate User information | |
in third-party applications. | |
properties: | |
uid: | |
type: integer | |
description: > | |
Your unique ID in our system. This value will never change, and can | |
safely be used to identify your User. | |
example: 1234 | |
readOnly: true | |
username: | |
type: string | |
description: > | |
Your username, used for logging in to our system. | |
example: exampleUser | |
readOnly: true | |
x-linode-cli-display: 1 | |
email: | |
type: string | |
format: email | |
description: > | |
Your email address. This address will be used for communication with Linode | |
as necessary. | |
example: [email protected] | |
x-linode-cli-display: 2 | |
timezone: | |
type: string | |
description: > | |
The timezone you prefer to see times in. This is not used by the API, and is | |
for the benefit of clients only. All times the API returns are in UTC. | |
example: US/Eastern | |
email_notifications: | |
type: boolean | |
description: > | |
If true, you will receive email notifications about account activity. If false, | |
you may still receive business-critical communications through email. | |
example: true | |
referrals: | |
type: object | |
description: > | |
Information about your status in our referral program. | |
readOnly: true | |
properties: | |
code: | |
type: string | |
description: > | |
Your referral code. If others use this when signing up for Linode, you will | |
receive account credit. | |
example: 871be32f49c1411b14f29f618aaf0c14637fb8d3 | |
readOnly: true | |
url: | |
type: string | |
format: url | |
description: > | |
Your referral url, used to direct others to sign up for Linode with your referral | |
code. | |
example: https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3 | |
readOnly: true | |
total: | |
type: integer | |
description: > | |
The number of users who have signed up with your referral code. | |
example: 0 | |
readOnly: true | |
completed: | |
type: integer | |
description: > | |
The number of completed signups with your referral code. | |
example: 0 | |
readOnly: true | |
pending: | |
type: integer | |
description: > | |
The number of pending signups with your referral code. You will not receive | |
credit for these signups until they are completed. | |
example: 0 | |
readOnly: true | |
credit: | |
type: integer | |
description: > | |
The amount of account credit in US Dollars issued to you through | |
the referral program. | |
example: 0 | |
readOnly: true | |
ip_whitelist_enabled: | |
deprecated: true | |
type: boolean | |
description: > | |
If true, logins for your User will only be allowed from whitelisted IPs. | |
This setting is currently deprecated, and cannot be enabled. | |
If you disable this setting, you will not be able to re-enable it. | |
example: false | |
lish_auth_method: | |
type: string | |
enum: | |
- password_keys | |
- keys_only | |
- disabled | |
description: > | |
What methods of authentication are allowed when connecting via | |
Lish. "keys_only" is the most secure if you intend to use Lish, | |
and "disabled" is recommended if you do not intend to use Lish at | |
all. | |
example: keys_only | |
authorized_keys: | |
type: array | |
items: | |
type: string | |
format: ssh-key | |
description: > | |
The list of SSH Keys authorized to use Lish for your User. This value is ignored if | |
`lish_auth_method` is "disabled." | |
example: null | |
two_factor_auth: | |
type: boolean | |
description: > | |
If true, logins from untrusted computers will require Two Factor | |
Authentication. See [/profile/tfa-enable](/#operation/tfaEnable) to | |
enable Two Factor Authentication. | |
example: true | |
x-linode-cli-display: 4 | |
restricted: | |
type: boolean | |
description: > | |
If true, your User has restrictions on what can be accessed on your | |
Account. To get details on what entities/actions you can | |
access/perform, see [/profile/grants](/#operation/getProfileGrants). | |
example: false | |
x-linode-cli-display: 3 | |
Region: | |
type: object | |
description: An area where Linode services are available. | |
properties: | |
id: | |
readOnly: true | |
type: string | |
description: The unique ID of this Region. | |
example: us-east | |
x-linode-cli-display: 1 | |
country: | |
type: string | |
description: The country where this Region resides. | |
example: us | |
readOnly: true | |
x-linode-cli-display: 2 | |
RescueDevices: | |
type: object | |
properties: | |
sda: | |
$ref: '#/components/schemas/Device' | |
sdb: | |
$ref: '#/components/schemas/Device' | |
sdc: | |
$ref: '#/components/schemas/Device' | |
sdd: | |
$ref: '#/components/schemas/Device' | |
sde: | |
$ref: '#/components/schemas/Device' | |
sdf: | |
$ref: '#/components/schemas/Device' | |
sdg: | |
$ref: '#/components/schemas/Device' | |
StackScript: | |
type: object | |
description: > | |
A StackScript enables you to quickly deploy a | |
fully-configured application in an automated manner. | |
properties: | |
id: | |
type: integer | |
description: The unique ID of this StackScript. | |
example: 10079 | |
readOnly: true | |
x-linode-cli-display: 1 | |
username: | |
type: string | |
description: > | |
The User who created the StackScript. | |
example: myuser | |
readOnly: true | |
x-linode-cli-display: 2 | |
user_gravatar_id: | |
type: string | |
description: > | |
The Gravatar ID for the User who created the StackScript. | |
example: a445b305abda30ebc766bc7fda037c37 | |
readOnly: true | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The StackScript's label is for display purposes only. | |
example: a-stackscript | |
minLength: 3 | |
maxLength: 128 | |
x-linode-cli-display: 3 | |
description: | |
x-linode-filterable: true | |
type: string | |
description: > | |
A description for the StackScript. | |
example: > | |
This StackScript installs and configures MySQL | |
images: | |
type: array | |
x-linode-filterable: true | |
description: > | |
An array of Image IDs representing the Images that this StackScript | |
is compatible for deploying with. | |
items: | |
type: string | |
example: | |
- linode/debian9 | |
- linode/debian8 | |
x-linode-cli-display: 4 | |
deployments_total: | |
type: integer | |
description: > | |
The total number of times this StackScript has been deployed. | |
example: 12 | |
readOnly: true | |
deployments_active: | |
type: integer | |
description: > | |
Count of currently active, deployed Linodes created from | |
this StackScript. | |
example: 1 | |
readOnly: true | |
is_public: | |
x-linode-filterable: true | |
type: boolean | |
description: > | |
This determines whether other users can use your StackScript. | |
**Once a StackScript is made public, it cannot be made private.** | |
example: true | |
x-linode-cli-display: 5 | |
created: | |
type: string | |
format: date-time | |
description: > | |
The date this StackScript was created. | |
readOnly: true | |
example: "2018-01-01T00:01:01" | |
x-linode-cli-display: 6 | |
updated: | |
type: string | |
format: date-time | |
description: > | |
The date this StackScript was last updated. | |
readOnly: true | |
example: "2018-01-01T00:01:01" | |
x-linode-cli-display: 7 | |
rev_note: | |
x-linode-filterable: true | |
type: string | |
description: > | |
This field allows you to add notes for the set of revisions made to | |
this StackScript. | |
example: Set up MySQL | |
script: | |
type: string | |
description: > | |
The script to execute when provisioning a new Linode with this Stackscript. | |
example: > | |
"#!/bin/bash" | |
user_defined_fields: | |
type: array | |
description: > | |
This is a list of fields defined with a special syntax inside this StackScript | |
that allow for supplying customized parameters during deployment. See | |
[Variables and UDFs](https://www.linode.com/docs/platform/stackscripts/#variables-and-udfs) | |
for more information. | |
items: | |
$ref: '#/components/schemas/UserDefinedField' | |
readOnly: true | |
example: | |
label: Enter the DB password | |
name: DB_PASSWORD | |
example: hunter2 | |
SupportTicket: | |
type: object | |
description: > | |
A Support Ticket opened on your Account. | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: > | |
The ID of the Support Ticket. | |
example: 11223344 | |
x-linode-cli-display: 1 | |
attachments: | |
type: array | |
description: > | |
A list of filenames representing attached files associated | |
with this Ticket. | |
readOnly: true | |
items: | |
type: string | |
example: | |
- screenshot.jpg | |
- screenshot.txt | |
closed: | |
x-linode-filterable: true | |
type: string | |
format: date-time | |
readOnly: true | |
description: > | |
The date and time this Ticket was closed. | |
example: '2015-06-04T16:07:03' | |
description: | |
type: string | |
readOnly: true | |
description: > | |
The full details of the issue or question. | |
minLength: 1 | |
maxLength: 65000 | |
example: > | |
I'm having trouble setting the root password on my Linode. | |
I tried following the instructions but something is not | |
working and I'm not sure what I'm doing wrong. Can you please | |
help me figure out how I can reset it? | |
x-linode-cli-display: 5 | |
entity: | |
type: object | |
readOnly: true | |
description: > | |
The entity this Ticket was opened for. | |
x-linode-cli-display: 6 | |
properties: | |
id: | |
type: integer | |
readOnly: true | |
description: > | |
The unique ID for this Ticket's entity. | |
example: 10400 | |
label: | |
type: string | |
readOnly: true | |
description: > | |
The current label of this entity. | |
example: linode123456 | |
type: | |
type: string | |
readOnly: true | |
description: > | |
The type of entity this is related to. | |
example: linode | |
url: | |
type: string | |
readOnly: true | |
description: > | |
The URL where you can access the object this event is | |
for. If a relative URL, it is relative to the domain you | |
retrieved the entity from. | |
example: /v4/linode/instances/123456 | |
gravatar_id: | |
type: string | |
readOnly: true | |
description: > | |
The Gravatar ID of the User who opened this Ticket. | |
example: 474a1b7373ae0be4132649e69c36ce30 | |
opened: | |
x-linode-filterable: true | |
type: string | |
format: date-time | |
readOnly: true | |
description: > | |
The date and time this Ticket was created. | |
example: '2015-06-04T14:16:44' | |
x-linode-cli-display: 4 | |
opened_by: | |
type: string | |
readOnly: true | |
description: > | |
The User who opened this Ticket. | |
example: some_user | |
x-linode-cli-display: 3 | |
status: | |
type: string | |
readOnly: true | |
description: The current status of this Ticket. | |
enum: | |
- closed | |
- new | |
- open | |
example: open | |
summary: | |
type: string | |
readOnly: true | |
minLength: 1 | |
maxLength: 64 | |
description: > | |
The summary or title for this Ticket. | |
example: > | |
Having trouble resetting root password on my Linode | |
x-linode-cli-display: 2 | |
updated: | |
x-linode-filterable: true | |
type: string | |
format: date-time | |
readOnly: true | |
description: > | |
The date and time this Ticket was last updated. | |
example: '2015-06-04T16:07:03' | |
updated_by: | |
type: string | |
readOnly: true | |
description: > | |
The User who last updated this Ticket. | |
example: some_other_user | |
SupportTicketReply: | |
type: object | |
description: > | |
An object representing a reply to a Support Ticket. | |
properties: | |
created: | |
type: string | |
format: date-time | |
readOnly: true | |
description: > | |
The date and time this Ticket reply was created. | |
example: '2015-06-02T14:31:41' | |
x-linode-cli-display: 3 | |
created_by: | |
type: string | |
readOnly: true | |
description: > | |
The User who submitted this reply. | |
example: John Q. Linode | |
x-linode-cli-display: 2 | |
description: | |
type: string | |
readOnly: true | |
description: > | |
The body of this Support Ticket reply. | |
example: > | |
Hello,\nI'm sorry to hear that you are having trouble resetting the | |
root password of your Linode. Just to be sure, have you tried to | |
follow the instructions in our online documentation? The link is here:\n | |
\nhttps://linode.com/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/ | |
\n\nIf you have, please reply with any additional steps you have also | |
taken.\n\nRegards, Linode Support Team | |
from_linode: | |
type: boolean | |
readOnly: true | |
description: > | |
If set to true, this reply came from a Linode employee. | |
example: true | |
gravatar_id: | |
type: string | |
readOnly: true | |
description: > | |
The Gravatar ID of the User who created this reply. | |
example: 474a1b7373ae0be4132649e69c36ce30 | |
id: | |
type: integer | |
readOnly: true | |
description: > | |
The unique ID of this Support Ticket reply. | |
example: 11223345 | |
x-linode-cli-display: 1 | |
SupportTicketRequest: | |
type: object | |
required: | |
- summary | |
- description | |
description: > | |
An object representing a created Support Ticket - a question or issue | |
and request for help from the Linode support team. | |
Only one of the ID attributes (`linode_id`, `domain_id`, etc.) can be set | |
on a single Support Ticket. | |
properties: | |
description: | |
type: string | |
description: > | |
The full details of the issue or question. | |
minLength: 1 | |
maxLength: 65000 | |
example: > | |
I'm having trouble setting the root password on my Linode. | |
I tried following the instructions but something is not | |
working and I'm not sure what I'm doing wrong. Can you please | |
help me figure out how I can reset it? | |
domain_id: | |
type: integer | |
description: > | |
The ID of the Domain this ticket is regarding, if relevant. | |
example: null | |
linode_id: | |
type: integer | |
description: > | |
The ID of the Linode this ticket is regarding, if relevant. | |
example: 123 | |
longviewclient_id: | |
type: integer | |
description: > | |
The ID of the Longview client this ticket is regarding, if relevant. | |
example: null | |
nodebalancer_id: | |
type: integer | |
description: > | |
The ID of the NodeBalancer this ticket is regarding, if relevant. | |
example: null | |
summary: | |
type: string | |
minLength: 1 | |
maxLength: 64 | |
description: > | |
The summary or title for this SupportTicket. | |
example: > | |
Having trouble resetting root password on my Linode | |
volume_id: | |
type: integer | |
description: > | |
The ID of the Volume this ticket is regarding, if relevant. | |
example: null | |
Transfer: | |
type: object | |
description: > | |
An object representing your network utilization for the current month, | |
in Gigabytes. | |
properties: | |
billable: | |
type: integer | |
readOnly: true | |
description: > | |
The amount of your transfer pool that is billable this billing cycle. | |
example: 0 | |
x-linode-cli-display: 3 | |
quota: | |
type: integer | |
readOnly: true | |
description: > | |
The amount of network usage allowed this billing cycle. | |
example: 9141 | |
x-linode-cli-display: 1 | |
used: | |
type: integer | |
readOnly: true | |
description: > | |
The amount of network usage you have used this billing cycle. | |
example: 2 | |
x-linode-cli-display: 2 | |
User: | |
type: object | |
description: > | |
A User on your Account. Unrestricted users can log in and access information about | |
your Account, while restricted users may only access entities or perform | |
actions they've been granted access to. | |
properties: | |
username: | |
type: string | |
pattern: ^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$ | |
minLength: 3 | |
maxLength: 32 | |
description: > | |
This User's username. This is used for logging in, and may also be | |
displayed alongside actions the User performs (for example, in Events | |
or public StackScripts). | |
x-linode-filterable: true | |
example: example_user | |
x-linode-cli-display: 1 | |
email: | |
type: string | |
format: email | |
description: > | |
The email address for this User, for account management | |
communications, and may be used for other communications as configured. | |
example: [email protected] | |
readOnly: true | |
x-linode-cli-display: 2 | |
restricted: | |
type: boolean | |
description: > | |
If true, this User must be granted access to perform actions or access | |
entities on this Account. See | |
[/account/users/{username}/grants](/#operation/getUserGrants) | |
for details on how to configure grants for a restricted User. | |
example: true | |
x-linode-cli-display: 3 | |
UserDefinedField: | |
type: object | |
required: | |
- label | |
- name | |
- example | |
description: > | |
A custom field defined by the User with a special syntax within a | |
StackScript. Derived from the contents of the script. | |
properties: | |
label: | |
type: string | |
description: > | |
A human-readable label for the field that will serve as the input | |
prompt for entering the value during deployment. | |
example: Enter the password | |
readOnly: true | |
name: | |
type: string | |
description: > | |
The name of the field. | |
example: DB_PASSWORD | |
readOnly: true | |
example: | |
type: string | |
description: > | |
An example value for the field. | |
example: hunter2 | |
readOnly: true | |
oneOf: | |
type: string | |
description: > | |
A list of acceptable single values for the field. | |
example: avalue,anothervalue,thirdvalue | |
readOnly: true | |
manyOf: | |
type: string | |
description: > | |
A list of acceptable values for the field in any quantity, | |
combination or order. | |
example: avalue,anothervalue,thirdvalue | |
readOnly: true | |
Volume: | |
type: object | |
required: | |
- label | |
description: > | |
A Block Storage Volume associated with your Account. | |
properties: | |
id: | |
type: integer | |
description: The unique ID of this Volume. | |
example: 12345 | |
readOnly: true | |
x-linode-cli-display: 1 | |
label: | |
x-linode-filterable: true | |
type: string | |
description: > | |
The Volume's label is for display purposes only. | |
example: my-volume | |
minLength: 1 | |
maxLength: 32 | |
pattern: '^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$' | |
x-linode-cli-display: 2 | |
filesystem_path: | |
type: string | |
description: > | |
The full filesystem path for the Volume based on the Volume's label. | |
Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label. | |
example: /dev/disk/by-id/scsi-0Linode_Volume_my-volume | |
readOnly: true | |
status: | |
type: string | |
description: > | |
Can be one of `creating`, `active`, `resizing`, `deleting`, | |
`deleted`, and `contact_support`: | |
* `creating` - the Volume is being created and is not yet available | |
for use. | |
* `active` - the Volume is online and available for use. | |
* `resizing` - the Volume is in the process of upgrading | |
its current capacity. | |
* `deleting` - the Volume is being deleted and is unavailable for use. | |
* `deleted` - the Volume has been deleted. | |
* `contact_support` - there is a problem with your Volume. Please | |
[open a Support Ticket](/#operation/createTicket) to resolve the issue. | |
enum: | |
- creating | |
- active | |
- resizing | |
- deleting | |
- deleted | |
- contact_support | |
example: active | |
readOnly: true | |
x-linode-cli-display: 3 | |
x-linode-cli-color: | |
active: green | |
contact_support: red | |
default_: yellow | |
size: | |
type: integer | |
description: > | |
The Volume's size, in GiB. Minimum size is 10GiB, maximum size is 10240GiB. | |
minimum: 10 | |
maximum: 10240 | |
x-linode-cli-display: 4 | |
example: 30 | |
region: | |
$ref: '#/components/schemas/Region/properties/id' | |
x-linode-cli-display: 5 | |
linode_id: | |
type: integer | |
description: > | |
If a Volume is attached to a specific Linode, the ID of that Linode | |
will be displayed here. | |
example: 12346 | |
x-linode-cli-display: 6 | |
created: | |
type: string | |
format: date-time | |
description: When this Volume was created. | |
example: '2018-01-01T00:01:01' | |
readOnly: true | |
updated: | |
type: string | |
format: date-time | |
description: When this Volume was last updated. | |
example: '2018-01-01T00:01:01' | |
readOnly: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment