Workspaces
Create a storage connection
Authorization
bearerAuth AuthorizationBearer <token>
Your API key, sent as Authorization: Bearer nace_sk_...
- Where: the dashboard's API Keys page. It is shown once, when you create it.
- Format:
nace_sk_followed by 43 URL-safe characters (A-Z,a-z,0-9,_and-). - Limit: an account can hold at most 3 active keys.
- Wrong or missing key: returns
401 authentication_error.
In: header
Header Parameters
Idempotency-Keystring
Up to 200 characters. Retry with the same key to get the connection the first request made; without one, each request makes a new connection.
Length
length <= 200Request Body
application/json
namestringrequired
The name people see.
Length
1 <= length <= 200destinationS3 destination | Azure Blob destinationrequired
Where a connection's workspaces keep their files. It can't change.
Show variants
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/storage-connections" \ -H "Content-Type: application/json" \ -d '{ "name": "Audit evidence bucket", "destination": { "type": "s3", "bucket": "acme-audit-evidence", "region": "us-east-1", "prefix": "nace" } }'{ "id": "6b1f0c9e-2d4a-4e7b-9c3d-8a5e1f2b7c40", "name": "Audit evidence bucket", "destination": { "type": "s3", "bucket": "acme-audit-evidence", "region": "us-east-1", "prefix": "nace" }, "status": "draft", "can_manage": true, "external_id": "nace-6b1f0c9e2d4a4e7b", "aws_trusted_principal_arn": null, "aws_trusted_principal_arns": [ "arn:aws:iam::111122223333:role/ndi-api", "arn:aws:iam::111122223333:role/ndi-worker" ], "credentials_pending": false, "validation_running": false, "credential_generation": 0, "validated_at": null, "reactivation_requires_approval": false, "revoked_reason": null, "revoked_at": null, "created_at": "2026-10-26T10:00:00Z"}