openapi: 3.1.0 info: title: API Reference subpackage_actions subpackage_importStorage.subpackage_importStorage/s3 API version: 1.0.0 servers: - url: http://localhost:8000 tags: - name: subpackage_importStorage.subpackage_importStorage/s3 paths: /api/storages/s3/: get: operationId: list summary: List S3 import storage description: Get a list of all S3 import storage connections. tags: - subpackage_importStorage.subpackage_importStorage/s3 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/S3ImportStorage' post: operationId: create summary: Create new S3 storage description: Create new S3 import storage tags: - subpackage_importStorage.subpackage_importStorage/s3 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/S3ImportStorage' requestBody: content: application/json: schema: type: object properties: aws_access_key_id: type: string description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: string description: AWS_SECRET_ACCESS_KEY aws_session_token: type: string description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: string description: AWS SSE KMS Key ID bucket: type: string description: S3 bucket name description: type: string description: Storage description prefix: type: string description: S3 bucket prefix presign: type: boolean default: true description: Presign URLs for download presign_ttl: type: integer default: 1 description: Presign TTL in minutes project: type: integer description: Project ID recursive_scan: type: boolean description: Scan recursively regex_filter: type: string description: Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported. region_name: type: string description: AWS Region s3_endpoint: type: string description: S3 Endpoint title: type: string description: Storage title use_blob_urls: type: boolean default: false description: Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio. /api/storages/s3/validate: post: operationId: validate summary: Validate import storage description: Validate a specific S3 import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/s3 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_s3_validate_Response_200' requestBody: content: application/json: schema: type: object properties: aws_access_key_id: type: string description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: string description: AWS_SECRET_ACCESS_KEY aws_session_token: type: string description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: string description: AWS SSE KMS Key ID bucket: type: string description: S3 bucket name description: type: string description: Storage description id: type: integer description: Storage ID. If set, storage with specified ID will be updated prefix: type: string description: S3 bucket prefix presign: type: boolean default: true description: Presign URLs for download presign_ttl: type: integer default: 1 description: Presign TTL in minutes project: type: integer description: Project ID recursive_scan: type: boolean description: Scan recursively regex_filter: type: string description: Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported. region_name: type: string description: AWS Region s3_endpoint: type: string description: S3 Endpoint title: type: string description: Storage title use_blob_urls: type: boolean default: false description: Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio. /api/storages/s3/{id}: get: operationId: get summary: Get import storage description: Get a specific S3 import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/s3 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/S3ImportStorage' delete: operationId: delete summary: Delete import storage description: Delete a specific S3 import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/s3 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: Update a specific S3 import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/s3 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/S3ImportStorage' requestBody: content: application/json: schema: type: object properties: aws_access_key_id: type: string description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: string description: AWS_SECRET_ACCESS_KEY aws_session_token: type: string description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: string description: AWS SSE KMS Key ID bucket: type: string description: S3 bucket name description: type: string description: Storage description prefix: type: string description: S3 bucket prefix presign: type: boolean default: true description: Presign URLs for download presign_ttl: type: integer default: 1 description: Presign TTL in minutes project: type: integer description: Project ID recursive_scan: type: boolean description: Scan recursively regex_filter: type: string description: Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported. region_name: type: string description: AWS Region s3_endpoint: type: string description: S3 Endpoint title: type: string description: Storage title use_blob_urls: type: boolean default: false description: Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio. /api/storages/s3/{id}/sync: post: operationId: sync summary: Sync import storage description: Sync tasks from an S3 import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/s3 parameters: - name: id in: path description: Storage 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: $ref: '#/components/schemas/S3ImportStorage' components: schemas: import_storage_s3_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_s3_validate_Response_200 S3ImportStorage: 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 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: 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 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: s3 use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: S3ImportStorage 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]"
'