Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Modellen Tools & Services
Oplossingen
Organisaties Ontwikkelaars Internet Service Providers Managed Service Providers AI-in-a-Box
Kenniscentrum
Ondersteuning Documentation Blog Downloads
Bedrijf
Over ons Onderzoek Vacatures Investeren Contact
Inloggen

Quickstart

From nothing to a stored object. About five minutes.

1. Create a bucket#

Sign in to https://storey.scailabs.ai, open Buckets, and choose New bucket. Pick a name and a location — the region decides where the data physically lives and cannot be changed later.

Or through the API:

bash
1
2
3
curl -X POST https://storey.scailabs.ai/api/v1/buckets \
  -H "Content-Type: application/json" \
  -d '{"name": "my-bucket", "region_id": "nlsouth", "tier_id": "standard"}'

2. Create an access key#

Open Access keysNew key. Choose the same region as your bucket.

The secret is shown once. Copy it before closing the dialog — Storey does not store it and cannot show it again. If you lose it, rotate the key.

3. Grant the key access to the bucket#

Open the bucket, go to the Access tab, choose your key, and grant Read & write. A key with no grant can authenticate but reach nothing.

4. Configure your S3 client#

Storey uses standard SigV4, so any S3 client works. The endpoint and region come from the key you created — the console shows both.

aws-cli

bash
1
2
3
4
5
6
aws configure set aws_access_key_id     GK...
aws configure set aws_secret_access_key ...
aws configure set region                nlsouth-std

aws --endpoint-url https://api.nlsouth-std.storey.scailabs.ai \
    s3 cp ./report.pdf s3://my-bucket/reports/report.pdf

boto3

python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import boto3

s3 = boto3.client(
    "s3",
    endpoint_url="https://api.nlsouth-std.storey.scailabs.ai",
    aws_access_key_id="GK...",
    aws_secret_access_key="...",
    region_name="nlsouth-std",
)

s3.put_object(Bucket="my-bucket", Key="reports/report.pdf", Body=open("report.pdf", "rb"))

rclone

ini
1
2
3
4
5
6
7
[storey]
type = s3
provider = Other
access_key_id = GK...
secret_access_key = ...
endpoint = https://api.nlsouth-std.storey.scailabs.ai
region = nlsouth-std

The region string is nlsouth-std, not nlsouth. It includes the tier because it identifies the cluster, and it is part of the SigV4 signature — a mismatch produces a signature error, not a helpful message. Copy it from the console rather than typing it.

5. Check it worked#

bash
1
aws --endpoint-url https://api.nlsouth-std.storey.scailabs.ai s3 ls s3://my-bucket/reports/

The object should also appear in the console under the bucket's Objects tab, where you can download it, share it, or delete it.

Common first errors#

What you see What it means
SignatureDoesNotMatch The region string is wrong — use the full <region>-<tier> form from the console.
AccessDenied on a bucket you own The key has no grant on that bucket, or it belongs to another region.
NoSuchBucket when creating with mb Buckets are created through the console or management API, not the S3 API.
Bucket name rejected Names are 3–63 characters, lowercase letters, digits and hyphens. No dots.
Updated 2026-08-09 18:10:55 View source (.md) rev 1