Filters
Account v4.83.1
Account View
Returns the contact and billing information related to your Account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account
linode-cli account view
Response Samples
{
"active_promotions": [
{
"credit_monthly_cap": "10.00",
"credit_remaining": "50.00",
"description": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.",
"expire_dt": "2018-01-31T23:59:59",
"image_url": "https://linode.com/10_a_month_promotion.svg",
"summary": "$10 off your Linode a month!",
"this_month_credit_remaining": "10.00"
}
],
"active_since": "2018-01-01T00:01:01",
"address_1": "123 Main Street",
"address_2": "Suite A",
"balance": 200,
"balance_uninvoiced": 145,
"capabilities": [
"Linodes",
"NodeBalancers",
"Block Storage",
"Object Storage"
],
"city": "Philadelphia",
"company": "Linode LLC",
"country": "US",
"credit_card": {
"expiry": "11/2022",
"last_four": 1111
},
"email": "john.smith@linode.com",
"euuid": "E1AF5EEC-526F-487D-B317EBEB34C87D71",
"first_name": "John",
"last_name": "Smith",
"phone": "215-555-1212",
"state": "Pennsylvania",
"tax_id": "ATU99999999",
"zip": 19102
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
active_promotions | array of objects
| ||||||||||||||
active_since | string <date-time> The datetime of when the account was activated. | ||||||||||||||
address_1 | string
<= 64
charactersFirst line of this Account’s billing address. | ||||||||||||||
address_2 | string
<= 64
charactersSecond line of this Account’s billing address. | ||||||||||||||
balance | number This Account’s balance, in US dollars. | ||||||||||||||
balance_uninvoiced | number This Account’s current estimated invoice in US dollars. This is not your final invoice balance. Bandwidth charges are not included in the estimate. | ||||||||||||||
capabilities | array of strings A list of capabilities your account supports. | ||||||||||||||
city | string
<= 24
charactersThe city for this Account’s billing address. | ||||||||||||||
company | string
<= 128
charactersThe company name associated with this Account. | ||||||||||||||
country | string
2..2
charactersThe two-letter country code of this Account’s billing address. | ||||||||||||||
credit_card | object Credit Card information associated with this Account.
| ||||||||||||||
email | string
<= 128
charactersThe email address of the person associated with this Account. | ||||||||||||||
euuid | string <uuid> An external unique identifier for this account. | ||||||||||||||
first_name | string
<= 50
charactersThe first name of the person associated with this Account. | ||||||||||||||
last_name | string
<= 50
charactersThe last name of the person associated with this Account. | ||||||||||||||
phone | string
<= 32
charactersThe phone number associated with this Account. | ||||||||||||||
state | string
<= 24
charactersIf 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. | ||||||||||||||
tax_id | string
<= 100
charactersThe 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 | ||||||||||||||
zip | string
<= 16
charactersThe zip code of this Account’s billing address. |
errors | array of objects
|
Account Update
Updates contact and billing information related to your Account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
active_promotions | array of objects
| ||||||||||||||
address_1 | string
<= 64
charactersFirst line of this Account’s billing address. | ||||||||||||||
address_2 | string
<= 64
charactersSecond line of this Account’s billing address. | ||||||||||||||
city | string
<= 24
charactersThe city for this Account’s billing address. | ||||||||||||||
company | string
<= 128
charactersThe company name associated with this Account. | ||||||||||||||
country | string
2..2
charactersThe two-letter country code of this Account’s billing address. | ||||||||||||||
email | string
<= 128
charactersThe email address of the person associated with this Account. | ||||||||||||||
first_name | string
<= 50
charactersThe first name of the person associated with this Account. | ||||||||||||||
last_name | string
<= 50
charactersThe last name of the person associated with this Account. | ||||||||||||||
phone | string
<= 32
charactersThe phone number associated with this Account. | ||||||||||||||
state | string
<= 24
charactersIf 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. | ||||||||||||||
tax_id | string
<= 100
charactersThe 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 | ||||||||||||||
zip | string
<= 16
charactersThe zip code of this Account’s billing address. |
Request Samples
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": "jsmith@mycompany.com",
"first_name": "John",
"last_name": "Smith",
"phone": "555-555-1212",
"state": "PA",
"zip": 19102,
}
}' \
https://api.linode.com/v4/account
linode-cli account update \
--first_name John \
--last_name Smith
Response Samples
{
"active_promotions": [
{
"credit_monthly_cap": "10.00",
"credit_remaining": "50.00",
"description": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.",
"expire_dt": "2018-01-31T23:59:59",
"image_url": "https://linode.com/10_a_month_promotion.svg",
"summary": "$10 off your Linode a month!",
"this_month_credit_remaining": "10.00"
}
],
"active_since": "2018-01-01T00:01:01",
"address_1": "123 Main Street",
"address_2": "Suite A",
"balance": 200,
"balance_uninvoiced": 145,
"capabilities": [
"Linodes",
"NodeBalancers",
"Block Storage",
"Object Storage"
],
"city": "Philadelphia",
"company": "Linode LLC",
"country": "US",
"credit_card": {
"expiry": "11/2022",
"last_four": 1111
},
"email": "john.smith@linode.com",
"euuid": "E1AF5EEC-526F-487D-B317EBEB34C87D71",
"first_name": "John",
"last_name": "Smith",
"phone": "215-555-1212",
"state": "Pennsylvania",
"tax_id": "ATU99999999",
"zip": 19102
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
active_promotions | array of objects
| ||||||||||||||
active_since | string <date-time> The datetime of when the account was activated. | ||||||||||||||
address_1 | string
<= 64
charactersFirst line of this Account’s billing address. | ||||||||||||||
address_2 | string
<= 64
charactersSecond line of this Account’s billing address. | ||||||||||||||
balance | number This Account’s balance, in US dollars. | ||||||||||||||
balance_uninvoiced | number This Account’s current estimated invoice in US dollars. This is not your final invoice balance. Bandwidth charges are not included in the estimate. | ||||||||||||||
capabilities | array of strings A list of capabilities your account supports. | ||||||||||||||
city | string
<= 24
charactersThe city for this Account’s billing address. | ||||||||||||||
company | string
<= 128
charactersThe company name associated with this Account. | ||||||||||||||
country | string
2..2
charactersThe two-letter country code of this Account’s billing address. | ||||||||||||||
credit_card | object Credit Card information associated with this Account.
| ||||||||||||||
email | string
<= 128
charactersThe email address of the person associated with this Account. | ||||||||||||||
euuid | string <uuid> An external unique identifier for this account. | ||||||||||||||
first_name | string
<= 50
charactersThe first name of the person associated with this Account. | ||||||||||||||
last_name | string
<= 50
charactersThe last name of the person associated with this Account. | ||||||||||||||
phone | string
<= 32
charactersThe phone number associated with this Account. | ||||||||||||||
state | string
<= 24
charactersIf 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. | ||||||||||||||
tax_id | string
<= 100
charactersThe 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 | ||||||||||||||
zip | string
<= 16
charactersThe zip code of this Account’s billing address. |
errors | array of objects
|
Account Cancel
Cancels an active Linode account. This action will cause Linode to attempt to charge the credit card on file for the remaining balance. An error will occur if Linode fails to charge the credit card on file. Restricted users will not be able to cancel an account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
comments | string Any reason for cancelling the account, and any other comments you might have about your Linode service. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"comments": "I'm consolidating my accounts."
}
}' \
https://api.linode.com/v4/account/cancel
linode-cli account cancel \
--comments "I'm consolidating my accounts"
Response Samples
{
"survey_link": "https://alinktothesurvey.com"
}
{
"errors": [
{
"reason": "We were unable to charge your credit card for services rendered. We cannot cancel this account until the balance has been paid.\n"
}
]
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
survey_link | string A link to Linode’s exit survey. |
errors | array of objects
|
errors | array of objects
|
Credit Card Add/Edit
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
card_number Required | string
13..23
charactersYour credit card number. No spaces or dashes allowed. |
cvv Required | string The Card Verification Value on the back of the card. |
expiry_month Required | integer A value from 1-12 representing the expiration month of your credit card.
|
expiry_year Required | integer A four-digit integer representing the expiration year of your credit card.
The combination of |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"card_number": "4111111111111111",
"expiry_month": 11,
"expiry_year": 2020,
"cvv": "111"
}' \
https://api.linode.com/v4/account/credit-card
linode-cli account update-card \
--card_number 4111111111111111 \
--expiry_month 11 \
--expiry_year 2025 \
--cvv 111
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Events List
Returns a collection of Event objects representing actions taken on your Account from the last 90 days. The Events returned depend on your grants.
Authorizations
personalAccessToken | |
oauth | events:read_only |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/events
linode-cli events list
Response Samples
{
"data": [
{
"action": "ticket_create",
"created": "2018-01-01T00:01:01",
"duration": 300.56,
"entity": {
"id": 11111,
"label": "Problem booting my Linode",
"type": "ticket",
"url": "/v4/support/tickets/11111"
},
"id": 123,
"message": "None",
"percent_complete": null,
"rate": null,
"read": true,
"secondary_entity": {
"id": "linode/debian9",
"label": "linode1234",
"type": "linode",
"url": "/v4/linode/instances/1234"
},
"seen": true,
"status": null,
"time_remaining": null,
"username": "exampleUser"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||||||||||||||||||||||||||||||||||
page | integer | ||||||||||||||||||||||||||||||||||||||||||||
pages | integer | ||||||||||||||||||||||||||||||||||||||||||||
results | integer |
errors | array of objects
|
Event View
Returns a single Event object.
Authorizations
personalAccessToken | |
oauth | events:read_only |
Path Parameters
eventId | integer RequiredThe ID of the Event. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/events/123
linode-cli events view 123
Response Samples
{
"action": "ticket_create",
"created": "2018-01-01T00:01:01",
"duration": 300.56,
"entity": {
"id": 11111,
"label": "Problem booting my Linode",
"type": "ticket",
"url": "/v4/support/tickets/11111"
},
"id": 123,
"message": "None",
"percent_complete": null,
"rate": null,
"read": true,
"secondary_entity": {
"id": "linode/debian9",
"label": "linode1234",
"type": "linode",
"url": "/v4/linode/instances/1234"
},
"seen": true,
"status": null,
"time_remaining": null,
"username": "exampleUser"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
action Filterable | string Enum:
account_update
account_settings_update
backups_enable
backups_cancel
backups_restore
community_question_reply
community_like
credit_card_updated
disk_create
disk_delete
disk_update
disk_duplicate
disk_imagize
disk_resize
dns_record_create
dns_record_delete
dns_record_update
dns_zone_create
dns_zone_delete
dns_zone_import
dns_zone_update
firewall_create
firewall_delete
firewall_disable
firewall_enable
firewall_update
firewall_device_add
firewall_device_remove
host_reboot
image_delete
image_update
ipaddress_update
lassie_reboot
lish_boot
linode_addip
linode_boot
linode_clone
linode_create
linode_delete
linode_update
linode_deleteip
linode_migrate
linode_migrate_datacenter
linode_migrate_datacenter_create
linode_mutate
linode_mutate_create
linode_reboot
linode_rebuild
linode_resize
linode_resize_create
linode_shutdown
linode_snapshot
linode_config_create
linode_config_delete
linode_config_update
lke_node_create
longviewclient_create
longviewclient_delete
longviewclient_update
managed_disabled
managed_enabled
managed_service_create
managed_service_delete
nodebalancer_create
nodebalancer_delete
nodebalancer_update
nodebalancer_config_create
nodebalancer_config_delete
nodebalancer_config_update
nodebalancer_node_create
nodebalancer_node_delete
nodebalancer_node_update
oauth_client_create
oauth_client_delete
oauth_client_secret_reset
oauth_client_update
password_reset
payment_submitted
profile_update
stackscript_create
stackscript_delete
stackscript_update
stackscript_publicize
stackscript_revise
tag_create
tag_delete
tfa_disabled
tfa_enabled
ticket_attachment_upload
ticket_create
ticket_update
token_create
token_delete
token_update
user_create
user_update
user_delete
user_ssh_key_add
user_ssh_key_delete
user_ssh_key_update
vlan_attach
vlan_detach
volume_attach
volume_clone
volume_create
volume_delete
volume_update
volume_detach
volume_resize The action that caused this Event. New actions may be added in the future. | ||||||||
created Filterable | string <date-time> When this Event was created. | ||||||||
duration | number The total duration in seconds that it takes for the Event to complete. | ||||||||
entity | object Detailed information about the Event’s entity, including ID, type, label, and URL used to access it.
| ||||||||
id Filterable | integer The unique ID of this Event. | ||||||||
message Nullable | string Provides additional information about the event. Additional information may include, but is not limited to, a more detailed representation of events which can help diagnose non-obvious failures. | ||||||||
percent_complete | integer A percentage estimating the amount of time remaining for an Event.
Returns | ||||||||
rate | string The rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events. | ||||||||
read | boolean If this Event has been read. | ||||||||
secondary_entity | object Detailed information about the Event’s secondary entity, which provides additional information
for events such as, but not limited to,
| ||||||||
seen | boolean If this Event has been seen. | ||||||||
status | string Enum:
failed
finished
notification
scheduled
started The current status of this Event. | ||||||||
time_remaining Nullable | string The estimated time remaining until the completion of this Event. This value is only returned for some in-progress migration events. For all other in-progress events, the | ||||||||
username | string The username of the User who caused the Event. |
errors | array of objects
|
Event Mark as Read
Marks a single Event as read.
Authorizations
personalAccessToken | |
oauth | events:read_only |
Path Parameters
eventId | integer RequiredThe ID of the Event to designate as read. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/events/123/read
linode-cli events mark-read 123
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Event Mark as Seen
Marks all Events up to and including this Event by ID as seen.
Authorizations
personalAccessToken | |
oauth | events:read_only |
Path Parameters
eventId | integer RequiredThe ID of the Event to designate as seen. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/events/123/seen
linode-cli events mark-seen 123
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Invoices List
Returns a paginated list of Invoices against your Account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/invoices
linode-cli account invoices-list
Response Samples
{
"data": [
{
"date": "2018-01-01T00:01:01",
"id": 123,
"label": "Invoice",
"subtotal": 120.25,
"tax": 12.25,
"total": 132.5
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||
page | integer | ||||||||||||
pages | integer | ||||||||||||
results | integer |
errors | array of objects
|
Invoice View
Returns a single Invoice object.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
invoiceId | integer RequiredThe ID of the Invoice. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/invoices/123
linode-cli account invoice-view 123
Response Samples
{
"date": "2018-01-01T00:01:01",
"id": 123,
"label": "Invoice",
"subtotal": 120.25,
"tax": 12.25,
"total": 132.5
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
date | string <date-time> When this Invoice was generated. |
id | integer The Invoice’s unique ID. |
label | string The Invoice’s display label. |
subtotal | number The amount of the Invoice before taxes in US Dollars. |
tax | number The amount of tax levied on the Invoice in US Dollars. |
total | number The amount of the Invoice after taxes in US Dollars. |
errors | array of objects
|
Invoice Items List
Returns a paginated list of Invoice items.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
invoiceId | integer RequiredThe ID of the Invoice. |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/invoices/123/items
linode-cli account invoice-items 123
Response Samples
{
"data": [
{
"amount": 20.2,
"from": "2018-01-01T00:01:01",
"label": "Linode 123",
"quantity": 4,
"tax": 1.25,
"to": "2018-01-31T11:59:59",
"total": 21.45,
"type": "hourly",
"unit_price": 5.05
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||||||||
page | integer | ||||||||||||||||||
pages | integer | ||||||||||||||||||
results | integer |
errors | array of objects
|
User Logins List All
Returns a collection of successful logins for all users on the account during the last 90 days. This command can only be accessed by the unrestricted users of an account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/logins
linode-cli account logins-list
Response Samples
{
"data": [
{
"datetime": "2018-01-01T00:01:01",
"id": 1234,
"ip": "192.0.2.0",
"restricted": true,
"username": "example_user"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||
page | integer | ||||||||||
pages | integer | ||||||||||
results | integer |
errors | array of objects
|
Login View
Returns a Login object that displays information about a successful login. The logins that can be viewed can be for any user on the account, and are not limited to only the logins of the user that is accessing this API endpoint. This command can only be accessed by the unrestricted users of the account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
loginId | integer RequiredThe ID of the login object to access. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/logins/1234
linode-cli account login-view 1234
Response Samples
{
"datetime": "2018-01-01T00:01:01",
"id": 1234,
"ip": "192.0.2.0",
"restricted": true,
"username": "example_user"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
datetime | string <date-time> When the login was initiated. |
id | integer The unique ID of this login object. |
ip | string <ip> The remote IP address that requested the login. |
restricted | boolean True if the User that was logged into was a restricted User, false otherwise. |
username | string The username of the User that was logged into. |
errors | array of objects
|
Maintenance List
Returns a collection of Maintenance objects for any entity a user has permissions to view.
Currently, Linodes are the only entities available for viewing.
Beta: This endpoint is in beta. Please make sure to prepend all requests with /v4beta
instead of /v4
, and be aware that this endpoint may receive breaking updates in the future. This notice will be removed when this endpoint is out of beta.
Authorizations
personalAccessToken | |
oauth | maintenance:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4beta/account/maintenance
linode-cli account maintenance-list
Response Samples
{
"data": [
{
"entity": {
"id": 1234,
"label": "demo-linode",
"type": "Linode",
"url": "https://api.linode.com/v4/linode/instances/{linodeId}"
},
"reason": "This maintenance will allow us to update the BIOS on the host’s motherboard.",
"status": "started",
"type": "reboot",
"when": "2020-07-09T00:01:01"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||||||||
page | integer | ||||||||||||||||||
pages | integer | ||||||||||||||||||
results | integer |
errors | array of objects
|
Notifications List
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.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/notifications
linode-cli account notifications-list
Response Samples
{
"data": [
{
"body": null,
"entity": {
"id": 3456,
"label": "Linode not booting.",
"type": "ticket",
"url": "/support/tickets/3456"
},
"label": "You have an important ticket open!",
"message": "You have an important ticket open!",
"severity": "major",
"type": "ticket_important",
"until": null,
"when": null
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||||||||||||||
page | integer | ||||||||||||||||||||||||
pages | integer | ||||||||||||||||||||||||
results | integer |
errors | array of objects
|
OAuth Clients List
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.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/oauth-clients
linode-cli account clients-list
Response Samples
{
"data": [
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "\u003cREDACTED\u003e",
"status": "active",
"thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||||||
page | integer | ||||||||||||||
pages | integer | ||||||||||||||
results | integer |
errors | array of objects
|
OAuth Client Create
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
label Filterable Required | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
redirect_uri Required | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"redirect_uri": "https://example.org/oauth/callback",
"label": "Test_Client_1",
"public": false
}' \
https://api.linode.com/v4/account/oauth-clients
linode-cli account client-create \
--label Test_Client_1 \
--redirect_uri https://example.org/callback
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "\u003cREDACTED\u003e",
"status": "active",
"thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
id | string The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label Filterable | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
public Filterable | boolean If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details. |
redirect_uri | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
secret | string The OAuth Client secret, used in the OAuth exchange. This is returned as |
status | string Enum:
active
disabled
suspended The status of this application. |
thumbnail_url Nullable | string <url> The URL where this client’s thumbnail may be viewed, or |
errors | array of objects
|
OAuth Client Delete
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).
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c
linode-cli account client-delete \
edc6790ea9db4d224c5c
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
OAuth Client View
Returns information about a single OAuth client.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c
linode-cli account client-view \
edc6790ea9db4d224c5c
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "\u003cREDACTED\u003e",
"status": "active",
"thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
id | string The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label Filterable | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
public Filterable | boolean If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details. |
redirect_uri | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
secret | string The OAuth Client secret, used in the OAuth exchange. This is returned as |
status | string Enum:
active
disabled
suspended The status of this application. |
thumbnail_url Nullable | string <url> The URL where this client’s thumbnail may be viewed, or |
errors | array of objects
|
OAuth Client Update
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Body Schema
label Filterable | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
redirect_uri | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
Request Samples
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
linode-cli account client-update \
edc6790ea9db4d224c5c \
--label Test_Client_1
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "\u003cREDACTED\u003e",
"status": "active",
"thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
id | string The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label Filterable | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
public Filterable | boolean If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details. |
redirect_uri | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
secret | string The OAuth Client secret, used in the OAuth exchange. This is returned as |
status | string Enum:
active
disabled
suspended The status of this application. |
thumbnail_url Nullable | string <url> The URL where this client’s thumbnail may be viewed, or |
errors | array of objects
|
OAuth Client Secret Reset
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/reset-secret
linode-cli account client-reset-secret \
edc6790ea9db4d224c5c
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "\u003cREDACTED\u003e",
"status": "active",
"thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
id | string The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label Filterable | string
1..512
charactersThe name of this application. This will be presented to users when they are asked to grant it access to their Account. |
public Filterable | boolean If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the OAuth spec for more details. |
redirect_uri | string <url> The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. |
secret | string The OAuth Client secret, used in the OAuth exchange. This is returned as |
status | string Enum:
active
disabled
suspended The status of this application. |
thumbnail_url Nullable | string <url> The URL where this client’s thumbnail may be viewed, or |
errors | array of objects
|
OAuth Client Thumbnail View
Returns the thumbnail for this OAuth Client. This is a publicly-viewable endpoint, and can be accessed without authentication.
Authorizations
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail > thumbnail.png
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
OAuth Client Thumbnail Update
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
clientId | string RequiredThe OAuth Client ID to look up. |
Request Samples
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
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Payments List
Returns a paginated list of Payments made on this Account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/payments
linode-cli account payments-list
Response Samples
{
"data": [
{
"date": "2018-01-15T00:01:01",
"id": 123,
"usd": "120.50"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||
page | integer | ||||||
pages | integer | ||||||
results | integer |
errors | array of objects
|
Payment Make
Makes a Payment to your Account via credit card. This will charge your credit card the requested amount.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
cvv | string CVV (Card Verification Value) of the credit card to be used for the Payment. |
usd Required | string The amount in US Dollars of the Payment. The maximum credit card payment that can be made is $50,000 dollars. |
Request Samples
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
linode-cli account payment-create \
--cvv 123 \
--usd 120.50
Response Samples
{
"date": "2018-01-15T00:01:01",
"id": 123,
"usd": "120.50"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
date | string <date-time> When the Payment was made. |
id | integer The unique ID of the Payment. |
usd | integer The amount, in US dollars, of the Payment. |
errors | array of objects
|
PayPal Payment Stage
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 to complete the Payment.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
cancel_url Required | string The URL to have PayPal redirect to when Payment is cancelled. |
redirect_url Required | string The URL to have PayPal redirect to when Payment is approved. |
usd Required | string The payment amount in USD. Minimum accepted value of $5 USD. Maximum accepted value of $500 USD or credit card payment limit; whichever value is highest. PayPal’s maximum transaction limit is $10,000 USD. |
Request Samples
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
linode-cli account paypal-start \
--cancel_url https://example.org \
--redirect_url https://example.org \
--usd 120.50
Response Samples
{
"checkout_token": "EC-1A2B3C4D5E6F7G8H9",
"payment_id": "PAY-1234567890ABCDEFGHIJKLMN"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
checkout_token | string The checkout token generated for this Payment. |
payment_id | string The paypal-generated ID for this Payment. Used when authorizing the Payment in PayPal’s interface. |
errors | array of objects
|
Staged/Approved PayPal Payment Execute
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
payer_id Required | string The PayerID returned by PayPal during the transaction authorization process. |
payment_id Required | string The PaymentID returned from POST /account/payments/paypal that has been approved with PayPal. |
Request Samples
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
linode-cli account paypal-execute
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Payment View
Returns information about a specific Payment.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
paymentId | integer RequiredThe ID of the Payment to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/payments/123
linode-cli account payment-view 123
Response Samples
{
"date": "2018-01-15T00:01:01",
"id": 123,
"usd": "120.50"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
date | string <date-time> When the Payment was made. |
id | integer The unique ID of the Payment. |
usd | integer The amount, in US dollars, of the Payment. |
errors | array of objects
|
Account Settings View
Returns information related to your Account settings: Managed service subscription, Longview subscription, and network helper.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/settings
linode-cli account settings
Response Samples
{
"backups_enabled": true,
"longview_subscription": "longview-3",
"managed": true,
"network_helper": false,
"object_storage": "active"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
backups_enabled | boolean Account-wide backups default. If |
longview_subscription | string The Longview Pro tier you are currently subscribed to. The value must be a
Longview Subscription ID or |
managed | boolean 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. |
network_helper | boolean Enables network helper across all users by default for new Linodes and Linode Configs. |
object_storage | string Enum:
disabled
suspended
active
Default:
disabled A string describing the status of this account’s Object Storage service enrollment. |
errors | array of objects
|
Account Settings Update
Updates your Account settings.
To update your Longview subscription plan, send a request to Update Longview Plan.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
backups_enabled | boolean Account-wide backups default. If |
network_helper | boolean Enables network helper across all users by default for new Linodes and Linode Configs. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"network_helper": true,
}' \
https://api.linode.com/v4/account/settings
linode-cli account settings-update \
--network_helper false
Response Samples
{
"backups_enabled": true,
"longview_subscription": "longview-3",
"managed": true,
"network_helper": false,
"object_storage": "active"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
backups_enabled | boolean Account-wide backups default. If |
longview_subscription | string The Longview Pro tier you are currently subscribed to. The value must be a
Longview Subscription ID or |
managed | boolean 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. |
network_helper | boolean Enables network helper across all users by default for new Linodes and Linode Configs. |
object_storage | string Enum:
disabled
suspended
active
Default:
disabled A string describing the status of this account’s Object Storage service enrollment. |
errors | array of objects
|
Linode Managed Enable
Enables Linode Managed for the entire account and sends a welcome email to the account’s associated email address. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. See our Linode Managed guide to learn more.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/settings/managed-enable
linode-cli account enable-managed
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
Network Utilization View
Returns a Transfer object showing your network utilization, in GB, for the current month.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/transfer
linode-cli account transfer
Response Samples
{
"billable": 0,
"quota": 9141,
"used": 2
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
billable | integer The amount of your transfer pool that is billable this billing cycle. |
quota | integer The amount of network usage allowed this billing cycle. |
used | integer The amount of network usage you have used this billing cycle. |
errors | array of objects
|
Users List
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.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Query Parameters
page |
The page of a collection to return. |
page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/users
linode-cli users list
Response Samples
{
"data": [
{
"email": "example_user@linode.com",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": null,
"username": "example_user"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array of objects
| ||||||||||
page | integer | ||||||||||
pages | integer | ||||||||||
results | integer |
errors | array of objects
|
User Create
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Body Schema
email Required | string <email> The new User’s email address. |
restricted | boolean If true, the new User must be granted access to perform actions or access entities on this Account. See /account/users/{username}/grants for details on how to configure grants for a restricted User. |
username Required | string
3..32
charactersThe new 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). |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"username": "example_user",
"email": "person@place.com",
"restricted": true
}' \
https://api.linode.com/v4/account/users
linode-cli users create \
--username example_user \
--email example_user@linode.com
Response Samples
{
"email": "example_user@linode.com",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": null,
"username": "example_user"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
email | string <email> The email address for this User, for account management communications, and may be used for other communications as configured. |
restricted | boolean If true, this User must be granted access to perform actions or access entities on this Account. See /account/users/{username}/grants for details on how to configure grants for a restricted User. |
ssh_keys | array of strings A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the |
tfa_enabled | boolean A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. See the Create Two Factor Secret ( /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThis 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). |
errors | array of objects
|
User Delete
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
username | string RequiredThe username to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/account/users/example_user
linode-cli users delete example_user
Response Samples
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array of objects
|
User View
Returns information about a single User on your Account.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
username | string RequiredThe username to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/users/example_user
linode-cli users view example_user
Response Samples
{
"email": "example_user@linode.com",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": null,
"username": "example_user"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
email | string <email> The email address for this User, for account management communications, and may be used for other communications as configured. |
restricted | boolean If true, this User must be granted access to perform actions or access entities on this Account. See /account/users/{username}/grants for details on how to configure grants for a restricted User. |
ssh_keys | array of strings A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the |
tfa_enabled | boolean A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. See the Create Two Factor Secret ( /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThis 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). |
errors | array of objects
|
User Update
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
username | string RequiredThe username to look up. |
Request Body Schema
restricted | boolean If true, this User must be granted access to perform actions or access entities on this Account. See /account/users/{username}/grants for details on how to configure grants for a restricted User. |
ssh_keys | array of strings A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the |
username Filterable | string
3..32
charactersThis 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). |
Request Samples
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
linode-cli users update example_user \
--username example_user \
--restricted true
Response Samples
{
"email": "example_user@linode.com",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": null,
"username": "example_user"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
email | string <email> The email address for this User, for account management communications, and may be used for other communications as configured. |
restricted | boolean If true, this User must be granted access to perform actions or access entities on this Account. See /account/users/{username}/grants for details on how to configure grants for a restricted User. |
ssh_keys | array of strings A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the |
tfa_enabled | boolean A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. See the Create Two Factor Secret ( /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThis 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). |
errors | array of objects
|
User's Grants View
Returns the full grants structure for the specified account User (other than the account owner, see below for details). This includes all entities on the Account alongside the level of access this User has to each of them.
The current authenticated User, including the account owner, may view their own grants at the /profile/grants endpoint, but will not see entities that they do not have access to.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
username | string RequiredThe username to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/users/example_user/grants
Response Samples
{
"domain": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"global": {
"account_access": "read_only",
"add_domains": true,
"add_images": true,
"add_linodes": true,
"add_longview": true,
"add_nodebalancers": true,
"add_stackscripts": true,
"add_volumes": true,
"cancel_account": false,
"longview_subscription": true
},
"image": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"linode": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"longview": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"nodebalancer": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"stackscript": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"volume": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
]
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
domain | array of objects The grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | object A structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objects The grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objects The grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objects The grants this User has pertaining to Longview Clients on this Account. There will be one entry per Longview Client on the Account.
| ||||||||||||||||||||
nodebalancer | array of objects The grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objects The grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objects The grants this User has pertaining to Volumes on this Account. There will be one entry per Volume on the Account.
|
errors | array of objects
|
User's Grants Update
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.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
username | string RequiredThe username to look up. |
Request Body Schema
domain | array of objects The grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | object A structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objects The grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objects The grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objects The grants this User has pertaining to Longview Clients on this Account. There will be one entry per Longview Client on the Account.
| ||||||||||||||||||||
nodebalancer | array of objects The grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objects The grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objects The grants this User has pertaining to Volumes on this Account. There will be one entry per Volume on the Account.
|
Request Samples
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
Response Samples
{
"domain": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"global": {
"account_access": "read_only",
"add_domains": true,
"add_images": true,
"add_linodes": true,
"add_longview": true,
"add_nodebalancers": true,
"add_stackscripts": true,
"add_volumes": true,
"cancel_account": false,
"longview_subscription": true
},
"image": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"linode": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"longview": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"nodebalancer": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"stackscript": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"volume": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
]
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
domain | array of objects The grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | object A structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objects The grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objects The grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objects The grants this User has pertaining to Longview Clients on this Account. There will be one entry per Longview Client on the Account.
| ||||||||||||||||||||
nodebalancer | array of objects The grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objects The grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objects The grants this User has pertaining to Volumes on this Account. There will be one entry per Volume on the Account.
|
errors | array of objects
|