Skip to content

Commit 5a4a37b

Browse files
authored
Merge pull request #312 from linode/release-4.73.0
Release 4.73.0
2 parents f47b63b + a4d0999 commit 5a4a37b

File tree

1 file changed

+203
-16
lines changed

1 file changed

+203
-16
lines changed

openapi.yaml

Lines changed: 203 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
openapi: 3.0.1
22
info:
3-
version: 4.72.0
3+
version: 4.73.0
44

55
title: Linode API
66
description: |
7-
# Introduction
7+
## Introduction
88
The Linode API provides the ability to programmatically manage the full
99
range of Linode products and services.
1010

@@ -20,19 +20,19 @@ info:
2020
<a target="_top" href="https://developers.linode.com/api/docs/v4/openapi.yaml">Download the Linode OpenAPI Specification</a>.
2121

2222

23-
# Changelog
23+
## Changelog
2424

2525
<a target="_top" href="https://developers.linode.com/changelog">View our Changelog</a> to see release
2626
notes on all changes made to our API.
2727

28-
# Access and Authentication
28+
## Access and Authentication
2929

3030
Some endpoints are publicly accessible without requiring authentication.
3131
All endpoints affecting your Account, however, require either a Personal
3232
Access Token or OAuth authentication (when using third-party
3333
applications).
3434

35-
## Personal Access Token
35+
### Personal Access Token
3636

3737
The easiest way to access the API is with a Personal Access Token (PAT)
3838
generated from the
@@ -42,13 +42,13 @@ info:
4242
All scopes for the OAuth security model ([defined below](#o-auth)) apply to this
4343
security model as well.
4444

45-
### Authentication
45+
#### Authentication
4646

4747
| Security Scheme Type: | HTTP |
4848
|-----------------------|------|
4949
| **HTTP Authorization Scheme** | bearer |
5050

51-
## OAuth
51+
### OAuth
5252
If you only need to access the Linode API for personal use,
5353
we recommend that you create a [personal access token](#personal-access-token).
5454
If you're designing an application that can authenticate with an arbitrary Linode user, then
@@ -65,7 +65,7 @@ info:
6565
- A public client is used with applications where the client secret is not guaranteed to be secure. For example, a native app running on a user's computer may not be able to keep the client secret safe, as a user could potentially inspect the source of the application. So, native apps or apps that run in a user's browser should use a public client.
6666
- Public and private clients follow different workflows, as described below.
6767

68-
### OAuth Workflow
68+
#### OAuth Workflow
6969

7070
The OAuth workflow is a series of exchanges between your third-party app and Linode. The workflow is used
7171
to authenticate a user before an application can start making API calls on the user's behalf.
@@ -86,7 +86,7 @@ info:
8686
| 6. The login server responds to the client application with a new OAuth `access_token` and `refresh_token`. The `access_token` is set to expire in two hours. | |
8787
| 7. The `refresh_token` can be used by contacting the login server with the `client_id`, `client_secret`, `grant_type`, and `refresh_token` to get a new OAuth `access_token` and `refresh_token`. The new `access_token` is good for another two hours, and the new `refresh_token`, can be used to extend the session again by this same method. | |
8888

89-
### OAuth Private Workflow - Additional Details
89+
#### OAuth Private Workflow - Additional Details
9090

9191
The following information expands on steps 5 through 7 of the private workflow:
9292

@@ -126,15 +126,15 @@ info:
126126
Authorization: Bearer 03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c
127127
```
128128

129-
### OAuth Reference
129+
#### OAuth Reference
130130

131131
| Security Scheme Type | OAuth 2.0 |
132132
|-----------------------|--------|
133133
| **Authorization URL** | https://login.linode.com/oauth/authorize |
134134
| **Token URL** | https://login.linode.com/oauth/token |
135135
| **Scopes** | <ul><li>`account:read_only` - Allows access to GET information about your Account.</li><li>`account:read_write` - Allows access to all endpoints related to your Account.</li><li>`domains:read_only` - Allows access to GET Domains on your Account.</li><li>`domains:read_write` - Allows access to all Domain endpoints.</li><li>`events:read_only` - Allows access to GET your Events.</li><li>`events:read_write` - Allows access to all endpoints related to your Events.</li><li>`images:read_only` - Allows access to GET your Images.</li><li>`images:read_write` - Allows access to all endpoints related to your Images.</li><li>`ips:read_only` - Allows access to GET your ips.</li><li>`ips:read_write` - Allows access to all endpoints related to your ips.</li><li>`linodes:read_only` - Allows access to GET Linodes on your Account.</li><li>`linodes:read_write` - Allow access to all endpoints related to your Linodes.</li><li>`lke:read_only` - Allows access to GET LKE Clusters on your Account.</li><li>`lke:read_write` - Allows access to all endpoints related to LKE Clusters on your Account.</li><li>`longview:read_only` - Allows access to GET your Longview Clients.</li><li>`longview:read_write` - Allows access to all endpoints related to your Longview Clients.</li><li>`nodebalancers:read_only` - Allows access to GET NodeBalancers on your Account.</li><li>`nodebalancers:read_write` - Allows access to all NodeBalancer endpoints.</li><li>`stackscripts:read_only` - Allows access to GET your StackScripts.</li><li>`stackscripts:read_write` - Allows access to all endpoints related to your StackScripts.</li><li>`volumes:read_only` - Allows access to GET your Volumes.</li><li>`volumes:read_write` - Allows access to all endpoints related to your Volumes.</li></ul><br />|
136136

137-
# Requests
137+
## Requests
138138

139139
Requests must be made over HTTPS to ensure transactions are encrypted. The
140140
following Request methods are supported:
@@ -147,7 +147,7 @@ info:
147147
| DELETE | Deletes a resource. This is a destructive action. |
148148

149149

150-
# Responses
150+
## Responses
151151

152152
Actions will return one following HTTP response status codes:
153153

@@ -162,7 +162,7 @@ info:
162162
| 429 Too Many Requests | You've hit a rate limit. |
163163
| 500 Internal Server Error | Please [open a Support Ticket](/api/v4/support-tickets/#post). |
164164

165-
# Errors
165+
## Errors
166166

167167
Success is indicated via <a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes" target="_top">Standard HTTP status codes</a>.
168168
`2xx` codes indicate success, `4xx` codes indicate a request error, and
@@ -186,7 +186,7 @@ info:
186186
omitted if there is no relevant field. The `reason` is a human-readable
187187
explanation of the error, and will always be included.
188188

189-
# Pagination
189+
## Pagination
190190

191191
Resource lists are always paginated. The response will look similar to this:
192192

@@ -208,7 +208,7 @@ info:
208208
and can be set to return between 25 and 500. Page size can be set using
209209
`?page_size=x`.
210210

211-
# Filtering and Sorting
211+
## Filtering and Sorting
212212

213213
Collections are searchable by fields they include, marked in the spec as
214214
`x-linode-filterable: true`. Filters are passed
@@ -323,7 +323,42 @@ info:
323323
}'
324324
```
325325

326-
# CLI (Command Line Interface)
326+
## Rate Limiting
327+
328+
With the Linode API, you can make up to 1,600 general API requests every two minutes per user as
329+
determined by IP adddress or by OAuth token. Additionally, there are endpoint specfic limits defined below.
330+
331+
**Note:** There may be rate limiting applied at other levels outside of the API, for example, at the load balancer.
332+
333+
`/stats` endpoints have their own dedicated limits of 100 requests per minute per user.
334+
These endpoints are:
335+
336+
* [View Linode Statistics](https://api.linode.com/v4/linode/instances/{linodeId}/stats)
337+
* [View Linode Statistics (year/month)](https://api.linode.com/v4/linode/instances/{linodeId}/stats/{year}/{month})
338+
* [View NodeBalancer Statistics](https://api.linode.com/v4/nodebalancers/{nodeBalancerId}/stats)
339+
* [List Managed Stats](https://api.linode.com/v4/managed/stats)
340+
341+
Object Storage endpoints have a dedicated limit of 750 requests per second per user.
342+
These endpoints are:
343+
344+
* [List and Create Object Storage Buckets](https://developers.linode.com/api/v4/object-storage-buckets)
345+
* [View and Remove Object Storage Buckets](https://developers.linode.com/api/v4/object-storage-buckets-cluster-id-bucket)
346+
* [List Object Storage Buckets in Cluster](https://developers.linode.com/api/v4/object-storage-buckets-cluster-id)
347+
* [Modify Object Storage Bucket Access](https://developers.linode.com/api/v4/object-storage-buckets-cluster-id-bucket-access/#post)
348+
* [List Object Storage Bucket Contents](https://developers.linode.com/api/v4/object-storage-buckets-cluster-id-bucket-object-list)
349+
* [Create Object Storage Object URL](https://developers.linode.com/api/v4/object-storage-buckets-cluster-id-bucket-object-url/#post)
350+
* [List Clusters](https://developers.linode.com/api/v4/object-storage-clusters)
351+
* [View Cluster](https://developers.linode.com/api/v4/object-storage-clusters-cluster-id)
352+
* [List and Create Object Storage Keys](https://developers.linode.com/api/v4/object-storage-keys)
353+
* [View, Update, and Revoke an Object Storage Key](https://developers.linode.com/api/v4/object-storage-keys-key-id)
354+
* [Cancel Object Storage](https://developers.linode.com/api/v4/object-storage-cancel/#post)
355+
356+
Opening Support Tickets has a dedicated limit of 2 requests per minute per user.
357+
That endpoint is:
358+
359+
* [Open Support Ticket](https://developers.linode.com/api/v4/support-tickets/#post)
360+
361+
## CLI (Command Line Interface)
327362

328363
The <a href="https://github.com/linode/linode-cli" target="_top">Linode CLI</a> allows you to easily
329364
work with the API using intuitive and simple syntax. It requires a
@@ -958,6 +993,61 @@ paths:
958993
- lang: CLI
959994
source: >
960995
linode-cli account login-view 1234
996+
/account/maintenance:
997+
x-linode-cli-command: maintenance
998+
get:
999+
x-linode-grant: read_only
1000+
servers:
1001+
- url: https://api.linode.com/v4beta
1002+
tags:
1003+
- Account
1004+
summary: List Maintenance
1005+
description: >
1006+
Returns a collection of Maintenance objects for any entity
1007+
a user has permissions to view.
1008+
1009+
1010+
Currently, Linodes are the only entities available for viewing.
1011+
1012+
1013+
**Beta**: This endpoint is in beta. Please make sure to prepend all requests with
1014+
`/v4beta` instead of `/v4`, and be aware that this endpoint may receive breaking
1015+
updates in the future. This notice will be removed when this endpoint is out of
1016+
beta.
1017+
operationId: getMaintenance
1018+
x-linode-cli-action: maintenance-list
1019+
security:
1020+
- personalAccessToken: []
1021+
- oauth:
1022+
- maintenance:read_only
1023+
responses:
1024+
'200':
1025+
description: Returns a paginated list of Maintenance objects.
1026+
content:
1027+
application/json:
1028+
schema:
1029+
type: object
1030+
properties:
1031+
data:
1032+
type: array
1033+
items:
1034+
$ref: '#/components/schemas/Maintenance'
1035+
page:
1036+
$ref: '#/components/schemas/PaginationEnvelope/properties/page'
1037+
pages:
1038+
$ref: '#/components/schemas/PaginationEnvelope/properties/pages'
1039+
results:
1040+
$ref: '#/components/schemas/PaginationEnvelope/properties/results'
1041+
default:
1042+
$ref: '#/components/responses/ErrorResponse'
1043+
x-code-samples:
1044+
- lang: Shell
1045+
source: >
1046+
curl -H "Authorization: Bearer $TOKEN" \
1047+
https://api.linode.com/v4beta/account/maintenance
1048+
- lang: CLI
1049+
source: >
1050+
linode-cli account maintenance-list
9611051
/account/notifications:
9621052
x-linode-cli-command: account
9631053
get:
@@ -16393,6 +16483,68 @@ components:
1639316483
endpoint to receive the details of each plan.
1639416484
example: longview-10
1639516485
x-linode-cli-display: 1
16486+
Maintenance:
16487+
type: object
16488+
description: >
16489+
Information about maintenance affecting an entity.
16490+
properties:
16491+
type:
16492+
x-linode-filterable: true
16493+
type: string
16494+
enum:
16495+
- reboot
16496+
- cold_migration
16497+
- live_migration
16498+
description: >
16499+
The type of maintenance.
16500+
example: reboot
16501+
status:
16502+
x-linode-filterable: true
16503+
type: string
16504+
enum:
16505+
- pending
16506+
- ready
16507+
- started
16508+
- completed
16509+
description: >
16510+
The maintenance status.
16511+
example: started
16512+
reason:
16513+
type: string
16514+
description: >
16515+
The reason maintenance is being performed.
16516+
example: This maintenance will allow us to update the BIOS on the host’s motherboard.
16517+
when:
16518+
type: string
16519+
description: >
16520+
When the maintenance will begin.
16521+
format: date-time
16522+
example: 2020-07-09T00:01:01
16523+
entity:
16524+
type: object
16525+
description: >
16526+
The entity being affected by maintenance.
16527+
properties:
16528+
label:
16529+
type: string
16530+
description: >
16531+
The label of the entity being affected by maintenance.
16532+
example: demo-linode
16533+
id:
16534+
type: number
16535+
description: >
16536+
The id of the entity being affected by maintenance.
16537+
example: 1234
16538+
type:
16539+
type: string
16540+
description: >
16541+
The type of entity.
16542+
example: Linode
16543+
url:
16544+
type: string
16545+
description: >
16546+
The API endpoint prefix to use in combination with the entity id to find specific information about the entity.
16547+
example: https://api.linode.com/v4/linode/instances/{linodeId}
1639616548
ManagedContact:
1639716549
type: object
1639816550
description: >
@@ -18736,3 +18888,38 @@ components:
1873618888
example:
1873718889
- example tag
1873818890
- another example
18891+
tags:
18892+
- name: Account
18893+
description: Use the Account endpoints to manage user settings, billing, and payments. You can also initiate and maintain OAuth client application authentication, enable the Linode Managed service, and create new users on your account.
18894+
- name: Domains
18895+
description: Use the Domains endpoints to create and manage domains and domain records on your account.
18896+
- name: Images
18897+
description: Use the Images endpoints to capture, store, and manage custom Linode images.
18898+
- name: Linode Instances
18899+
description: Use the Linode Instances endpoints to create, configure, and manage your Linode instances. You can also manage the Linode Backup service; maintain and manage configuration profiles; create and maintain disks, intiate a host migration; view Linode Instance statistics; and more.
18900+
- name: Linode Types
18901+
description: Use the Linode Types endpoints to retrieve information about Linode plan types, including pricing information, hardware resources, and network transfer allotment.
18902+
- name: Linode Kubernetes Engine (LKE)
18903+
description: Linode Kubernetes Engine (LKE) is Linode’s managed Kubernetes service. Use the LKE endpoints to create and manage Kubernetes clusters and their associated Node Pools.
18904+
- name: Longview
18905+
description: Longview is Linode’s system-level monitoring and graphing service. Use the Longview endpoints to manage your Longview subscription and plan and to create and maintain Longview clients.
18906+
- name: Managed
18907+
description: Managed is Linode’s incident response service. Use the Managed endpoints to register a service to be monitored by the Managed Service team, provide secure access to your managed services, view information about detected issues, and more.
18908+
- name: Networking
18909+
description: Use the Networking endpoints to view all IP addresses on your account, reorganize assigned IPv4 addresses, update RDNS, and configure IP sharing.
18910+
- name: NodeBalancers
18911+
description: NodeBalancers is Linode’s load balancing service. Use the NodeBalancers endpoints to create and manage NodeBalancers. You can also create and maintain configurations; create and maintain nodes, and view statistics.
18912+
- name: Object Storage
18913+
description: Object Storage is Linode’s S3-compatible data storage service. Use the Object Storage endpoints to create and maintaining buckets, add and remove objects from buckets, create and maintain Object Storage keys, and cancel the Object Storage service.
18914+
- name: Profile
18915+
description: Use the Profile endpoints to manage your Linode user profile preferences and security settings. This includes creating and maintaining personal access tokens, creating and maintaining SSH keys, confirming and enabling two-factor authentication, and updating user and profile preferences.
18916+
- name: Regions
18917+
description: Use the Regions endpoints to view information about the various Linode data center regions, including the service capabilities for each region, country, status, and more.
18918+
- name: StackScripts
18919+
description: Linode StackScripts allow you to create reusable scripts to configure new Linode instances. Use the StackScripts endpoints to create and manage StackScripts on your account.
18920+
- name: Support
18921+
description: Use the Support endpoints to open, view, and close Linode Support tickets. You can also create and manage your Support ticket replies.
18922+
- name: Tags
18923+
description: Tags allow you to organize and group your various Linode services. Use the Tags endpoints to create, assign, and delete your account tags.
18924+
- name: Volumes
18925+
description: Volumes is Linode’s block storage service. Use the Volumes endpoints to create, attach, and manage your account Volumes.

0 commit comments

Comments
 (0)