Account v4.166.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 | 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. Transfer charges are not included in the estimate. | ||||||||||||||||
billing_source | stringEnum:
akamai
linodeThe 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 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. Must not include any of the following characters: | ||||||||||||||||
country | stringThe two-letter ISO 3166 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. Must not include any of the following characters: | ||||||||||||||||
last_name | string
<=
50
charactersThe last name of the person associated with this Account. Must not include any of the following characters: | ||||||||||||||||
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 | stringThe 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. Must not include any of the following characters: |
country | stringThe 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. Must not include any of the following characters: |
last_name | string
<=
50
charactersThe last name of the person associated with this Account. Must not include any of the following characters: |
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 | stringThe 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 | 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. Transfer charges are not included in the estimate. | ||||||||||||||||
billing_source | stringEnum:
akamai
linodeThe 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 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. Must not include any of the following characters: | ||||||||||||||||
country | stringThe two-letter ISO 3166 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. Must not include any of the following characters: | ||||||||||||||||
last_name | string
<=
50
charactersThe last name of the person associated with this Account. Must not include any of the following characters: | ||||||||||||||||
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 | stringThe 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 | stringAny 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 | stringA 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 | integerThe current page. | ||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||
results | integerThe 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 | objectA 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 | objectA 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 | booleanIf the requesting account created this transfer. | ||
status | stringEnum:
accepted
canceled
completed
failed
pending
staleThe 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 | objectA 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 | booleanIf the requesting account created this transfer. | ||
status | stringEnum:
accepted
canceled
completed
failed
pending
staleThe 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 | integerThe current page. | ||||||||||||||||||||||||||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||||||||||||||||||||||||||
results | integerThe total number of results. |
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 | 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
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
obj_access_key_create
obj_access_key_delete
obj_access_key_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_resizeThe action that caused this Event. New actions may be added in the future. | ||||||||
created | 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 | 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 Nullable | 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": [
{
"billing_source": "linode",
"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 | integerThe current page. | ||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||
results | integerThe total number of results. |
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
{
"billing_source": "linode",
"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
billing_source | stringEnum:
akamai
linode
| ||||
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. | ||||
tax_summary | array
of objectsThe amount of tax broken down into subtotals by source.
| ||||
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,
"region": "us-west",
"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 | integerThe current page. | ||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||
results | integerThe 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,
"status": "successful",
"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 | integerThe current page. | ||||||||||||
pages | integerThe total number of pages. | ||||||||||||
results | integerThe 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 | 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,
"status": "successful",
"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 attempted the login was a restricted User, false otherwise. |
status | stringEnum:
successful
failedWhether the login attempt succeeded or failed. |
username | stringThe username of the User that attempted the login. |
errors | array
of objects
|
Maintenance List
Returns a collection of Maintenance objects for any entity a user has permissions to view. Canceled Maintenance objects are not returned.
Currently, Linodes are the only entities available for viewing.
Authorizations
| personalAccessToken | |
| oauth |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/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 | integerThe current page. | ||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||
results | integerThe 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 | integerThe current page. | ||||||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||||||
results | integerThe 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 | integerThe current page. | ||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||
results | integerThe 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 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 | booleanDefault:
falseIf 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 | stringThe OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label | 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 | booleanDefault:
falseIf 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": "<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 | stringThe OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label | 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 | booleanDefault:
falseIf 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 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 | 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 | booleanDefault:
falseIf 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 | stringThe OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label | 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 | booleanDefault:
falseIf 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": "<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 | stringThe OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret). |
label | 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 | booleanDefault:
falseIf 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
|
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 | integerThe current page. | ||||||||||||||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||||||||||||||
results | integerThe 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
zipby using the Account Update ( PUT /account) endpoint.A
payment_method_addevent 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 | objectAn object representing the credit card information you have on file with Linode to make Payments against your Account.
| ||||||||
is_default Required | booleanWhether this Payment Method is the default method for automatically processing service charges. | ||||||||
type Required | stringEnum:
credit_cardThe type of Payment Method. Alternative Payment Methods including Google Pay and PayPal can be added using the Cloud Manager. See the Manage Payment Methods guide 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 | integerRequiredThe 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 | integerRequiredThe 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 | integerThe unique ID of this Payment Method. | ||||||||||||||||||||||
is_default | booleanWhether this Payment Method is the default method for automatically processing service charges. | ||||||||||||||||||||||
type | stringEnum:
credit_card
google_pay
paypalThe 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 | integerRequiredThe 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 | integerThe current page. | ||||||
pages | integerThe total number of pages. | ||||||
results | integerThe 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_idis specified.A
payment_submittedevent 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 | stringCVV (Card Verification Value) of the credit card to be used for the Payment. Required if paying by credit card. |
payment_method_id | integerThe ID of the Payment Method to apply to the Payment. |
usd Required | stringThe 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 | integerThe unique ID of the Payment. |
usd | integerThe 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 the Cloud Manager. See Manage Payment Methods.
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 | stringThe URL to have PayPal redirect to when Payment is canceled. |
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. |
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 | 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. |
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 the Cloud Manager. See Manage Payment Methods.
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 | 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. |
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 | 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
|
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_codemust 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 | stringThe amount available to spend per month. |
credit_remaining | stringThe total amount of credit left for this promotion. |
description | stringA detailed description of this promotion. |
expire_dt | stringWhen this promotion’s credits expire. |
image_url | stringThe location of an image for this promotion. |
service_type | stringEnum:
all
backup
blockstorage
db_mysql
ip_v4
linode
linode_disk
linode_memory
longview
managed
nodebalancer
objectstorage
transfer_txThe service to which this promotion applies. |
summary | stringShort details of this promotion. |
this_month_credit_remaining | stringThe 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 | integerThe current page. | ||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||
results | integerThe 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 | objectA 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 | objectA 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 | booleanIf the requesting account created this transfer. | ||
status | stringEnum:
accepted
canceled
completed
failed
pending
staleThe 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 canceled, a transfer cannot be accepted or otherwise acted on in any way. If canceled in error, the transfer must be created again.
When canceled, an email notification for the cancellation is sent to the account that created this transfer. Transfers can not be canceled 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 canceled 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 | objectA 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 | booleanIf the requesting account created this transfer. | ||
status | stringEnum:
accepted
canceled
completed
failed
pending
staleThe 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
pendingstatus 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 | 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 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 | booleanAccount-wide backups default. If |
network_helper | booleanEnables 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 | 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,
"region_transfers": [
{
"billable": 0,
"id": "us-east",
"quota": 5010,
"used": 1
}
],
"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. | ||||||||
region_transfers | array
of objects
| ||||||||
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.
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",
"last_login": {
"login_datetime": "2018-01-01T01:01:01",
"status": "successful"
},
"password_created": "2018-01-01T01:01:01",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": true,
"username": "example_user",
"verified_phone_number": "+5555555555"
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||||||||||||
page | integerThe current page. | ||||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||||
results | integerThe 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 | booleanIf 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 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",
"last_login": {
"login_datetime": "2018-01-01T01:01:01",
"status": "successful"
},
"password_created": "2018-01-01T01:01:01",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": true,
"username": "example_user",
"verified_phone_number": "+5555555555"
}{
"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. | ||||
last_login Nullable | objectInformation for the most recent login attempt for this User.
Access the User Logins List All command for additional login information.
| ||||
password_created Nullable | string<date-time>The date and time when this User’s current password was created. User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.
| ||||
restricted | booleanIf 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 stringsA 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 | booleanA 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 | 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). | ||||
verified_phone_number Nullable | string<phone>The phone number verified for this User Profile with the Phone Number Verify ( POST /profile/phone-number/verify) command.
|
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 | 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.
This command can only be accessed by the unrestricted users of an 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",
"last_login": {
"login_datetime": "2018-01-01T01:01:01",
"status": "successful"
},
"password_created": "2018-01-01T01:01:01",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": true,
"username": "example_user",
"verified_phone_number": "+5555555555"
}{
"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. | ||||
last_login Nullable | objectInformation for the most recent login attempt for this User.
Access the User Logins List All command for additional login information.
| ||||
password_created Nullable | string<date-time>The date and time when this User’s current password was created. User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.
| ||||
restricted | booleanIf 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 stringsA 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 | booleanA 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 | 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). | ||||
verified_phone_number Nullable | string<phone>The phone number verified for this User Profile with the Phone Number Verify ( POST /profile/phone-number/verify) command.
|
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 | stringRequiredThe 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 | booleanIf 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 | 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",
"last_login": {
"login_datetime": "2018-01-01T01:01:01",
"status": "successful"
},
"password_created": "2018-01-01T01:01:01",
"restricted": true,
"ssh_keys": [
"home-pc",
"laptop"
],
"tfa_enabled": true,
"username": "example_user",
"verified_phone_number": "+5555555555"
}{
"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. | ||||
last_login Nullable | objectInformation for the most recent login attempt for this User.
Access the User Logins List All command for additional login information.
| ||||
password_created Nullable | string<date-time>The date and time when this User’s current password was created. User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.
| ||||
restricted | booleanIf 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 stringsA 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 | booleanA 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 | 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). | ||||
verified_phone_number Nullable | string<phone>The phone number verified for this User Profile with the Phone Number Verify ( POST /profile/phone-number/verify) command.
|
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 | stringRequiredThe username to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/account/users/example_user/grants
Response Samples
{
"database": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"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
database | array
of objectsThe grants this User has for each Database that is owned by this Account.
| ||||||||||||||||||||||||
domain | array
of objectsThe grants this User has for each Domain that is owned by this Account.
| ||||||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||||||
image | array
of objectsThe grants this User has for each Image that is owned by this Account.
| ||||||||||||||||||||||||
linode | array
of objectsThe grants this User has for each Linode that is owned by this Account.
| ||||||||||||||||||||||||
longview | array
of objectsThe grants this User has for each Longview Client that is owned by this Account.
| ||||||||||||||||||||||||
nodebalancer | array
of objectsThe grants this User has for each NodeBalancer that is owned by this Account.
| ||||||||||||||||||||||||
stackscript | array
of objectsThe grants this User has for each StackScript that is owned by this Account.
| ||||||||||||||||||||||||
volume | array
of objectsThe grants this User has for each Block Storage Volume that is owned by this 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 | stringRequiredThe 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
database | array
of objectsThe grants this User has for each Database that is owned by this Account.
| ||||||||||||||||||||||||
domain | array
of objectsThe grants this User has for each Domain that is owned by this Account.
| ||||||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||||||
image | array
of objectsThe grants this User has for each Image that is owned by this Account.
| ||||||||||||||||||||||||
linode | array
of objectsThe grants this User has for each Linode that is owned by this Account.
| ||||||||||||||||||||||||
longview | array
of objectsThe grants this User has for each Longview Client that is owned by this Account.
| ||||||||||||||||||||||||
nodebalancer | array
of objectsThe grants this User has for each NodeBalancer that is owned by this Account.
| ||||||||||||||||||||||||
stackscript | array
of objectsThe grants this User has for each StackScript that is owned by this Account.
| ||||||||||||||||||||||||
volume | array
of objectsThe grants this User has for each Block Storage Volume that is owned by this Account.
|
Response Samples
{
"database": [
{
"id": 123,
"label": "example-entity",
"permissions": "read_only"
}
],
"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
database | array
of objectsThe grants this User has for each Database that is owned by this Account.
| ||||||||||||||||||||||||
domain | array
of objectsThe grants this User has for each Domain that is owned by this Account.
| ||||||||||||||||||||||||
global | objectA structure containing the Account-level grants a User has.
| ||||||||||||||||||||||||
image | array
of objectsThe grants this User has for each Image that is owned by this Account.
| ||||||||||||||||||||||||
linode | array
of objectsThe grants this User has for each Linode that is owned by this Account.
| ||||||||||||||||||||||||
longview | array
of objectsThe grants this User has for each Longview Client that is owned by this Account.
| ||||||||||||||||||||||||
nodebalancer | array
of objectsThe grants this User has for each NodeBalancer that is owned by this Account.
| ||||||||||||||||||||||||
stackscript | array
of objectsThe grants this User has for each StackScript that is owned by this Account.
| ||||||||||||||||||||||||
volume | array
of objectsThe grants this User has for each Block Storage Volume that is owned by this Account.
|
errors | array
of objects
|