Account

Service Transfers List

get
https://api.linode.com/v4/account/service-transfers

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.

Query Parameters

page
integer > = 1
Default: 1

The page of a collection to return.

page_size
integer [25 .. 500]
Default: 100

The number of items to return per page.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
  https://api.linode.com/v4/account/service-transfers

Response Samples

{
  "data": [
    {
      "created": "2021-02-11T16:37:03",
      "status": "pending",
      "token": "123E4567-E89B-12D3-A456-426614174000",
      "updated": "2021-02-11T16:37:03",
      "is_sender": true,
      "expiry": "2021-02-12T16:37:03",
      "entities": {
        "linodes": [
          111,
          222
        ]
      }
    }
  ],
  "page": 1,
  "pages": 1,
  "results": 1
}

Responses

200: Returns a paginated list of Service Transfer objects containing the details of all transfers that have been created and accepted by this account.

data
array of objects
created
string

When this transfer was created.

status
Filterable
string
Enum: "accepted""canceled""completed""failed""pending""stale"

The status of the transfer request.

accepted: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.

canceled: The transfer has been canceled by the sender.

completed: The transfer has completed successfully.

failed: The transfer has failed after initiation.

pending: The transfer is ready to be accepted.

stale: The transfer has exceeded its expiration date. It can no longer be accepted or canceled.

token
string

The token used to identify and accept or cancel this transfer.

updated
string

When this transfer was last updated.

is_sender
Filterable
boolean

If the requesting account created this transfer.

expiry
string

When this transfer expires. Transfers will automatically expire 24 hours after creation.

entities
object

A collection of the services to include in this transfer request, separated by type.

linodes
array

An array containing the IDs of each of the Linodes included in this transfer.

page
integer

The current page.

pages
integer

The total number of pages.

results
integer

The total number of results.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

Service Transfer Create

post
https://api.linode.com/v4/account/service-transfers

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:

  1. The account creating the transfer must not have a past due balance or active Terms of Service violation.

  2. The service must be owned by the account that is creating the transfer.

  3. The service must not be assigned to another Service Transfer that is pending or that has been accepted and is incomplete.

  4. 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.

Request Body Schema

entities
Required
object

A collection of the services to include in this transfer request, separated by type.

linodes
array

An array containing the IDs of each of the Linodes included in this transfer.

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

Response Samples

{
  "token": "123E4567-E89B-12D3-A456-426614174000",
  "status": "pending",
  "created": "2021-02-11T16:37:03",
  "updated": "2021-02-11T16:37:03",
  "is_sender": true,
  "expiry": "2021-02-12T16:37:03",
  "entities": {
    "linodes": [
      111,
      222
    ]
  }
}

Responses

200: Returns a Service Transfer object for the request.

token
string <uuid>

The token used to identify and accept or cancel this transfer.

status
Filterable
string
Enum: "accepted""canceled""completed""failed""pending""stale"

The status of the transfer request.

accepted: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.

canceled: The transfer has been canceled by the sender.

completed: The transfer has completed successfully.

failed: The transfer has failed after initiation.

pending: The transfer is ready to be accepted.

stale: The transfer has exceeded its expiration date. It can no longer be accepted or canceled.

created
string <date-time>

When this transfer was created.

updated
string <date-time>

When this transfer was last updated.

is_sender
Filterable
boolean

If the requesting account created this transfer.

expiry
string <date-time>

When this transfer expires. Transfers will automatically expire 24 hours after creation.

entities
object

A collection of the services to include in this transfer request, separated by type.

linodes
array

An array containing the IDs of each of the Linodes included in this transfer.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.