{
  "packagePath": "admin",
  "canonicalName": "DataTransfer",
  "kind": "discovery#restDescription",
  "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.",
  "mtlsRootUrl": "https://admin.mtls.googleapis.com/",
  "documentationLink": "https://developers.google.com/workspace/admin/",
  "version": "datatransfer_v1",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/admin.datatransfer.readonly": {
          "description": "View data transfers between users in your organization"
        },
        "https://www.googleapis.com/auth/admin.datatransfer": {
          "description": "View and manage data transfers between users in your organization"
        }
      }
    }
  },
  "protocol": "rest",
  "resources": {
    "applications": {
      "methods": {
        "list": {
          "response": {
            "$ref": "ApplicationsListResponse"
          },
          "description": "Lists the applications available for data transfer for a customer.",
          "parameters": {
            "maxResults": {
              "maximum": "500",
              "type": "integer",
              "location": "query",
              "minimum": "1",
              "description": "Maximum number of results to return. Default is 100.",
              "format": "int32"
            },
            "customerId": {
              "description": "Immutable ID of the Google Workspace account.",
              "type": "string",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "description": "Token to specify next page in the list.",
              "location": "query"
            }
          },
          "flatPath": "admin/datatransfer/v1/applications",
          "httpMethod": "GET",
          "parameterOrder": [],
          "id": "datatransfer.applications.list",
          "path": "admin/datatransfer/v1/applications",
          "scopes": [
            "https://www.googleapis.com/auth/admin.datatransfer",
            "https://www.googleapis.com/auth/admin.datatransfer.readonly"
          ]
        },
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/admin.datatransfer",
            "https://www.googleapis.com/auth/admin.datatransfer.readonly"
          ],
          "parameterOrder": [
            "applicationId"
          ],
          "id": "datatransfer.applications.get",
          "response": {
            "$ref": "Application"
          },
          "description": "Retrieves information about an application for the given application ID.",
          "path": "admin/datatransfer/v1/applications/{applicationId}",
          "parameters": {
            "applicationId": {
              "required": true,
              "type": "string",
              "description": "ID of the application resource to be retrieved.",
              "format": "int64",
              "location": "path"
            }
          },
          "flatPath": "admin/datatransfer/v1/applications/{applicationId}",
          "httpMethod": "GET"
        }
      }
    },
    "transfers": {
      "methods": {
        "insert": {
          "scopes": [
            "https://www.googleapis.com/auth/admin.datatransfer"
          ],
          "parameterOrder": [],
          "path": "admin/datatransfer/v1/transfers",
          "description": "Inserts a data transfer request. See the [Transfer parameters](https://developers.google.com/workspace/admin/data-transfer/v1/parameters) reference for specific application requirements.",
          "response": {
            "$ref": "DataTransfer"
          },
          "id": "datatransfer.transfers.insert",
          "flatPath": "admin/datatransfer/v1/transfers",
          "request": {
            "$ref": "DataTransfer"
          },
          "parameters": {},
          "httpMethod": "POST"
        },
        "get": {
          "flatPath": "admin/datatransfer/v1/transfers/{dataTransferId}",
          "description": "Retrieves a data transfer request by its resource ID.",
          "parameterOrder": [
            "dataTransferId"
          ],
          "response": {
            "$ref": "DataTransfer"
          },
          "scopes": [
            "https://www.googleapis.com/auth/admin.datatransfer",
            "https://www.googleapis.com/auth/admin.datatransfer.readonly"
          ],
          "path": "admin/datatransfer/v1/transfers/{dataTransferId}",
          "parameters": {
            "dataTransferId": {
              "type": "string",
              "description": "ID of the resource to be retrieved. This is returned in the response from the insert method.",
              "location": "path",
              "required": true
            }
          },
          "httpMethod": "GET",
          "id": "datatransfer.transfers.get"
        },
        "list": {
          "id": "datatransfer.transfers.list",
          "parameterOrder": [],
          "flatPath": "admin/datatransfer/v1/transfers",
          "path": "admin/datatransfer/v1/transfers",
          "response": {
            "$ref": "DataTransfersListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/admin.datatransfer",
            "https://www.googleapis.com/auth/admin.datatransfer.readonly"
          ],
          "parameters": {
            "oldOwnerUserId": {
              "type": "string",
              "description": "Source user's profile ID.",
              "location": "query"
            },
            "customerId": {
              "description": "Immutable ID of the Google Workspace account.",
              "location": "query",
              "type": "string"
            },
            "status": {
              "location": "query",
              "description": "Status of the transfer.",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "Token to specify the next page in the list."
            },
            "newOwnerUserId": {
              "description": "Destination user's profile ID.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "minimum": "1",
              "maximum": "500",
              "description": "Maximum number of results to return. Default is 100.",
              "format": "int32",
              "type": "integer",
              "location": "query"
            }
          },
          "httpMethod": "GET",
          "description": "Lists the transfers for a customer by source user, destination user, or status."
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "discoveryVersion": "v1",
  "servicePath": "",
  "schemas": {
    "DataTransfer": {
      "properties": {
        "id": {
          "description": "Read-only. The transfer's ID.",
          "type": "string"
        },
        "kind": {
          "default": "admin#datatransfer#DataTransfer",
          "type": "string",
          "description": "Identifies the resource as a DataTransfer request."
        },
        "oldOwnerUserId": {
          "description": "ID of the user whose data is being transferred.",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "ETag of the resource."
        },
        "requestTime": {
          "description": "Read-only. The time at which the data transfer was requested.",
          "format": "date-time",
          "type": "string"
        },
        "overallTransferStatusCode": {
          "description": "Read-only. Overall transfer status.",
          "type": "string"
        },
        "newOwnerUserId": {
          "description": "ID of the user to whom the data is being transferred.",
          "type": "string"
        },
        "applicationDataTransfers": {
          "items": {
            "$ref": "ApplicationDataTransfer"
          },
          "type": "array",
          "description": "The list of per-application data transfer resources. It contains details of the applications associated with this transfer resource, and also specifies the applications for which data transfer has to be done at the time of the transfer resource creation."
        }
      },
      "id": "DataTransfer",
      "type": "object",
      "description": "A Transfer resource represents the transfer of the ownership of user data between users."
    },
    "ApplicationTransferParam": {
      "type": "object",
      "description": "Template for application transfer parameters.",
      "properties": {
        "key": {
          "type": "string",
          "description": "The type of the transfer parameter, such as `PRIVACY_LEVEL`."
        },
        "value": {
          "items": {
            "type": "string"
          },
          "description": "The value of the transfer parameter, such as `PRIVATE` or `SHARED`.",
          "type": "array"
        }
      },
      "id": "ApplicationTransferParam"
    },
    "DataTransfersListResponse": {
      "id": "DataTransfersListResponse",
      "description": "Template for a collection of DataTransfer resources.",
      "type": "object",
      "properties": {
        "dataTransfers": {
          "type": "array",
          "items": {
            "$ref": "DataTransfer"
          },
          "description": "List of data transfer requests."
        },
        "nextPageToken": {
          "description": "Token to specify the next page in the list.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "default": "admin#datatransfer#dataTransfersList",
          "description": "Identifies the resource as a collection of data transfer requests."
        },
        "etag": {
          "description": "ETag of the resource.",
          "type": "string"
        }
      }
    },
    "ApplicationDataTransfer": {
      "type": "object",
      "properties": {
        "applicationTransferParams": {
          "items": {
            "$ref": "ApplicationTransferParam"
          },
          "description": "The transfer parameters for the application. These parameters are used to select the data which will get transferred in context of this application. For more information about the specific values available for each application, see the [Transfer parameters](https://developers.google.com/workspace/admin/data-transfer/v1/parameters) reference.",
          "type": "array"
        },
        "applicationId": {
          "type": "string",
          "format": "int64",
          "description": "The application's ID."
        },
        "applicationTransferStatus": {
          "type": "string",
          "description": "Read-only. Current status of transfer for this application."
        }
      },
      "description": "Template to map fields of ApplicationDataTransfer resource.",
      "id": "ApplicationDataTransfer"
    },
    "Application": {
      "type": "object",
      "description": "Application resources represent applications installed on the domain that support transferring ownership of user data.",
      "id": "Application",
      "properties": {
        "name": {
          "description": "The application's name.",
          "type": "string"
        },
        "transferParams": {
          "description": "The list of all possible transfer parameters for this application. These parameters select which categories of the user's data to transfer.",
          "type": "array",
          "items": {
            "$ref": "ApplicationTransferParam"
          }
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "The application's ID. Retrievable by using the [`applications.list()`](https://developers.google.com/workspace/admin/data-transfer/reference/rest/v1/applications/list) method."
        },
        "kind": {
          "description": "Identifies the resource as a DataTransfer Application Resource.",
          "type": "string",
          "default": "admin#datatransfer#ApplicationResource"
        },
        "etag": {
          "description": "Etag of the resource.",
          "type": "string"
        }
      }
    },
    "ApplicationsListResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Token to specify the next page in the list.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "default": "admin#datatransfer#applicationsList",
          "description": "Identifies the resource as a collection of Applications."
        },
        "etag": {
          "description": "ETag of the resource.",
          "type": "string"
        },
        "applications": {
          "type": "array",
          "description": "The list of applications that support data transfer and are also installed for the customer.",
          "items": {
            "$ref": "Application"
          }
        }
      },
      "description": "Template for a collection of Applications.",
      "id": "ApplicationsListResponse"
    }
  },
  "id": "admin:datatransfer_v1",
  "fullyEncodeReservedExpansion": true,
  "rootUrl": "https://admin.googleapis.com/",
  "title": "Admin SDK API",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "name": "admin",
  "basePath": "",
  "batchPath": "batch",
  "ownerName": "Google",
  "baseUrl": "https://admin.googleapis.com/",
  "parameters": {
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean",
      "default": "true"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "location": "query"
    }
  },
  "revision": "20260917"
}
