Account v4.141.0
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",
"service_type": "all",
"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,
"billing_source": "akamai",
"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": "PA",
"tax_id": "ATU99999999",
"zip": "19102-1234"
}
{
"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. Transfer charges are not included in the estimate. | ||||||||||||||||
billing_source | string Enum:
akamai
linode The source of service charges for this Account, as determined by its relationship with Akamai.
Accounts that are associated with Akamai-specific customers return a value of | ||||||||||||||||
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 The two-letter ISO 3166 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 (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account’s billing address. | ||||||||||||||||
tax_id | string
<=
25
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 an empty string ( | ||||||||||||||||
zip | string The zip code of this Account’s billing address. The following restrictions apply:
|
errors | array
of objects
|
Account Update
Updates contact and billing information related to your Account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
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",
"tax_id": "ATU99999999",
"zip": "19102"
}' \
https://api.linode.com/v4/account
linode-cli account update \
--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 \
--tax_id ATU99999999 \
--zip 19102
Request Body Schema
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 The two-letter ISO 3166 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 (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account’s billing address. |
tax_id | string
<=
25
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 an empty string ( |
zip | string The zip code of this Account’s billing address. The following restrictions apply:
|
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",
"service_type": "all",
"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,
"billing_source": "akamai",
"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": "PA",
"tax_id": "ATU99999999",
"zip": "19102-1234"
}
{
"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. Transfer charges are not included in the estimate. | ||||||||||||||||
billing_source | string Enum:
akamai
linode The source of service charges for this Account, as determined by its relationship with Akamai.
Accounts that are associated with Akamai-specific customers return a value of | ||||||||||||||||
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 The two-letter ISO 3166 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 (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account’s billing address. | ||||||||||||||||
tax_id | string
<=
25
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 an empty string ( | ||||||||||||||||
zip | string The zip code of this Account’s billing address. The following restrictions apply:
|
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 Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"comments": "I am consolidating my accounts."
}' \
https://api.linode.com/v4/account/cancel
linode-cli account cancel \
--comments "I'm consolidating my accounts"
Request Body Schema
comments | string Any reason for cancelling the account, and any other comments you might have about your Linode service. |
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
DEPRECATED. Please use Payment Method Add ( POST /account/payment-methods).
Adds a credit card Payment Method to your account and sets it as the default method.
Authorizations
personalAccessToken | |
oauth | account:read_write |
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
Request Body Schema
card_number Required | string<digits>
14..24
charactersYour credit card number. No spaces or dashes allowed. |
cvv Required | string<digits>
3..4
charactersCVV (Card Verification Value) of the credit card, typically found on the back of the card. |
expiry_month Required | integer
1..12A value from 1-12 representing the expiration month of your credit card.
|
expiry_year Required | integer
4..4
charactersA four-digit integer representing the expiration year of your credit card. The combination of |
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array
of objects
|
Entity Transfers List
DEPRECATED. Please use Service Transfers List.
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/entity-transfers
Response Samples
{
"data": [
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array
of objects
| ||||||||||||||||
page | integer The current page. | ||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||
results | integer The total number of results. |
errors | array
of objects
|
Entity Transfer Create
DEPRECATED. Please use Service Transfer Create.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"entities": {
"linodes": [
111,
222
]
}
}' \
https://api.linode.com/v4/account/entity-transfers
Request Body Schema
entities Required | object A collection of the entities to include in this transfer request, separated by type.
|
Response Samples
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
created | string<date-time> When this transfer was created. | ||
entities | object A collection of the entities to include in this transfer request, separated by type.
| ||
expiry | string<date-time> When this transfer expires. Transfers will automatically expire 24 hours after creation. | ||
is_sender Filterable | boolean If the requesting account created this transfer. | ||
status Filterable | string Enum:
accepted
cancelled
completed
failed
pending
stale The status of the transfer request.
| ||
token | string<uuid> The token used to identify and accept or cancel this transfer. | ||
updated | string<date-time> When this transfer was last updated. |
errors | array
of objects
|
Entity Transfer Cancel
DEPRECATED. Please use Service Transfer Cancel.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
token | string<uuid> RequiredThe UUID of the Entity Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array
of objects
|
Entity Transfer View
DEPRECATED. Please use Service Transfer View.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
token | string<uuid> RequiredThe UUID of the Entity Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000
Response Samples
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
created | string<date-time> When this transfer was created. | ||
entities | object A collection of the entities to include in this transfer request, separated by type.
| ||
expiry | string<date-time> When this transfer expires. Transfers will automatically expire 24 hours after creation. | ||
is_sender Filterable | boolean If the requesting account created this transfer. | ||
status Filterable | string Enum:
accepted
cancelled
completed
failed
pending
stale The status of the transfer request.
| ||
token | string<uuid> The token used to identify and accept or cancel this transfer. | ||
updated | string<date-time> When this transfer was last updated. |
errors | array
of objects
|
Entity Transfer Accept
DEPRECATED. Please use Service Transfer Accept.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
token | string<uuid> RequiredThe UUID of the Entity Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000/accept
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 The current page. | ||||||||||||||||||||||||||||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||||||||||||||||||||||||||||
results | integer The total number of results. |
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
entity_transfer_accept
entity_transfer_cancel
entity_transfer_create
entity_transfer_fail
entity_transfer_stale
firewall_create
firewall_delete
firewall_disable
firewall_enable
firewall_update
firewall_device_add
firewall_device_remove
host_reboot
image_delete
image_update
image_upload
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_method_add
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,
"tax_summary": [
{
"name": "PA STATE TAX",
"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 The current page. | ||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||
results | integer The total number of results. |
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,
"tax_summary": [
{
"name": "PA STATE TAX",
"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. | ||||
tax_summary | array
of objects The amount of tax broken down into subtotals by source.
| ||||
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 The current page. | ||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||
results | integer The total number of results. |
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 The current page. | ||||||||||
pages | integer The total number of pages. | ||||||||||
results | integer The total number of results. |
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 |
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 The current page. | ||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||
results | integer The total number of results. |
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 The current page. | ||||||||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||||||||
results | integer The total number of results. |
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": "<REDACTED>",
"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 The current page. | ||||||||||||||
pages | integer The total number of pages. | ||||||||||||||
results | integer The total number of results. |
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 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
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. |
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 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. |
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "<REDACTED>",
"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": "<REDACTED>",
"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 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
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. |
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. |
Response Samples
{
"id": "2737bf16b39ab5d7b4a1",
"label": "Test_Client_1",
"public": false,
"redirect_uri": "https://example.org/oauth/callback",
"secret": "<REDACTED>",
"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": "<REDACTED>",
"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
|
Payment Methods List
Returns a paginated list of Payment Methods for 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/payment-methods
linode-cli payment-methods list
Response Samples
{
"data": [
{
"created": "2018-01-15T00:01:01",
"data": {
"card_type": "Discover",
"expiry": "06/2022",
"last_four": "1234"
},
"id": 123,
"is_default": true,
"type": "credit_card"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array
of objects
| ||||||||||||||||||||||||||||||||
page | integer The current page. | ||||||||||||||||||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||||||||||||||||||
results | integer The total number of results. |
errors | array
of objects
|
Payment Method Add
Adds a Payment Method to your Account with the option to set it as the default method.
Adding a default Payment Method removes the default status from any other Payment Method.
An Account can have up to 6 active Payment Methods.
Up to 60 Payment Methods can be added each day.
Prior to adding a Payment Method, ensure that your billing address information is up-to-date with a valid
zip
by using the Account Update ( PUT /account) endpoint.A
payment_method_add
event is generated when a payment is successfully submitted.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"type": "credit_card",
"is_default": true,
"data": {
"card_number": "4111111111111111",
"expiry_month": 11,
"expiry_year": 2020,
"cvv": "111"
}
}' \
https://api.linode.com/v4/account/payment-methods
linode-cli payment-methods add \
--type credit_card \
--is_default true \
--data.card_number 4111111111111111 \
--data.expiry_month 11 \
--data.expiry_year 2020 \
--data.cvv 111
Request Body Schema
data Required | object An object representing the credit card information you have on file with Linode to make Payments against your Account.
| ||||||||
is_default Required | boolean Whether this Payment Method is the default method for automatically processing service charges. | ||||||||
type Required | string Enum:
credit_card The type of Payment Method. Alternative Payment Methods including Google Pay and PayPal can be added using Linode Cloud Manager. See our guide on Managing Billing in the Cloud Manager for details and instructions. |
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array
of objects
|
Payment Method Delete
Deactivate the specified Payment Method.
The default Payment Method can not be deleted. To add a new default Payment Method, access the Payment Method Add ( POST /account/payment-methods) endpoint. To designate an existing Payment Method as the default method, access the Payment Method Make Default ( POST /account/payment-methods/{paymentMethodId}/make-default) endpoint.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
paymentMethodId | integer RequiredThe ID of the Payment Method to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/account/payment-methods/123
linode-cli payment-methods delete 123
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array
of objects
|
Payment Method View
View the details of the specified Payment Method.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
paymentMethodId | integer RequiredThe ID of the Payment Method to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/payment-methods/123
linode-cli payment-methods view 123
Response Samples
{
"created": "2018-01-15T00:01:01",
"data": {
"card_type": "Discover",
"expiry": "06/2022",
"last_four": "1234"
},
"id": 123,
"is_default": true,
"type": "credit_card"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
created | string<date-time> When the Payment Method was added to the Account. | ||||||||||||||||||||||
| |||||||||||||||||||||||
id | integer The unique ID of this Payment Method. | ||||||||||||||||||||||
is_default | boolean Whether this Payment Method is the default method for automatically processing service charges. | ||||||||||||||||||||||
type | string Enum:
credit_card
google_pay
paypal The type of Payment Method. |
errors | array
of objects
|
Payment Method Make Default
Make the specified Payment Method the default method for automatically processing payments.
Removes the default status from any other Payment Method.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
paymentMethodId | integer RequiredThe ID of the Payment Method to make default. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/payment-methods/123/make-default
linode-cli payment-methods default 123
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 The current page. | ||||||
pages | integer The total number of pages. | ||||||
results | integer The total number of results. |
errors | array
of objects
|
Payment Make
Makes a Payment to your Account.
The requested amount is charged to the default Payment Method if no
payment_method_id
is specified.A
payment_submitted
event is generated when a payment is successfully submitted.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"cvv": "123",
"usd": "120.50",
"payment_method_id": 123
}' \
https://api.linode.com/v4/account/payments
linode-cli account payment-create \
--cvv 123 \
--usd 120.50 \
--payment_method_id 123
Request Body Schema
cvv | string CVV (Card Verification Value) of the credit card to be used for the Payment. Required if paying by credit card. |
payment_method_id | integer The ID of the Payment Method to apply to the Payment. |
usd Required | string The amount in US Dollars of the Payment.
|
Response Samples
{
"date": "2018-01-15T00:01:01",
"id": 123,
"usd": "120.50"
}
{
"warnings": [
{
"details": "Linode 123 could not be rebooted.",
"title": "Unable to reboot Linode."
}
]
}
{
"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. |
warnings | array
of objects
|
errors | array
of objects
|
PayPal Payment Stage
Note: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using Cloud Manager.
Authorizations
personalAccessToken | |
oauth | account:read_write |
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
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. |
Response Samples
{
"checkout_token": "EC-1A2B3C4D5E6F7G8H9",
"payment_id": "PAY-1234567890ABCDEFGHIJKLMN"
}
{
"warnings": [
{
"details": "Linode 123 could not be rebooted.",
"title": "Unable to reboot Linode."
}
]
}
{
"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. |
warnings | array
of objects
|
errors | array
of objects
|
Staged/Approved PayPal Payment Execute
Note: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using Cloud Manager.
Authorizations
personalAccessToken | |
oauth | account:read_write |
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
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. |
Response Samples
{}
{
"warnings": [
{
"details": "Linode 123 could not be rebooted.",
"title": "Unable to reboot Linode."
}
]
}
{
"warnings": [
{
"details": "Linode 123 could not be rebooted.",
"title": "Unable to reboot Linode."
}
]
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
warnings | array
of objects
|
warnings | array
of objects
|
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
|
Promo Credit Add
Adds an expiring Promo Credit to your account.
The following restrictions apply:
- Your account must be less than 90 days old.
- There must not be an existing Promo Credit already on your account.
- The requesting User must be unrestricted. Use the User Update ( PUT /account/users/{username}) to change a User’s restricted status.
- The
promo_code
must be valid and unexpired.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"promo_code": "abcdefABCDEF1234567890"
}' \
https://api.linode.com/v4/account/promo-codes
linode-cli account \
promo-add \
--promo-code abcdefABCDEF1234567890
Request Body Schema
promo_code Required | string
1..32
charactersThe Promo Code. |
Response Samples
{
"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",
"service_type": "all",
"summary": "$10 off your Linode a month!",
"this_month_credit_remaining": "10.00"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
credit_monthly_cap | string The amount available to spend per month. |
credit_remaining | string The total amount of credit left for this promotion. |
description | string A detailed description of this promotion. |
expire_dt | string When this promotion’s credits expire. |
image_url | string The location of an image for this promotion. |
service_type | string Enum:
all
backup
blockstorage
db_mysql
ip_v4
linode
linode_disk
linode_memory
longview
managed
nodebalancer
objectstorage
transfer_tx The service to which this promotion applies. |
summary | string Short details of this promotion. |
this_month_credit_remaining | string The amount of credit left for this month for this promotion. |
errors | array
of objects
|
Service Transfers List
Returns a collection of all created and accepted Service Transfers for this account, regardless of the user that created or accepted the transfer.
This command can only be accessed by the unrestricted users of an 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/service-transfers
linode-cli service-transfers \
list
Response Samples
{
"data": [
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
],
"page": 1,
"pages": 1,
"results": 1
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
data | array
of objects
| ||||||||||||||||
page | integer The current page. | ||||||||||||||||
pages | integer The total number of pages. | ||||||||||||||||
results | integer The total number of results. |
errors | array
of objects
|
Service Transfer Create
Creates a transfer request for the specified services. A request can contain any of the specified service types and any number of each service type. At this time, only Linodes can be transferred.
When created successfully, a confirmation email is sent to the account that created this transfer containing a transfer token and instructions on completing the transfer.
When a transfer is accepted, the requested services are moved to the receiving account. Linode services will not experience interruptions due to the transfer process. Backups for Linodes are transferred as well.
DNS records that are associated with requested services will not be transferred or updated. Please ensure that associated DNS records have been updated or communicated to the recipient prior to the transfer.
A transfer can take up to three hours to complete once accepted. When a transfer is completed, billing for transferred services ends for the sending account and begins for the receiving account.
This command can only be accessed by the unrestricted users of an account.
There are several conditions that must be met in order to successfully create a transfer request:
The account creating the transfer must not have a past due balance or active Terms of Service violation.
The service must be owned by the account that is creating the transfer.
The service must not be assigned to another Service Transfer that is pending or that has been accepted and is incomplete.
Linodes must not:
be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.
have any attached Block Storage Volumes.
have any shared IP addresses.
have any assigned /56, /64, or /116 IPv6 ranges.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"entities": {
"linodes": [
111,
222
]
}
}' \
https://api.linode.com/v4/account/service-transfers
linode-cli service-transfers \
create \
--entities.linodes 111 \
--entities.linodes 222
Request Body Schema
entities Required | object A collection of the services to include in this transfer request, separated by type.
|
Response Samples
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
created | string<date-time> When this transfer was created. | ||
entities | object A collection of the services to include in this transfer request, separated by type.
| ||
expiry | string<date-time> When this transfer expires. Transfers will automatically expire 24 hours after creation. | ||
is_sender Filterable | boolean If the requesting account created this transfer. | ||
status Filterable | string Enum:
accepted
cancelled
completed
failed
pending
stale The status of the transfer request.
| ||
token | string<uuid> The token used to identify and accept or cancel this transfer. | ||
updated | string<date-time> When this transfer was last updated. |
errors | array
of objects
|
Service Transfer Cancel
Cancels the Service Transfer for the provided token. Once cancelled, a transfer cannot be accepted or otherwise acted on in any way. If cancelled in error, the transfer must be created again.
When cancelled, an email notification for the cancellation is sent to the account that created this transfer. Transfers can not be cancelled if they are expired or have been accepted.
This command can only be accessed by the unrestricted users of the account that created this transfer.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
token | string<uuid> RequiredThe UUID of the Service Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000
linode-cli service-transfers \
cancel 123E4567-E89B-12D3-A456-426614174000
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
errors | array
of objects
|
Service Transfer View
Returns the details of the Service Transfer for the provided token.
While a transfer is pending, any unrestricted user of any account can access this command. After a transfer has been accepted, it can only be viewed by unrestricted users of the accounts that created and accepted the transfer. If cancelled or expired, only unrestricted users of the account that created the transfer can view it.
Authorizations
personalAccessToken | |
oauth | account:read_only |
Path Parameters
token | string<uuid> RequiredThe UUID of the Service Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000
linode-cli service-transfers \
view 123E4567-E89B-12D3-A456-426614174000
Response Samples
{
"created": "2021-02-11T16:37:03",
"entities": {
"linodes": [
111,
222
]
},
"expiry": "2021-02-12T16:37:03",
"is_sender": true,
"status": "pending",
"token": "123E4567-E89B-12D3-A456-426614174000",
"updated": "2021-02-11T16:37:03"
}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
created | string<date-time> When this transfer was created. | ||
entities | object A collection of the services to include in this transfer request, separated by type.
| ||
expiry | string<date-time> When this transfer expires. Transfers will automatically expire 24 hours after creation. | ||
is_sender Filterable | boolean If the requesting account created this transfer. | ||
status Filterable | string Enum:
accepted
cancelled
completed
failed
pending
stale The status of the transfer request.
| ||
token | string<uuid> The token used to identify and accept or cancel this transfer. | ||
updated | string<date-time> When this transfer was last updated. |
errors | array
of objects
|
Service Transfer Accept
Accept a Service Transfer for the provided token to receive the services included in the transfer to your account. At this time, only Linodes can be transferred.
When accepted, email confirmations are sent to the accounts that created and accepted the transfer. A transfer can take up to three hours to complete once accepted. Once a transfer is completed, billing for transferred services ends for the sending account and begins for the receiving account.
This command can only be accessed by the unrestricted users of the account that receives the transfer. Users of the same account that created a transfer cannot accept the transfer.
There are several conditions that must be met in order to accept a transfer request:
Only transfers with a
pending
status can be accepted.The account accepting the transfer must have a registered payment method and must not have a past due balance or other account limitations for the services to be transferred.
Both the account that created the transfer and the account that is accepting the transfer must not have any active Terms of Service violations.
The service must still be owned by the account that created the transfer.
Linodes must not:
be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.
have any attached Block Storage Volumes.
have any shared IP addresses.
have any assigned /56, /64, or /116 IPv6 ranges.
Any and all of the above conditions must be cured and maintained by the relevant account prior to the transfer’s expiration to allow the transfer to be accepted by the receiving account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
token | string<uuid> RequiredThe UUID of the Service Transfer. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000/accept
linode-cli service-transfers \
accept 123E4567-E89B-12D3-A456-426614174000
Response Samples
{}
{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}
Responses
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 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
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. |
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.
This command can only be accessed by the unrestricted users of an 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 The current page. | ||||||||||
pages | integer The total number of pages. | ||||||||||
results | integer The total number of results. |
errors | array
of objects
|
User Create
Creates a User on your Account. Once created, a confirmation message containing password creation and login instructions is sent to the User’s email address.
This command can only be accessed by the unrestricted users of an account.
The User’s 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 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 \
--restricted true
Request Body Schema
email Required | string<email> The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured. |
restricted | boolean If true, the User must be granted access to perform actions or access entities on this Account. See User Grants View ( GET /account/users/{username}/grants) for details on how to configure grants for a restricted User. |
username Filterable Required | string
3..32
charactersThe 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). |
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 the User. Linode sends emails to this address for account management communications. May be used for other communications as configured. |
restricted | boolean If true, the User must be granted access to perform actions or access entities on this Account. See User Grants View ( GET /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. Users can add keys with the SSH Key Add ( POST /profile/sshkeys) command. These keys are deployed when 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 ( POST /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThe 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.
This command can only be accessed by the unrestricted users of an account.
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.
This command can only be accessed by the unrestricted users of an 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 the User. Linode sends emails to this address for account management communications. May be used for other communications as configured. |
restricted | boolean If true, the User must be granted access to perform actions or access entities on this Account. See User Grants View ( GET /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. Users can add keys with the SSH Key Add ( POST /profile/sshkeys) command. These keys are deployed when 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 ( POST /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThe 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.
This command can only be accessed by the unrestricted users of an account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
username | string RequiredThe username to look up. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"username": example_user,
"email": example@linode.com,
"restricted": true
}' \
https://api.linode.com/v4/account/users/example_user
linode-cli users update example_user \
--username example_user \
--email example@linode.com \
--restricted true
Request Body Schema
email | string<email> The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured. |
restricted | boolean If true, the User must be granted access to perform actions or access entities on this Account. See User Grants View ( GET /account/users/{username}/grants) for details on how to configure grants for a restricted User. |
username Filterable | string
3..32
charactersThe 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). |
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 the User. Linode sends emails to this address for account management communications. May be used for other communications as configured. |
restricted | boolean If true, the User must be granted access to perform actions or access entities on this Account. See User Grants View ( GET /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. Users can add keys with the SSH Key Add ( POST /profile/sshkeys) command. These keys are deployed when 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 ( POST /profile/tfa-enable) endpoint to enable TFA. |
username Filterable | string
3..32
charactersThe 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.
This command can only be accessed by the unrestricted users of an account.
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_databases": true,
"add_domains": true,
"add_firewalls": 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.
This command can only be accessed by the unrestricted users of an account.
Authorizations
personalAccessToken | |
oauth | account:read_write |
Path Parameters
username | string RequiredThe username to look up. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"global": {
"add_linodes": true,
"add_nodebalancers": false,
"add_databases": true;
"add_domains": true,
"add_longview": false,
"add_stackscripts": true,
"longview_subscription": true,
"add_images": true,
"add_volumes": true,
"add_firewalls": 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
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.
|
Response Samples
{
"domain": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"global": {
"account_access": "read_only",
"add_databases": true,
"add_domains": true,
"add_firewalls": 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
|