Storages
Cloud storage configuration
Retrieves all storage configurations for your organization
API key for authentication. Format - apikey YOUR_API_KEY
Page number (1-indexed)
1Items per page (max 100)
10Storages retrieved successfully
successcurl -X GET "https://imeritapi.ango.ai/v2/storages?page=1&limit=10" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json"
Storages retrieved successfully
{
"status": "success",
"data": {
"storages": [
{
"_id": "text",
"name": "text",
"provider": "AWS",
"region": "text",
"s3AccessType": "IAM_USER",
"s3RoleArn": "text",
"s3ExternalId": "text",
"s3UserArn": "text",
"host": "text",
"azureAuthType": "ACCOUNT_KEY",
"azureTenantId": "text",
"azureClientId": "text",
"publicKey": "text",
"useAccelerateEndpoint": true,
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}
}Creates a new cloud storage configuration
API key for authentication. Format - apikey YOUR_API_KEY
Storage configuration display name
AWS only. Bucket region.
eu-central-1Access key ID for AWS (IAM user) and CUSTOM_S3. For AZURE this is the storage account name (required for all Azure auth types).
Secret access key for AWS (IAM user) and CUSTOM_S3. For AZURE (ACCOUNT_KEY) this is the account key. Write-only, never returned.
AWS only. IAM_DELEGATED uses STS AssumeRole instead of static keys.
IAM_USERPossible values: AWS IAM_DELEGATED only. Role ARN to assume.
AWS IAM_DELEGATED only. External ID for the AssumeRole trust policy.
CUSTOM_S3 only (required). S3-compatible endpoint URL.
GCP only. Service-account JSON object. Write-only, never returned.
AZURE only.
ACCOUNT_KEYPossible values: AZURE SERVICE_PRINCIPAL and MULTI_TENANT.
AZURE SERVICE_PRINCIPAL only.
AZURE SERVICE_PRINCIPAL only. Write-only, never returned.
AWS only. Use S3 Transfer Acceleration.
falseStorage created successfully
successBad request - validation error
curl -X POST "https://imeritapi.ango.ai/v2/storages" \
-H "apikey: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{
"name": "My S3 Storage",
"provider": "AWS",
"region": "us-east-1",
"publicKey": "YOUR_ACCESS_KEY_ID",
"privateKey": "YOUR_SECRET_ACCESS_KEY"
}'
{
"status": "success",
"data": {
"storage": {
"_id": "text",
"name": "text",
"provider": "AWS",
"region": "text",
"s3AccessType": "IAM_USER",
"s3RoleArn": "text",
"s3ExternalId": "text",
"s3UserArn": "text",
"host": "text",
"azureAuthType": "ACCOUNT_KEY",
"azureTenantId": "text",
"azureClientId": "text",
"publicKey": "text",
"useAccelerateEndpoint": true,
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
}
}Soft-deletes a storage configuration (sets the deleted flag; the record is retained).
API key for authentication. Format - apikey YOUR_API_KEY
Storage ID
Storage deleted successfully
successResource not found
DELETE /v2/storages/{storageId} HTTP/1.1
Host: imeritapi.ango.ai
apikey: YOUR_API_KEY
Accept: */*
{
"status": "success",
"data": {
"storage": {
"_id": "text",
"name": "text",
"provider": "AWS",
"region": "text",
"s3AccessType": "IAM_USER",
"s3RoleArn": "text",
"s3ExternalId": "text",
"s3UserArn": "text",
"host": "text",
"azureAuthType": "ACCOUNT_KEY",
"azureTenantId": "text",
"azureClientId": "text",
"publicKey": "text",
"useAccelerateEndpoint": true,
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
}
}Lists files recursively in a cloud storage bucket. This endpoint allows you to browse and retrieve file listings from your configured storage integrations (AWS S3, Google Cloud Storage, Azure Blob Storage, or Custom S3-compatible storage).
Features:
Recursive directory listing
Optional signed URL generation for direct file access
Automatic retry mechanism for S3 rate limit errors
Support for path-based filtering
Use Cases:
Browse storage bucket contents before importing
Generate signed URLs for batch asset uploads
Validate storage configuration and access
List available datasets for annotation projects
API key for authentication. Format - apikey YOUR_API_KEY
Storage configuration ID
507f1f77bcf86cd799439011Name of the bucket/container to list files from
my-annotation-dataDirectory path to list files from. Defaults to root directory if not specified.
""Example: datasets/images/2024Whether to generate pre-signed URLs for each file. Defaults to true.
true: Returns pre-signed URLs (default)false: Returns object keys only
trueExample: truePossible values: Enable automatic retry mechanism for S3 SlowDown errors (rate limiting). When enabled, the API will automatically retry with exponential backoff.
true: Retry on rate limit errors (default)false: Fail immediately on rate limit errors
trueExample: truePossible values: Files retrieved successfully
successBad Request - Missing required parameters
Unauthorized - invalid or missing API key
Forbidden - insufficient permissions
Storage not found
# List files in root directory with signed URLs
curl -X GET "https://imeritapi.ango.ai/v2/storages/YOUR_STORAGE_ID/files?bucketName=my-bucket&getSignedUrls=true" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json"
# List files in specific directory
curl -X GET "https://imeritapi.ango.ai/v2/storages/YOUR_STORAGE_ID/files?bucketName=my-bucket&path=datasets/images/2024" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json"
{
"status": "success",
"data": {
"files": [
"https://my-bucket.s3.amazonaws.com/datasets/images/2024/img001.jpg?X-Amz-Algorithm=...",
"https://my-bucket.s3.amazonaws.com/datasets/images/2024/img002.jpg?X-Amz-Algorithm=..."
]
}
}Last updated