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 | numberThis Account’s balance, in US dollars. | ||||||||||||||
balance_uninvoiced | numberThis 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 stringsA 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 | objectCredit 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 | numberThis Account’s balance, in US dollars. | ||||||||||||||
balance_uninvoiced | numberThis 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 stringsA 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 | objectCredit 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 | stringAny 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 | stringA 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 | stringThe Card Verification Value on the back of the card. |
expiry_month Required | integerA value from 1-12 representing the expiration month of your credit card.
|
expiry_year Required | integerA 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 | integerRequiredThe 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 | stringEnum:
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_resizeThe action that caused this Event. New actions may be added in the future. | ||||||||
created Filterable | string <date-time>When this Event was created. | ||||||||
duration | numberThe total duration in seconds that it takes for the Event to complete. | ||||||||
entity | objectDetailed information about the Event’s entity, including ID, type, label, and URL used to access it.
| ||||||||
id Filterable | integerThe unique ID of this Event. | ||||||||
message Nullable | stringProvides 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 | integerA percentage estimating the amount of time remaining for an Event.
Returns | ||||||||
rate | stringThe rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events. | ||||||||
read | booleanIf this Event has been read. | ||||||||
secondary_entity | objectDetailed information about the Event’s secondary entity, which provides additional information
for events such as, but not limited to,
| ||||||||
seen | booleanIf this Event has been seen. | ||||||||
status | stringEnum:
failed
finished
notification
scheduled
startedThe current status of this Event. | ||||||||
time_remaining Nullable | stringThe 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 | stringThe 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 | integerRequiredThe 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 | integerRequiredThe 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 | integerRequiredThe 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 | integerThe Invoice’s unique ID. |
label | stringThe Invoice’s display label. |
subtotal | numberThe amount of the Invoice before taxes in US Dollars. |
tax | numberThe amount of tax levied on the Invoice in US Dollars. |
total | numberThe 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 | integerRequiredThe 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 | integerRequiredThe 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 | integerThe unique ID of this login object. |
ip | string <ip>The remote IP address that requested the login. |
restricted | booleanTrue if the User that was logged into was a restricted User, false otherwise. |
username | stringThe 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 | stringThe 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 | booleanIf 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 | stringThe OAuth Client secret, used in the OAuth exchange. This is returned as |
status | stringEnum:
active
disabled
suspendedThe 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 | stringRequiredThe 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 | stringRequiredThe 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 | stringThe 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 | booleanIf 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 | stringThe OAuth Client secret, used in the OAuth exchange. This is returned as |
status | stringEnum:
active
disabled
suspendedThe 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 | stringRequiredThe 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 | stringThe 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 | booleanIf 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 | stringThe OAuth Client secret, used in the OAuth exchange. This is returned as |
status | stringEnum:
active
disabled
suspendedThe 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 | stringRequiredThe 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 | stringThe 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 | booleanIf 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 | stringThe OAuth Client secret, used in the OAuth exchange. This is returned as |
status | stringEnum:
active
disabled
suspendedThe 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 | stringRequiredThe 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 | stringRequiredThe 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 | stringCVV (Card Verification Value) of the credit card to be used for the Payment. |
usd Required | stringThe 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 | integerThe unique ID of the Payment. |
usd | integerThe 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 | stringThe URL to have PayPal redirect to when Payment is cancelled. |
redirect_url Required | stringThe URL to have PayPal redirect to when Payment is approved. |
usd Required | stringThe 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 | stringThe checkout token generated for this Payment. |
payment_id | stringThe 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 | stringThe PayerID returned by PayPal during the transaction authorization process. |
payment_id Required | stringThe 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 | integerRequiredThe 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 | integerThe unique ID of the Payment. |
usd | integerThe 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 | booleanAccount-wide backups default. If |
longview_subscription | stringThe Longview Pro tier you are currently subscribed to. The value must be a
Longview Subscription ID or |
managed | booleanOur 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 | booleanEnables network helper across all users by default for new Linodes and Linode Configs. |
object_storage | stringEnum:
disabled
suspended
active
Default:
disabledA 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 | booleanAccount-wide backups default. If |
network_helper | booleanEnables 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 | booleanAccount-wide backups default. If |
longview_subscription | stringThe Longview Pro tier you are currently subscribed to. The value must be a
Longview Subscription ID or |
managed | booleanOur 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 | booleanEnables network helper across all users by default for new Linodes and Linode Configs. |
object_storage | stringEnum:
disabled
suspended
active
Default:
disabledA 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 | integerThe amount of your transfer pool that is billable this billing cycle. |
quota | integerThe amount of network usage allowed this billing cycle. |
used | integerThe 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 | booleanIf 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 | booleanIf 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 stringsA 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 | booleanA 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 | stringRequiredThe 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 | stringRequiredThe 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 | booleanIf 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 stringsA 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 | booleanA 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 | stringRequiredThe username to look up. |
Request Body Schema
restricted | booleanIf 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 stringsA 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 | booleanIf 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 stringsA 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 | booleanA 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 | stringRequiredThe 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 objectsThe grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objectsThe grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objectsThe grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objectsThe 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 objectsThe grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objectsThe grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objectsThe 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 | stringRequiredThe username to look up. |
Request Body Schema
domain | array of objectsThe grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objectsThe grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objectsThe grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objectsThe 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 objectsThe grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objectsThe grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objectsThe 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 objectsThe grants this User has pertaining to Domains on this Account. There will be one entry per Domain on the Account.
| ||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||
image | array of objectsThe grants this User has pertaining to Images on this Account. There will be one entry per Image on the Account.
| ||||||||||||||||||||
linode | array of objectsThe grants this User has pertaining to Linodes on this Account. There will be one entry per Linode on the Account.
| ||||||||||||||||||||
longview | array of objectsThe 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 objectsThe grants this User has pertaining to NodeBalancers on this Account. There will be one entry per NodeBalancer on the Account.
| ||||||||||||||||||||
stackscript | array of objectsThe grants this User has pertaining to StackScripts on this Account. There will be one entry per StackScript on the Account.
| ||||||||||||||||||||
volume | array of objectsThe grants this User has pertaining to Volumes on this Account. There will be one entry per Volume on the Account.
|
errors | array of objects
|


