Introduction
Build on the nfyio platform — backend REST APIs for workspace, billing, RAG and chat, plus S3-compatible object storage for direct uploads.
Introduction
Welcome to nfyio — a platform that combines a backend REST API for workspace, billing, model, and RAG-chat operations with an S3-compatible object storage service for direct file uploads and downloads.
These docs cover the two surfaces a developer talks to from outside the dashboard:
| Surface | Base URL | Auth | What it’s for |
|---|---|---|---|
| Backend API | https://app.nfyio.com/api | Access Token (Bearer) | Workspace, projects, teams, models, chat, notifications, billing, access-key management |
| Object Storage (S3) | https://s3.nfyio.com | Access Key + Secret (AWS Signature v4) | PutObject, GetObject, DeleteObject, multipart upload, listing, presigned URLs |
The two surfaces are separate by design:
- Backend API is reached with an access token you generate from the dashboard at Settings → Access Tokens. Use it from your own backend, scripts, or CI to drive workspace and chat operations.
- Object storage is reached with AWS-style access key + secret you generate at Object Storage → Access Keys. Use it from any AWS S3 SDK or the AWS CLI to upload and download files. Bucket and object operations only work through this S3 surface — they are not exposed on the backend API.
S3 endpoints other than the bucket/object operations (admin, analytics, embedding control) are not publicly callable. They are reached only by the backend API on your behalf — drive them through the Backend API Reference.
Where to go next
- Quickstart — sign up, create a bucket, generate credentials, make your first call against each surface.
- Authentication — how access tokens and S3 access keys differ, when to use which, scopes, rotation.
- API Reference — full backend REST surface (workspaces, models, chat, notifications, billing, …).
- Object Storage —
s3endpoint, AWS CLI, SDK examples (boto3 / aws-sdk-js), multipart, presigned URLs.
Endpoints at a glance
Backend API
└── https://app.nfyio.com/api/...
├── /auth/me (whoami)
├── /workspaces, /projects, /teams
├── /object-storage/buckets (bucket CRUD — settings only)
├── /object-storage/access-keys
├── /models, /chat
├── /notifications
└── /billing/...
Object Storage (S3-compatible)
└── https://s3.nfyio.com
├── PUT /{bucket}/{key} (upload)
├── GET /{bucket}/{key} (download)
├── DELETE /{bucket}/{key} (delete)
├── HEAD /{bucket}/{key} (metadata)
├── GET /{bucket}?list-type=2 (list)
├── multipart upload routes
└── presigned URLs
Conventions used in these docs
- All examples assume the production hostnames
https://app.nfyio.comandhttps://s3.nfyio.com. - Authenticated request headers are abbreviated to
-H "Authorization: Bearer $TOKEN"for the backend API. - S3 examples use the AWS CLI by default; SDK snippets are added wherever the CLI doesn’t cover a use case.
- All timestamps are ISO 8601 in UTC.
- All money amounts are minor units of the listed currency unless noted otherwise.