openapi: 3.1.0 info: title: API Reference subpackage_actions subpackage_importStorage.subpackage_importStorage/azureSpi API version: 1.0.0 servers: - url: http://localhost:8000 tags: - name: subpackage_importStorage.subpackage_importStorage/azureSpi paths: /api/storages/azure_spi/: get: operationId: list summary: ✨ Get Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nGet list of all Azure import storage connections set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
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/AzureServicePrincipalImportStorage' post: operationId: create summary: ✨ Create Azure import storage with SPI description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nCreate Azure import storage with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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/AzureServicePrincipalImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest' /api/storages/azure_spi/validate: post: operationId: validate summary: ✨ Validate Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nValidate a specific Azure import storage connection that was set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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_azure_spi_validate_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest' /api/storages/azure_spi/{id}: get: operationId: get summary: ✨ Get Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nGet a specific Azure import storage connection that was set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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/AzureServicePrincipalImportStorage' delete: operationId: delete summary: ✨ Delete Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nDelete a specific Azure import storage connection that was set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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 Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nUpdate a specific Azure import storage connection that was set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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/AzureServicePrincipalImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAzureServicePrincipalImportStorageRequest' /api/storages/azure_spi/{id}/sync: post: operationId: sync summary: ✨ Sync Azure SPI import storage description: "\n \"Label\n

\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n

\n
\nSync tasks from an Azure import storage connection that was set up with Service Principal authentication." tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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:
curl 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/AzureServicePrincipalImportStorage' components: schemas: PatchedAzureServicePrincipalImportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description 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: Azure blob prefix name 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 regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID 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 user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) title: PatchedAzureServicePrincipalImportStorageRequest AzureServicePrincipalImportStorage: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description 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: Azure blob prefix name 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 regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: azure_spi use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - created_at - id - project - type title: AzureServicePrincipalImportStorage AzureServicePrincipalImportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description 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: Azure blob prefix name 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 regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID 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 user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - project title: AzureServicePrincipalImportStorageRequest import_storage_azure_spi_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_azure_spi_validate_Response_200 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]"
'