Label Studio subpackage_exportStorage.subpackage_exportStorage/gcsSa API

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

OpenAPI Specification

label-studio-subpackage-exportstorage-subpackage-exportstorage-gcssa-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference subpackage_actions subpackage_exportStorage.subpackage_exportStorage/gcsSa API
  version: 1.0.0
servers:
- url: http://localhost:8000
tags:
- name: subpackage_exportStorage.subpackage_exportStorage/gcsSa
paths:
  /api/storages/export/gcs_sa:
    get:
      operationId: list
      summary: ✨ Get all GCS SA export 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 a list of all GCS export storage connections set up with SA Impersonation."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/GCSSAExportStorage'
    post:
      operationId: create
      summary: ✨ Create GCS export 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 a GCS export storage connection with SA Impersonation to store annotations."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/GCSSAExportStorage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GCSSAExportStorageRequest'
  /api/storages/export/gcs_sa/validate:
    post:
      operationId: validate
      summary: ✨ Validate GCS SA export 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 export storage connection set up with SA Impersonation."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/export_storage_gcs_sa_validate_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GCSSAExportStorageRequest'
  /api/storages/export/gcs_sa/{id}:
    get:
      operationId: get
      summary: ✨ Get GCS SA export 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 export storage connection set up with SA Impersonation."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/GCSSAExportStorage'
    delete:
      operationId: delete
      summary: ✨ Delete GCS SA export 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 export storage connection set up with SA Impersonation."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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 export 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 export storage connection set up with SA Impersonation."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/GCSSAExportStorage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGCSSAExportStorageRequest'
  /api/storages/export/gcs_sa/{id}/sync:
    post:
      operationId: sync
      summary: ✨ Sync GCS SA export 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 annotations to a GCS SA export storage."
      tags:
      - subpackage_exportStorage.subpackage_exportStorage/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/GCSSAExportStorage'
components:
  schemas:
    GCSSAExportStorage:
      type: object
      properties:
        bucket:
          type:
          - string
          - 'null'
          description: GCS bucket name
        can_delete_objects:
          type:
          - boolean
          - 'null'
          description: Deletion from storage enabled
        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
        project:
          type: integer
          description: A unique integer value identifying this project.
        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: GCSSAExportStorage
    GCSSAExportStorageRequest:
      type: object
      properties:
        bucket:
          type:
          - string
          - 'null'
          description: GCS bucket name
        can_delete_objects:
          type:
          - boolean
          - 'null'
          description: Deletion from storage enabled
        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
        project:
          type: integer
          description: A unique integer value identifying this project.
        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: GCSSAExportStorageRequest
    export_storage_gcs_sa_validate_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: export_storage_gcs_sa_validate_Response_200
    PatchedGCSSAExportStorageRequest:
      type: object
      properties:
        bucket:
          type:
          - string
          - 'null'
          description: GCS bucket name
        can_delete_objects:
          type:
          - boolean
          - 'null'
          description: Deletion from storage enabled
        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
        project:
          type: integer
          description: A unique integer value identifying this project.
        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: PatchedGCSSAExportStorageRequest
    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>'