openapi: 3.0.0 info: title: AI Service Actions Storage Jobs API version: 1.0.0 contact: email: devel@keboola.com license: name: MIT url: https://opensource.org/licenses/MIT tags: - name: Storage Jobs paths: /v2/storage/jobs: get: tags: - Storage Jobs summary: List storage jobs description: Returns a list of storage jobs with filtering, sorting, and pagination options. operationId: get_/v2/storage/jobs::StorageJobsListAction parameters: - name: limit in: query description: Maximum number of jobs to return (pagination). required: false schema: description: Maximum number of jobs to return (pagination). type: integer nullable: true - name: offset in: query description: Offset for pagination. required: false schema: description: Offset for pagination. type: integer nullable: true - name: storage_job_status[] in: query description: Filter by job status. required: false schema: description: Filter by job status. type: array items: type: string nullable: true - name: excluded_storage_job_status[] in: query description: Exclude jobs with these statuses. required: false schema: description: Exclude jobs with these statuses. type: array items: type: string nullable: true - name: created_time in: query description: Filter by exact created time. required: false schema: description: Filter by exact created time. type: string format: date-time nullable: true - name: created_time_from in: query description: Filter jobs created after this time. required: false schema: description: Filter jobs created after this time. type: string format: date-time nullable: true - name: created_time_to in: query description: Filter jobs created before this time. required: false schema: description: Filter jobs created before this time. type: string format: date-time nullable: true - name: start_time in: query description: Filter by exact start time. required: false schema: description: Filter by exact start time. type: string format: date-time nullable: true - name: start_time_from in: query description: Filter jobs started after this time. required: false schema: description: Filter jobs started after this time. type: string format: date-time nullable: true - name: start_time_to in: query description: Filter jobs started before this time. required: false schema: description: Filter jobs started before this time. type: string format: date-time nullable: true - name: end_time in: query description: Filter by exact end time. required: false schema: description: Filter by exact end time. type: string format: date-time nullable: true - name: end_time_from in: query description: Filter jobs ended after this time. required: false schema: description: Filter jobs ended after this time. type: string format: date-time nullable: true - name: end_time_to in: query description: Filter jobs ended before this time. required: false schema: description: Filter jobs ended before this time. type: string format: date-time nullable: true responses: '200': description: List of storage jobs content: application/json: schema: type: array items: $ref: '#/components/schemas/JobResponse' '400': description: Invalid request parameters. '404': description: Resource not found. components: schemas: BucketListingCreateJobResult: required: - idBucket - listingId - listingResourceName - providerResourceName properties: idBucket: description: Identifier of the bucket the listing was created on. type: integer listingId: description: User-defined listing ID, unique within the project exchange. type: string listingResourceName: description: Fully-qualified GCP Analytics Hub listing resource name. type: string providerResourceName: description: Fully-qualified GCP Analytics Hub data exchange resource name. type: string type: object TableCreateResponse: required: - uri - id - name - displayName - transactional - primaryKey - indexType - indexKey - distributionType - distributionKey - syntheticPrimaryKeyEnabled - created - lastImportDate - lastChangeDate - rowsCount - dataSizeBytes - isAlias - isAliasable - isTyped - tableType - path - columns properties: uri: description: Table API URI type: string id: description: Table ID type: string name: description: Table name type: string displayName: description: Table display name type: string transactional: description: Is transactional type: boolean primaryKey: description: Primary key columns type: array items: type: string indexType: description: Index type type: string nullable: true indexKey: description: Index key columns type: array items: type: string distributionType: description: Distribution type type: string nullable: true distributionKey: description: Distribution key columns type: array items: type: string syntheticPrimaryKeyEnabled: description: Synthetic primary key enabled type: boolean created: description: Created timestamp type: string format: date-time nullable: true lastImportDate: description: Last import date type: string format: date-time nullable: true lastChangeDate: description: Last change date type: string format: date-time nullable: true rowsCount: description: Rows count type: integer nullable: true dataSizeBytes: description: Data size in bytes type: integer nullable: true isAlias: description: Is alias type: boolean isAliasable: description: Is aliasable type: boolean isTyped: description: Is typed table type: boolean tableType: description: Table type type: string path: description: Table path type: string columns: description: List of column names type: array items: type: string sourceTable: oneOf: - $ref: '#/components/schemas/SourceTableResponse' nullable: true description: Source table info (for aliases) aliasColumnsAutoSync: description: Alias columns auto sync (for simple aliases) type: boolean nullable: true aliasFilter: description: Alias filter (for filtered aliases) type: object nullable: true selectSql: description: Custom SQL for alias (for custom SQL aliases) type: string nullable: true type: object RefreshJobResponse: required: - uri - id - name - displayName - idBranch - stage - description - tables - created - isReadOnly - dataSizeBytes - rowsCount - isMaintenance - backend - hasExternalSchema - path - isSnowflakeSharedDatabase - warnings properties: uri: type: string id: type: string name: type: string displayName: type: string idBranch: type: integer stage: type: string description: type: string tables: type: string created: type: string lastChangeDate: type: string nullable: true updated: type: string nullable: true isReadOnly: type: boolean dataSizeBytes: type: integer rowsCount: type: integer isMaintenance: type: boolean backend: type: string sharing: type: string nullable: true hasExternalSchema: type: boolean databaseName: type: string nullable: true path: type: string isSnowflakeSharedDatabase: type: boolean color: type: string nullable: true sharingParameters: type: object nullable: true sharedBy: properties: id: type: integer nullable: true name: type: string nullable: true date: type: string nullable: true type: object nullable: true owner: type: object nullable: true sourceBucket: type: object nullable: true warnings: description: List of warnings related to the refresh operation. type: array items: properties: message: type: string context: type: string nullable: true type: object type: object TableSwapResult: required: - tableAStringId - tableBStringId properties: tableAStringId: type: string tableBStringId: type: string type: object FileDeleteResponse: required: - id - status - url - operationName - operationParams - createdTime - creatorToken - metrics properties: id: description: Job ID. type: integer status: description: Job status. type: string url: description: URL to retrieve job details. type: string tableId: description: Table identifier if applicable. type: string nullable: true operationName: description: Name of the operation. type: string operationParams: description: Parameters passed to the operation. type: object additionalProperties: type: mixed createdTime: description: Job creation timestamp. type: string format: date-time startTime: description: Job start timestamp. type: string format: date-time nullable: true endTime: description: Job completion timestamp. type: string format: date-time nullable: true runId: description: Unique run identifier. type: string nullable: true results: description: Operation results; content varies. type: object nullable: true creatorToken: description: Creator token information. properties: id: description: ID of the token that created this job. type: integer description: description: Description of the creator token. type: string nullable: true type: object metrics: description: Job execution metrics. type: object additionalProperties: type: mixed error: description: Job error information if the job failed. properties: code: description: Error code if job failed. type: string nullable: true message: description: Error message if job failed. type: string nullable: true exceptionId: description: Exception identifier. type: string nullable: true type: object nullable: true type: object BucketListingDeleteResponse: required: - id - status - url - operationName - operationParams - createdTime - creatorToken - metrics properties: id: description: Job ID. type: integer status: description: Job status. type: string url: description: URL to retrieve job details. type: string tableId: description: Table identifier if applicable. type: string nullable: true operationName: description: Name of the operation. type: string operationParams: description: Parameters passed to the operation. type: object additionalProperties: type: mixed createdTime: description: Job creation timestamp. type: string format: date-time startTime: description: Job start timestamp. type: string format: date-time nullable: true endTime: description: Job completion timestamp. type: string format: date-time nullable: true runId: description: Unique run identifier. type: string nullable: true results: description: Operation results; content varies. type: object nullable: true creatorToken: description: Creator token information. properties: id: description: ID of the token that created this job. type: integer description: description: Description of the creator token. type: string nullable: true type: object metrics: description: Job execution metrics. type: object additionalProperties: type: mixed error: description: Job error information if the job failed. properties: code: description: Error code if job failed. type: string nullable: true message: description: Error message if job failed. type: string nullable: true exceptionId: description: Exception identifier. type: string nullable: true type: object nullable: true type: object TableSnapshotCreateJobResult: required: - id - createdTime - type - creatorToken - uri - dataFileId properties: id: type: string description: type: string nullable: true createdTime: type: string format: date-time type: type: string creatorToken: properties: id: type: integer description: type: string type: object uri: type: string dataFileId: type: integer type: object SourceTableResponse: required: - id - uri - project - isAlias properties: id: description: Source table ID type: string uri: description: Source table URI type: string project: required: - id - name properties: id: description: Project ID type: integer name: description: Project name type: string type: object isAlias: description: Whether the source table is itself an alias type: boolean type: object JobResponse: description: Response object for an asynchronous storage job. required: - id - status - url - tableId - operationName - operationParams - createdTime - runId - creatorToken - metrics properties: id: description: Job ID. type: string status: description: Current status of the job. type: string url: description: API detail URL for the job. type: string tableId: description: ID of the table affected by the job. type: string operationName: description: Type of operation performed. type: string operationParams: description: Parameters for the operation. type: object createdTime: description: Job creation timestamp. type: string format: date-time startTime: description: Job start timestamp. type: string format: date-time nullable: true endTime: description: Job end timestamp. type: string format: date-time nullable: true runId: description: Run ID for the job. type: string results: oneOf: - $ref: '#/components/schemas/BucketListingUpdateJobResponse' - $ref: '#/components/schemas/BucketListingCreateJobResult' - $ref: '#/components/schemas/BucketListingDeleteResponse' - $ref: '#/components/schemas/RefreshJobResponse' - $ref: '#/components/schemas/FileDeleteResponse' - $ref: '#/components/schemas/TableSnapshotCreateJobResult' - $ref: '#/components/schemas/TableSwapResult' - $ref: '#/components/schemas/TableCreateResponse' - $ref: '#/components/schemas/TableExportJobResponse' creatorToken: description: Creator token info. properties: id: description: Access token ID. type: string description: description: Access token description. type: string type: object metrics: description: Job metrics. properties: inCompressed: description: Input is compressed. type: boolean inBytes: description: Input bytes. type: integer inBytesUncompressed: description: Input bytes uncompressed. type: integer outCompressed: description: Output is compressed. type: boolean outBytes: description: Output bytes. type: integer outBytesUncompressed: description: Output bytes uncompressed. type: integer type: object error: description: Error details if the job failed. properties: code: description: Error code. type: string message: description: Error message. type: string exceptionId: description: Exception identifier. type: string contextParams: description: Context parameters for the error. type: object nullable: true uuid: description: Error UUID. type: string nullable: true type: object nullable: true type: object TableExportJobResponse: properties: file: properties: id: type: integer nullable: true type: object nullable: true type: object BucketListingUpdateJobResponse: required: - bucketId - exposureName - bigquery properties: bucketId: type: string exposureName: type: string exposureDescription: type: string nullable: true bigquery: properties: listingId: type: string subscribers: type: array items: type: string type: object type: object securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-StorageApi-Token