openapi: 3.1.0
info:
title: API Reference subpackage_actions subpackage_importStorage.subpackage_importStorage/gcsSa API
version: 1.0.0
servers:
- url: http://localhost:8000
tags:
- name: subpackage_importStorage.subpackage_importStorage/gcsSa
paths:
/api/storages/gcs_sa/:
get:
operationId: list
summary: ✨ Get all GCS SA import storages
description: " \n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n \n
curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSSAImportStorage'
post:
operationId: create
summary: ✨ Create GCS import storage with SA Impersonation
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorageRequest'
/api/storages/gcs_sa/validate:
post:
operationId: validate
summary: ✨ Validate GCS SA import storage
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_gcs_sa_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorageRequest'
/api/storages/gcs_sa/{id}:
get:
operationId: get
summary: ✨ Get GCS SA import storage
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
delete:
operationId: delete
summary: ✨ Delete GCS SA import storage
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update GCS SA import storage
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSSAImportStorageRequest'
/api/storages/gcs_sa/{id}/sync:
post:
operationId: sync
summary: ✨ Sync GCS SA import storage
description: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
components:
schemas:
GCSSAImportStorage:
type: object
properties:
bucket:
type:
- string
- 'null'
description: GCS bucket name
created_at:
type: string
format: date-time
description: Creation time
description:
type:
- string
- 'null'
description: Cloud storage description
google_project_id:
type:
- string
- 'null'
description: Google project ID
id:
type: integer
last_sync:
type:
- string
- 'null'
format: date-time
description: Last sync finished time
last_sync_count:
type:
- integer
- 'null'
description: Count of tasks synced last time
last_sync_job:
type:
- string
- 'null'
description: Last sync job ID
meta:
oneOf:
- description: Any type
- type: 'null'
description: Meta and debug information about storage processes
prefix:
type:
- string
- 'null'
description: GCS bucket prefix
presign:
type: boolean
default: true
presign_ttl:
type: integer
description: Presigned URLs TTL (in minutes)
project:
type: integer
description: A unique integer value identifying this project.
recursive_scan:
type:
- boolean
- 'null'
description: Perform recursive scan over the bucket content
regex_filter:
type:
- string
- 'null'
description: Cloud storage regex for filtering objects
status:
$ref: '#/components/schemas/StatusC5aEnum'
synchronizable:
type: boolean
default: true
target_service_account_email:
type:
- string
- 'null'
description: Service account email to impersonate for GCS access
title:
type:
- string
- 'null'
description: Cloud storage title
traceback:
type:
- string
- 'null'
description: Traceback report for the last failed sync
type:
type: string
default: gcs_sa
use_blob_urls:
type: boolean
description: Interpret objects as BLOBs and generate URLs
required:
- created_at
- id
- project
- type
title: GCSSAImportStorage
import_storage_gcs_sa_validate_Response_200:
type: object
properties: {}
description: Empty response body
title: import_storage_gcs_sa_validate_Response_200
GCSSAImportStorageRequest:
type: object
properties:
bucket:
type:
- string
- 'null'
description: GCS bucket name
description:
type:
- string
- 'null'
description: Cloud storage description
google_project_id:
type:
- string
- 'null'
description: Google project ID
last_sync:
type:
- string
- 'null'
format: date-time
description: Last sync finished time
last_sync_count:
type:
- integer
- 'null'
description: Count of tasks synced last time
last_sync_job:
type:
- string
- 'null'
description: Last sync job ID
meta:
oneOf:
- description: Any type
- type: 'null'
description: Meta and debug information about storage processes
prefix:
type:
- string
- 'null'
description: GCS bucket prefix
presign:
type: boolean
default: true
presign_ttl:
type: integer
description: Presigned URLs TTL (in minutes)
project:
type: integer
description: A unique integer value identifying this project.
recursive_scan:
type:
- boolean
- 'null'
description: Perform recursive scan over the bucket content
regex_filter:
type:
- string
- 'null'
description: Cloud storage regex for filtering objects
status:
$ref: '#/components/schemas/StatusC5aEnum'
synchronizable:
type: boolean
default: true
target_service_account_email:
type:
- string
- 'null'
description: Service account email to impersonate for GCS access
title:
type:
- string
- 'null'
description: Cloud storage title
traceback:
type:
- string
- 'null'
description: Traceback report for the last failed sync
use_blob_urls:
type: boolean
description: Interpret objects as BLOBs and generate URLs
required:
- project
title: GCSSAImportStorageRequest
PatchedGCSSAImportStorageRequest:
type: object
properties:
bucket:
type:
- string
- 'null'
description: GCS bucket name
description:
type:
- string
- 'null'
description: Cloud storage description
google_project_id:
type:
- string
- 'null'
description: Google project ID
last_sync:
type:
- string
- 'null'
format: date-time
description: Last sync finished time
last_sync_count:
type:
- integer
- 'null'
description: Count of tasks synced last time
last_sync_job:
type:
- string
- 'null'
description: Last sync job ID
meta:
oneOf:
- description: Any type
- type: 'null'
description: Meta and debug information about storage processes
prefix:
type:
- string
- 'null'
description: GCS bucket prefix
presign:
type: boolean
default: true
presign_ttl:
type: integer
description: Presigned URLs TTL (in minutes)
project:
type: integer
description: A unique integer value identifying this project.
recursive_scan:
type:
- boolean
- 'null'
description: Perform recursive scan over the bucket content
regex_filter:
type:
- string
- 'null'
description: Cloud storage regex for filtering objects
status:
$ref: '#/components/schemas/StatusC5aEnum'
synchronizable:
type: boolean
default: true
target_service_account_email:
type:
- string
- 'null'
description: Service account email to impersonate for GCS access
title:
type:
- string
- 'null'
description: Cloud storage title
traceback:
type:
- string
- 'null'
description: Traceback report for the last failed sync
use_blob_urls:
type: boolean
description: Interpret objects as BLOBs and generate URLs
title: PatchedGCSSAImportStorageRequest
StatusC5aEnum:
type: string
enum:
- initialized
- queued
- in_progress
- failed
- completed
- completed_with_errors
description: '* `initialized` - Initialized
* `queued` - Queued
* `in_progress` - In progress
* `failed` - Failed
* `completed` - Completed
* `completed_with_errors` - Completed with errors'
title: StatusC5aEnum
securitySchemes:
Token:
type: apiKey
in: header
name: Authorization
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'