openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Linode Service transfers API' version: 4.215.0 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 paths: /{apiVersion}/account/service-transfers: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta 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 post: description: '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 operation can only be accessed by the unrestricted users of an account. There are several conditions that you need to meet to successfully create a transfer request: 1. The account creating the transfer can''t have a past due balance or active Terms of Service violation. 1. The service needs to be owned by the account that is creating the transfer. 1. The service can''t be assigned to another Service Transfer that is pending or that''s been accepted and is incomplete. 1. Linodes can''t: - be assigned to a NodeBalancer, Firewall, VLAN, VPC, or Managed Service. - have any attached Block Storage Volumes. - have any shared IP addresses. - have any assigned /32, /56, /64, or /116 IPv6 ranges. > --- - __CLI__. ``` linode-cli service-transfers \ create \ --entities.linodes 111 \ --entities.linodes 222 ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' 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: 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 x-example: x-ref: ../examples/post-service-transfer.json description: The services to include in this transfer request. responses: '200': content: application/json: 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. `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.' 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 x-example: x-ref: ../examples/post-service-transfer-200.json description: Returns a Service Transfer object for the request. default: content: application/json: schema: additionalProperties: false properties: errors: 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 - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: create x-linode-grant: unrestricted only get: description: 'Returns a collection of all created and accepted Service Transfers for this account, regardless of the user that created or accepted the transfer. This operation can only be accessed by the unrestricted users of an account. > --- - __CLI__. ``` linode-cli service-transfers \ list ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-service-transfers operationId: get-service-transfers parameters: - description: The page of a collection to return. example: '{{page}}' in: query name: page required: false schema: default: 1 example: 6 minimum: 1 type: integer x-akamai: file-path: parameters/page-offset.yaml - description: The number of items to return per page. example: '{{page_size}}' in: query name: page_size schema: default: 100 example: 50 maximum: 500 minimum: 25 type: integer x-akamai: file-path: parameters/page-size.yaml responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: 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. `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.' 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 type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/added-get-service-transfers-200.yaml x-example: x-ref: ../examples/get-service-transfers-200.json description: Returns a paginated list of Service Transfer objects containing the details of all transfers that have been created and accepted by this account. default: content: application/json: schema: additionalProperties: false properties: errors: 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_only summary: List service transfers tags: - Service transfers x-akamai: tabs: - syntax: "linode-cli service-transfers \\\n list" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: - list - ls x-linode-grant: unrestricted only /{apiVersion}/account/service-transfers/{token}: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The UUID of the Service Transfer. example: '{{token}}' in: path name: token required: true schema: format: uuid type: string x-akamai: file-path: parameters/token-path-f857f5a2.yaml x-akamai: file-path: paths/service-transfer.yaml path-info: /{apiVersion}/account/service-transfers/{token} x-linode-cli-command: service-transfers get: description: '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 operation. 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. > --- - __CLI__. ``` linode-cli service-transfers \ view 123E4567-E89B-12D3-A456-426614174000 ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-service-transfer operationId: get-service-transfer responses: '200': content: application/json: 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. `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.' 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 x-example: x-ref: ../examples/get-service-transfer-200.json description: Returns a Service Transfer object containing the details of the transfer for the specified token. default: content: application/json: schema: additionalProperties: false properties: errors: 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_only summary: Get a service transfer request tags: - Service transfers x-akamai: tabs: - syntax: "linode-cli service-transfers \\\n view 123E4567-E89B-12D3-A456-426614174000" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: view x-linode-grant: unrestricted only delete: description: '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 operation can only be accessed by the unrestricted users of the account that created this transfer. > --- - __CLI__. ``` linode-cli service-transfers \ cancel 123E4567-E89B-12D3-A456-426614174000 ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-service-transfer operationId: delete-service-transfer responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/delete-service-transfer-200.json description: Service Transfer canceled. default: content: application/json: schema: additionalProperties: false properties: errors: 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: Cancel a service transfer tags: - Service transfers x-akamai: tabs: - syntax: "linode-cli service-transfers \\\n cancel 123E4567-E89B-12D3-A456-426614174000" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: cancel x-linode-grant: unrestricted only /{apiVersion}/account/service-transfers/{token}/accept: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The UUID of the Service Transfer. example: '{{token}}' in: path name: token required: true schema: format: uuid type: string x-akamai: file-path: parameters/token-path-f857f5a2.yaml x-akamai: file-path: paths/service-transfer-accept.yaml path-info: /{apiVersion}/account/service-transfers/{token}/accept x-linode-cli-command: service-transfers post: description: '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 operation 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: 1. Only transfers with a `pending` status can be accepted. 1. 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. 1. Both the account that created the transfer and the account that is accepting the transfer must not have any active Terms of Service violations. 1. The service must still be owned by the account that created the transfer. 1. 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. > --- - __CLI__. ``` linode-cli service-transfers \ accept 123E4567-E89B-12D3-A456-426614174000 ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-accept-service-transfer operationId: post-accept-service-transfer responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/post-accept-service-transfer-200.json description: Service Transfer accepted. default: content: application/json: schema: additionalProperties: false properties: errors: 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: Accept a service transfer tags: - Service transfers x-akamai: tabs: - syntax: "linode-cli service-transfers \\\n accept 123E4567-E89B-12D3-A456-426614174000" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: accept x-linode-grant: unrestricted only 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. 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-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to 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 x-readme: samples-languages: - curl - python - node