Google Cloud Transfer Service TransferJobs API

Operations for managing transfer jobs

OpenAPI Specification

google-cloud-transfer-service-transferjobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud Transfer Service Google Storage Transfer AgentPools TransferJobs API
  description: The Storage Transfer API provides programmatic access to Google Cloud Storage Transfer Service for creating, managing, and monitoring data transfer jobs between cloud storage systems and on-premises storage. It supports scheduling transfers, configuring transfer options, managing agent pools, and monitoring transfer operations.
  version: v1
  contact:
    name: Google Cloud Support
    url: https://cloud.google.com/storage-transfer/docs
  termsOfService: https://cloud.google.com/terms
servers:
- url: https://storagetransfer.googleapis.com/v1
  description: Production Server
security:
- oauth2: []
tags:
- name: TransferJobs
  description: Operations for managing transfer jobs
paths:
  /transferJobs:
    get:
      operationId: listTransferJobs
      summary: Google Cloud Transfer Service List transfer jobs
      description: Lists transfer jobs with optional filtering.
      tags:
      - TransferJobs
      parameters:
      - name: filter
        in: query
        required: true
        schema:
          type: string
        description: JSON filter for transfer jobs. Must include projectId field.
      - name: pageSize
        in: query
        schema:
          type: integer
        description: Maximum number of results to return
      - name: pageToken
        in: query
        schema:
          type: string
        description: Page token for pagination
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTransferJobsResponse'
    post:
      operationId: createTransferJob
      summary: Google Cloud Transfer Service Create a transfer job
      description: Creates a transfer job that runs periodically.
      tags:
      - TransferJobs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferJob'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferJob'
  /transferJobs/{jobName}:
    get:
      operationId: getTransferJob
      summary: Google Cloud Transfer Service Get a transfer job
      description: Gets a transfer job.
      tags:
      - TransferJobs
      parameters:
      - name: jobName
        in: path
        required: true
        schema:
          type: string
      - name: projectId
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferJob'
    patch:
      operationId: updateTransferJob
      summary: Google Cloud Transfer Service Update a transfer job
      description: Updates a transfer job configuration.
      tags:
      - TransferJobs
      parameters:
      - name: jobName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                transferJob:
                  $ref: '#/components/schemas/TransferJob'
                updateTransferJobFieldMask:
                  type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferJob'
  /transferJobs/{jobName}:run:
    post:
      operationId: runTransferJob
      summary: Google Cloud Transfer Service Run a transfer job
      description: Starts a new operation for the specified transfer job.
      tags:
      - TransferJobs
      parameters:
      - name: jobName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
components:
  schemas:
    TransferSpec:
      type: object
      description: Configuration for running a transfer.
      properties:
        gcsDataSink:
          $ref: '#/components/schemas/GcsData'
        gcsDataSource:
          $ref: '#/components/schemas/GcsData'
        awsS3DataSource:
          $ref: '#/components/schemas/AwsS3Data'
        azureBlobStorageDataSource:
          $ref: '#/components/schemas/AzureBlobStorageData'
        objectConditions:
          type: object
          description: Conditions to filter objects for transfer.
          properties:
            includePrefixes:
              type: array
              items:
                type: string
            excludePrefixes:
              type: array
              items:
                type: string
            minTimeElapsedSinceLastModification:
              type: string
            maxTimeElapsedSinceLastModification:
              type: string
        transferOptions:
          type: object
          description: Transfer options to control behavior.
          properties:
            overwriteObjectsAlreadyExistingInSink:
              type: boolean
            deleteObjectsFromSourceAfterTransfer:
              type: boolean
            deleteObjectsUniqueInSink:
              type: boolean
    Date:
      type: object
      description: A date in the format YYYY-MM-DD.
      properties:
        year:
          type: integer
        month:
          type: integer
        day:
          type: integer
    Operation:
      type: object
      description: A long-running operation.
      properties:
        name:
          type: string
        done:
          type: boolean
        metadata:
          type: object
    TransferJob:
      type: object
      description: A description of the transfer job configuration.
      properties:
        name:
          type: string
          description: A unique name chosen by the user or auto-generated.
        description:
          type: string
          description: A description provided by the user.
        projectId:
          type: string
          description: The ID of the Google Cloud project that owns the job.
        transferSpec:
          $ref: '#/components/schemas/TransferSpec'
        schedule:
          $ref: '#/components/schemas/Schedule'
        status:
          type: string
          enum:
          - STATUS_UNSPECIFIED
          - ENABLED
          - DISABLED
          - DELETED
        creationTime:
          type: string
          format: date-time
        lastModificationTime:
          type: string
          format: date-time
    AzureBlobStorageData:
      type: object
      description: Azure Blob Storage container reference.
      properties:
        storageAccount:
          type: string
        azureCredentials:
          type: object
          properties:
            sasToken:
              type: string
        container:
          type: string
        path:
          type: string
    ListTransferJobsResponse:
      type: object
      properties:
        transferJobs:
          type: array
          items:
            $ref: '#/components/schemas/TransferJob'
        nextPageToken:
          type: string
    AwsS3Data:
      type: object
      description: Amazon S3 bucket reference.
      properties:
        bucketName:
          type: string
          description: S3 bucket name.
        awsAccessKey:
          type: object
          properties:
            accessKeyId:
              type: string
            secretAccessKey:
              type: string
        path:
          type: string
        roleArn:
          type: string
    GcsData:
      type: object
      description: Google Cloud Storage bucket reference.
      properties:
        bucketName:
          type: string
          description: Cloud Storage bucket name.
        path:
          type: string
          description: Root path to transfer objects.
    Schedule:
      type: object
      description: Schedule for a transfer job.
      properties:
        scheduleStartDate:
          $ref: '#/components/schemas/Date'
        scheduleEndDate:
          $ref: '#/components/schemas/Date'
        startTimeOfDay:
          type: object
          properties:
            hours:
              type: integer
            minutes:
              type: integer
            seconds:
              type: integer
            nanos:
              type: integer
        repeatInterval:
          type: string
          description: Interval between transfer runs in seconds format (e.g., 86400s).
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud resources
externalDocs:
  description: Storage Transfer API Documentation
  url: https://cloud.google.com/storage-transfer/docs/reference/rest