openapi: 3.1.0 info: title: API Reference subpackage_actions subpackage_importStorage.subpackage_importStorage/s3S API version: 1.0.0 servers: - url: http://localhost:8000 tags: - name: subpackage_importStorage.subpackage_importStorage/s3S paths: /api/storages/s3s/: get: operationId: list summary: ✨ List S3s 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 S3 import storage connections set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' post: operationId: create summary: ✨ Create 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
\nCreate S3 import storage with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/LseS3ImportStorageRequest' /api/storages/s3s/validate: post: operationId: validate summary: ✨ Validate 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 S3 import storage connection that was set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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_s3s_validate_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/LseS3ImportStorageRequest' /api/storages/s3s/{id}: get: operationId: get summary: ✨ Get 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 S3 import storage connection that was set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' delete: operationId: delete summary: ✨ Delete 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 S3 import storage connection that was set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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 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 S3 import storage connection that was set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLseS3ImportStorageRequest' /api/storages/s3s/{id}/sync: post: operationId: sync summary: ✨ Sync 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 S3 import storage connection that was set up with IAM role access." tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' components: schemas: PatchedLseS3ImportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId 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 legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 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 description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true 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: PatchedLseS3ImportStorageRequest LseS3ImportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId 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 legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 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 description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true 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 - role_arn title: LseS3ImportStorageRequest LseS3ImportStorage: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId 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 legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 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 description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: s3s use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - role_arn - type title: LseS3ImportStorage import_storage_s3s_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_s3s_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]"
'