Label Studio subpackage_importStorage.subpackage_importStorage/gcsSa API

The subpackage_importStorage.subpackage_importStorage/gcsSa API from Label Studio — 4 operation(s) for subpackage_importstorage.subpackage_importstorage/gcssa.

OpenAPI Specification

label-studio-subpackage-importstorage-subpackage-importstorage-gcssa-api-openapi.yml Raw ↑
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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nGet list of all GCS import storage connections set up with Service Account Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: project
        in: query
        description: Project ID
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nCreate GCS import storage with Service Account Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nValidate a specific GCS import storage connection set up with SA Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nGet a specific GCS import storage connection set up with SA Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nDelete a specific GCS import storage connection set up with SA Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    patch:
      operationId: update
      summary: ✨ Update GCS SA import storage
      description: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nUpdate a specific GCS import storage connection set up with SA Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: "<Card href=\"https://humansignal.com/goenterprise\">\n        <img style=\"pointer-events: none; margin-left: 0px; margin-right: 0px;\" src=\"https://docs.humansignal.com/images/badge.svg\" alt=\"Label Studio Enterprise badge\"/>\n        <p style=\"margin-top: 10px; font-size: 14px;\">\n            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n        </p>\n    </Card>\nSync tasks from a GCS import storage connection set up with SA Impersonation."
      tags:
      - subpackage_importStorage.subpackage_importStorage/gcsSa
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
        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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'