Quickstart
Sign up, create a bucket, mint credentials, and run the first call against the backend API and the S3 endpoint.
Quickstart
This walkthrough takes you from a fresh nfyio account to the first successful call on each of the two surfaces.
1. Sign up and pick a workspace
- Open cloud.nfyio.com and sign up with your email.
- Verify the OTP that lands in your inbox.
- The first signup creates a personal workspace and a default project — both are pre-selected for you.
A workspace owns billing, members, buckets, and access tokens. A project is a logical scope inside a workspace. You can switch the active project from the top of the sidebar.
2. Create your first bucket
Buckets are created from the dashboard, not from the S3 endpoint. The dashboard takes care of provisioning the bucket, optionally enabling the embedding pipeline, and choosing the storage tier.
- Go to Object Storage → Buckets and click Create Bucket.
- Pick a globally unique bucket name (DNS-safe — lowercase letters, numbers, hyphens, 3–63 chars).
- Pick a storage type:
- Pro / Agentic RAG — files get embedded automatically and are searchable from the chat panel.
- Standard / Cold / ZIP — plain S3-compatible storage with no embedding.
- If you picked Pro, choose an embedding model and a chat model. Either use the platform-provided keys or paste your own.
- Click Create Bucket.
When the bucket appears in the list it is ready to receive uploads.
3. Mint an S3 access key (for uploads/downloads)
- Go to Object Storage → Access Keys and click New Access Key.
- Pick the bucket(s) the key may touch and the permissions (read / write).
- Copy the Access Key ID and Secret Access Key that the dashboard shows you. The secret is shown only once — save it before closing the dialog.
You can now use any AWS-compatible S3 client. The endpoint is https://s3.nfyio.com.
# Configure the AWS CLI with a dedicated profile
aws configure --profile nfyio
# AWS Access Key ID: <paste from dashboard>
# AWS Secret Access Key: <paste from dashboard>
# Default region name: us-east-1 (any value, ignored)
# Default output format: json
# First call — list your bucket
aws --profile nfyio --endpoint-url https://s3.nfyio.com \
s3 ls s3://my-first-bucket
# Upload a file
aws --profile nfyio --endpoint-url https://s3.nfyio.com \
s3 cp ./report.pdf s3://my-first-bucket/reports/report.pdf
See the Object Storage docs for the full S3 reference.
4. Mint a backend access token (for API calls)
The S3 access key only signs S3 requests — it cannot call https://app.nfyio.com/api/.... For that you need a backend access token.
- Go to Settings → Access Tokens and click Generate Token.
- Pick a scope (
readorwrite) and an expiration. - Optionally restrict the token to a specific route prefix (e.g.
/api/chat/*). - Copy the token that’s shown — it starts with
nfyio_at_…and is shown only once.
# Sanity check: who am I?
curl https://app.nfyio.com/api/auth/me \
-H "Authorization: Bearer $NFYIO_ACCESS_TOKEN"
# Send a chat message into the bucket you created above
curl https://app.nfyio.com/api/chat \
-H "Authorization: Bearer $NFYIO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bucketName": "my-first-bucket",
"message": "What is in the report I just uploaded?"
}'
See the API Reference for every backend endpoint.
5. Wire it together
A typical integration looks like:
your-service ──[ AWS S3 SDK + access key ]──▶ https://s3.nfyio.com (upload, download)
your-service ──[ Bearer access token ]──▶ https://app.nfyio.com/api/...
├─ /chat (RAG over uploaded files)
├─ /object-storage/buckets/:name/embeddings/status
├─ /notifications
└─ /billing/quota
That’s it — you can now upload files via S3 and drive the rest of the platform via the backend API. Continue with Authentication for the auth model, or jump straight into the API Reference and the Object Storage reference.