Skip to Content
API ReferenceConnectors API

Connectors API

Manage cloud storage connectors programmatically. All endpoints require authentication and are scoped to the user’s workspace.

List Connectors

GET /api/v1/connectors

Returns all connectors in the user’s workspace.

Query Parameters:

ParameterTypeDescription
providerstringFilter by provider (aws, gcp, azure)
statusstringFilter by status (active, disconnected, error)
limitintegerPage size (default: 20, max: 100)
cursorstringPagination cursor

Response:

{ "status": "success", "data": [ { "id": "conn-abc123", "name": "Production S3", "provider": "aws", "status": "active", "config": { "role_arn": "arn:aws:iam::123456789012:role/SlimIOScanner", "region": "us-east-1", "buckets": ["prod-data", "prod-exports"] }, "last_scan": "2024-03-15T10:00:00Z", "findings_count": 1247, "risk_score": 62, "created_at": "2024-01-10T08:00:00Z" } ], "pagination": { "limit": 20, "has_more": false } }

Create Connector

POST /api/v1/connectors

Create a new cloud storage connector.

Request Body:

{ "name": "Production S3", "provider": "aws", "config": { "role_arn": "arn:aws:iam::123456789012:role/SlimIOScanner", "external_id": "ext-abc123", "region": "us-east-1", "buckets": ["prod-data", "prod-exports"], "prefixes": ["data/", "exports/"], "file_types": ["csv", "json", "parquet"] } }

Provider-Specific Config:

For AWS:

  • role_arn (required) — IAM Role ARN
  • external_id (required) — STS External ID
  • region (required) — AWS region

For GCP:

  • project_id (required) — GCP project ID
  • service_account_email (required) — Service account email
  • wif_provider (required) — WIF provider resource name

For Azure:

  • tenant_id (required) — Azure AD tenant ID
  • client_id (required) — App registration client ID
  • client_secret (required) — Client secret value
  • storage_account (required) — Storage account name

Response: 201 Created

{ "status": "success", "data": { "id": "conn-def456", "name": "Production S3", "provider": "aws", "status": "pending_test", "created_at": "2024-03-15T14:30:00Z" } }

Get Connector

GET /api/v1/connectors/:id

Retrieve details for a specific connector.

Response:

{ "status": "success", "data": { "id": "conn-abc123", "name": "Production S3", "provider": "aws", "status": "active", "config": { ... }, "scan_history": [ { "scan_id": "scan-001", "status": "completed", "started_at": "2024-03-15T10:00:00Z", "completed_at": "2024-03-15T10:15:00Z", "files_processed": 5420, "findings_count": 1247 } ], "risk_score": 62, "created_at": "2024-01-10T08:00:00Z", "updated_at": "2024-03-15T10:15:00Z" } }

Delete Connector

DELETE /api/v1/connectors/:id

Permanently delete a connector and all associated scan history and findings.

Deleting a connector is irreversible. All scan history and findings associated with this connector will be permanently removed. Consider disconnecting the connector instead if you may need the data later.

Response: 200 OK

{ "status": "success", "data": { "id": "conn-abc123", "deleted": true } }

Test Connector

POST /api/v1/connectors/:id/test

Test the connector’s credentials by attempting to list objects in the configured scope. This does not trigger a scan.

Response:

{ "status": "success", "data": { "connected": true, "buckets_accessible": ["prod-data", "prod-exports"], "sample_objects": 15420, "latency_ms": 245 } }

Trigger Scan

POST /api/v1/connectors/:id/scan

Trigger a scan on the connector. See Scans API for detailed scan management.

Request Body:

{ "type": "full", "options": { "max_files": 50000, "file_types": ["csv", "json"] } }

Response: 201 Created

{ "status": "success", "data": { "scan_id": "scan-ghi789", "connector_id": "conn-abc123", "status": "queued", "created_at": "2024-03-15T14:30:00Z" } }
Last updated on