---
updatedAt: 2026-06-08T17:21:56.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/linode-api/llms.txt
---

# Request a service transfer

Creates a transfer request for one or more services you specify. A request can contain any of the eligible service types and any number of each service type. Currently, you can only transfer your Linode instances.

**Create the service transfer**

DNS records assigned to requested services _aren't_ transferred or updated. Ensure that you update any applicable DNS records or communicate them to the recipient before transfer.

When creating a service transfer, consider these points:

- Your account can't have a past due balance or other limitations. It also can't have any active terms of service violations.

- On your account, you need to have access to any transferred service.

- The service can't be assigned to another pending service transfer request or a request that's been [accepted](ref:post-accept-service-transfer), but is incomplete.

- Linodes _can't_:

    - be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.

    - have a Reserved IPv4 address assigned to them. To transfer a Linode with a reserved IP, you must first convert the address to an ephemeral IP or unassign it.

    - have any attached Block Storage volumes.

    - have any shared IP addresses.

    - have any assigned `/32`, `/56`, `/64`, or `/116` IPv6 ranges.

    - have a [resource lock](ref:post-resource-lock) set. You need to unlock the Linode by deleting the lock.

After you create a service transfer request, the email address assigned to your account will receive a message. The message also contains a transfer token you need to store, and instructions to complete the transfer.

> 📘
>
> A requested transfer expires 24 hours after creation.

**Accept a service transfer**

You [accept](ref:post-accept-service-transfer) a transfer using a separate operation. Once you do, the requested services are moved to the target account. Your Akamai Cloud services aren't interrupted due to a transfer. Backups for Linode instances are transferred as well.

A transfer can take up to three hours to complete once accepted. Once the transfer completes, billing for transferred services ends for your account, and begins for the account that accepted the request.


**Permissions and scopes**

To call this operation, you need the following:

- **Identity and access permissions**. Your user needs a role with these permissions assigned. [Learn more](https://techdocs.akamai.com/cloud-computing/docs/identity-access-cm-available-roles).
  - Permissions: `create_service_transfer`
- **OAuth scopes**. Your user needs these scopes assigned. [Learn more](https://techdocs.akamai.com/linode-api/reference/get-started#oauth).

  - Scopes: `account:read_write`


**CLI**

```shell
linode-cli service-transfers \
  create \
  --entities.linodes 111 \
  --entities.linodes 222
```

[Learn more](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)

# OpenAPI definition

````json
{
  "components": {
    "securitySchemes": {
      "oauth": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.linode.com/oauth/authorize",
            "scopes": {
              "account:read_only": "Allows access to GET information about your account.",
              "account:read_write": "Allows access to all endpoints related to your account.",
              "child_account:read_only": "Allows access to GET information about deprecated parent/child operations.",
              "child_account:read_write": "Allows access to deprecated parent/child operations.",
              "databases:read_only": "Allows access to GET information about databases.",
              "databases:read_write": "Allows access to all endpoints related to databases.",
              "domains:read_only": "Allows access to GET Domains on your account.",
              "domains:read_write": "Allows access to all Domain endpoints.",
              "events:read_only": "Allows access to GET your Events.",
              "events:read_write": "Allows access to all endpoints related to your Events.",
              "firewall:read_only": "Allows access to GET information about your Firewalls.",
              "firewall:read_write": "Allows access to all Firewall endpoints.",
              "images:read_only": "Allows access to GET your Images.",
              "images:read_write": "Allows access to all endpoints related to your Images.",
              "ips:read_only": "Allows access to GET your ips.",
              "ips:read_write": "Allows access to all endpoints related to your ips.",
              "linodes:read_only": "Allows access to GET Linodes on your account.",
              "linodes:read_write": "Allow access to all endpoints related to your Linodes.",
              "lke:read_only": "Allows access to GET LKE Clusters on your account.",
              "lke:read_write": "Allows access to all endpoints related to LKE Clusters on your account.",
              "longview:read_only": "Allows access to GET your Longview Clients.",
              "longview:read_write": "Allows access to all endpoints related to your Longview Clients.",
              "monitor:read_only": "Allows access to Monitor (Akamai Cloud Pulse) data.",
              "monitor:read_write": "Allows access to GET Monitor (Akamai Cloud Pulse) data.",
              "nodebalancers:read_only": "Allows access to GET NodeBalancers on your account.",
              "nodebalancers:read_write": "Allows access to all NodeBalancer endpoints.",
              "object_storage:read_only": "Allows access to GET information related to your Object Storage.",
              "object_storage:read_write": "Allows access to all Object Storage endpoints.",
              "stackscripts:read_only": "Allows access to GET your StackScripts.",
              "stackscripts:read_write": "Allows access to all endpoints related to your StackScripts.",
              "volumes:read_only": "Allows access to GET your Volumes.",
              "volumes:read_write": "Allows access to all endpoints related to your Volumes.",
              "vpc:read_write": "Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion."
            },
            "tokenUrl": "https://login.linode.com/oauth/token"
          }
        },
        "type": "oauth2"
      },
      "personalAccessToken": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "description": "See documentation for Akamai's Linode API",
    "url": "https://techdocs.akamai.com/linode-api/reference"
  },
  "info": {
    "description": "\"[Read the API documentation](https://techdocs.akamai.com/linode-api/reference/api).\"",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "title": "Administration",
    "version": "4.229.1"
  },
  "openapi": "3.0.1",
  "paths": {
    "/{apiVersion}/account/service-transfers": {
      "post": {
        "description": "Creates a transfer request for one or more services you specify. A request can contain any of the eligible service types and any number of each service type. Currently, you can only transfer your Linode instances.\n\n**Create the service transfer**\n\nDNS records assigned to requested services _aren't_ transferred or updated. Ensure that you update any applicable DNS records or communicate them to the recipient before transfer.\n\nWhen creating a service transfer, consider these points:\n\n- Your account can't have a past due balance or other limitations. It also can't have any active terms of service violations.\n\n- On your account, you need to have access to any transferred service.\n\n- The service can't be assigned to another pending service transfer request or a request that's been [accepted](https://techdocs.akamai.com/linode-api/reference/post-accept-service-transfer), but is incomplete.\n\n- Linodes _can't_:\n\n    - be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.\n\n    - have a Reserved IPv4 address assigned to them. To transfer a Linode with a reserved IP, you must first convert the address to an ephemeral IP or unassign it.\n\n    - have any attached Block Storage volumes.\n\n    - have any shared IP addresses.\n\n    - have any assigned `/32`, `/56`, `/64`, or `/116` IPv6 ranges.\n\n    - have a [resource lock](https://techdocs.akamai.com/linode-api/reference/post-resource-lock) set. You need to unlock the Linode by deleting the lock.\n\nAfter you create a service transfer request, the email address assigned to your account will receive a message. The message also contains a transfer token you need to store, and instructions to complete the transfer.\n\n> 📘\n>\n> A requested transfer expires 24 hours after creation.\n\n**Accept a service transfer**\n\nYou [accept](https://techdocs.akamai.com/linode-api/reference/post-accept-service-transfer) a transfer using a separate operation. Once you do, the requested services are moved to the target account. Your Akamai Cloud services aren't interrupted due to a transfer. Backups for Linode instances are transferred as well.\n\nA transfer can take up to three hours to complete once accepted. Once the transfer completes, billing for transferred services ends for your account, and begins for the account that accepted the request.\n\n\n**Permissions and scopes**\n\nTo call this operation, you need the following:\n\n- **Identity and access permissions**. Your user needs a role with these permissions assigned. [Learn more](https://techdocs.akamai.com/cloud-computing/docs/identity-access-cm-available-roles).\n  - Permissions: `create_service_transfer`\n- **OAuth scopes**. Your user needs these scopes assigned. [Learn more](https://techdocs.akamai.com/linode-api/reference/get-started#oauth).\n\n  - Scopes: `account:read_write`\n\n\n**CLI**\n\n```shell\nlinode-cli service-transfers \\\n  create \\\n  --entities.linodes 111 \\\n  --entities.linodes 222\n```\n\n[Learn more](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)",
        "externalDocs": {
          "description": "See documentation for this operation in Akamai's Linode API",
          "url": "https://techdocs.akamai.com/linode-api/reference/post-service-transfer"
        },
        "operationId": "post-service-transfer",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "entities": {
                  "linodes": [
                    111
                  ]
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "entities": {
                    "additionalProperties": false,
                    "description": "A collection of the services to include in this transfer request, separated by type.",
                    "properties": {
                      "linodes": {
                        "description": "An array containing the IDs of each of the Linodes included in this transfer.",
                        "example": [
                          111,
                          222
                        ],
                        "items": {
                          "type": "integer"
                        },
                        "type": "array",
                        "x-linode-cli-display": 5
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "entities"
                ],
                "type": "object",
                "x-akamai": {
                  "file-path": "schemas/added-post-service-transfer.yaml"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "created": "2021-02-11T16:37:03",
                  "entities": {
                    "linodes": [
                      111,
                      222
                    ]
                  },
                  "expiry": "2025-11-12T16:37:03",
                  "is_sender": true,
                  "status": "pending",
                  "token": "123E4567-E89B-12D3-A456-426614174000",
                  "updated": "2025-11-11T16:37:03"
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "An object representing a Service Transfer.",
                  "properties": {
                    "created": {
                      "description": "When this transfer was created.",
                      "example": "2021-02-11T16:37:03",
                      "format": "date-time",
                      "type": "string"
                    },
                    "entities": {
                      "additionalProperties": false,
                      "description": "A collection of the services to include in this transfer request, separated by type.",
                      "properties": {
                        "linodes": {
                          "description": "An array containing the IDs of each of the Linodes included in this transfer.",
                          "example": [
                            111,
                            222
                          ],
                          "items": {
                            "type": "integer"
                          },
                          "type": "array",
                          "x-linode-cli-display": 5
                        }
                      },
                      "type": "object"
                    },
                    "expiry": {
                      "description": "When this transfer expires. Transfers will automatically expire 24 hours after creation.",
                      "example": "2021-02-12T16:37:03",
                      "format": "date-time",
                      "type": "string",
                      "x-linode-cli-display": 3
                    },
                    "is_sender": {
                      "description": "__Filterable__ If the requesting account created this transfer.",
                      "example": true,
                      "type": "boolean",
                      "x-akamai": {
                        "labels": [
                          "Filterable"
                        ]
                      },
                      "x-linode-cli-display": 4,
                      "x-linode-filterable": true
                    },
                    "status": {
                      "description": "__Filterable__ The status of the transfer request.\n\n- `accepted`: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.\n\n- `canceled`. The transfer has been canceled by the sender.\n\n- `completed`. The transfer has completed successfully.\n\n- `failed`. The transfer has failed after initiation.\n\n- `pending`. The transfer is ready to be accepted.\n\n- `stale`. The transfer has exceeded its expiration date. It can no longer be accepted or\ncanceled.",
                      "enum": [
                        "accepted",
                        "canceled",
                        "completed",
                        "failed",
                        "pending",
                        "stale"
                      ],
                      "example": "pending",
                      "type": "string",
                      "x-akamai": {
                        "labels": [
                          "Filterable"
                        ]
                      },
                      "x-linode-cli-color": {
                        "accepted": "yellow",
                        "canceled": "red",
                        "completed": "green",
                        "default_": "white",
                        "failed": "red",
                        "pending": "yellow",
                        "stale": "red"
                      },
                      "x-linode-cli-display": 2,
                      "x-linode-filterable": true
                    },
                    "token": {
                      "description": "The token used to identify and accept or cancel this transfer.",
                      "example": "123E4567-E89B-12D3-A456-426614174000",
                      "format": "uuid",
                      "type": "string",
                      "x-linode-cli-display": 1
                    },
                    "updated": {
                      "description": "When this transfer was last updated.",
                      "example": "2021-02-11T16:37:03",
                      "format": "date-time",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/service-transfer.yaml"
                  }
                }
              }
            },
            "description": "Returns a service transfer object for the request."
          },
          "default": {
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    {
                      "reason": "Invalid JSON"
                    }
                  ]
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "errors": {
                      "description": "Any warnings associated with a response.",
                      "items": {
                        "additionalProperties": false,
                        "description": "An object for describing a single error that occurred during the processing of a request.",
                        "properties": {
                          "field": {
                            "description": "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.",
                            "example": "fieldname",
                            "type": "string"
                          },
                          "reason": {
                            "description": "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](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.",
                            "example": "fieldname must be a valid value",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-akamai": {
                          "file-path": "schemas/error-object.yaml"
                        }
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
          }
        },
        "security": [
          {
            "personalAccessToken": []
          },
          {
            "oauth": [
              "account:read_write"
            ]
          }
        ],
        "summary": "Request a service transfer",
        "tags": [
          "Service transfers"
        ],
        "x-akamai": {
          "tabs": [
            {
              "syntax": "linode-cli service-transfers \\\n  create \\\n  --entities.linodes 111 \\\n  --entities.linodes 222",
              "title": "CLI",
              "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli"
            }
          ]
        },
        "x-linode-cli-action": "create",
        "x-linode-grant": "unrestricted only",
        "x-linode-iam": [
          {
            "permissions": [
              "create_service_transfer"
            ]
          }
        ]
      },
      "parameters": [
        {
          "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.",
          "in": "path",
          "name": "apiVersion",
          "required": true,
          "schema": {
            "enum": [
              "v4",
              "v4beta"
            ],
            "example": "v4",
            "type": "string"
          },
          "x-akamai": {
            "file-path": "parameters/api-version-path.yaml"
          }
        }
      ],
      "x-akamai": {
        "file-path": "paths/service-transfers.yaml",
        "path-info": "/{apiVersion}/account/service-transfers"
      },
      "x-linode-cli-command": "service-transfers"
    }
  },
  "servers": [
    {
      "url": "https://api.linode.com"
    }
  ],
  "tags": [
    {
      "description": "Use these operations to manage transfer requests for specific Akamai Cloud Computing services. For example, you could request a service transfer to move a Linode from one region to another. Service transfers have replaced  Entity transfers, which have been deprecated.",
      "name": "Service transfers"
    }
  ],
  "x-akamai": {
    "auth-type": "OAUTH",
    "file-path": "administration.yaml"
  },
  "x-readme": {
    "apply-tag-changes": true,
    "explorer-enabled": false,
    "samples-languages": [
      "curl",
      "python",
      "node"
    ]
  }
}
````

# Sibling pages

* [List service transfers](https://techdocs.akamai.com/linode-api/reference/get-service-transfers.md)
* [Get a service transfer request](https://techdocs.akamai.com/linode-api/reference/get-service-transfer.md)
* [Cancel a service transfer](https://techdocs.akamai.com/linode-api/reference/delete-service-transfer.md)
* [Accept a service transfer](https://techdocs.akamai.com/linode-api/reference/post-accept-service-transfer.md)