https://github.com/relatiocc/opencloud
Typed SDK for Roblox Open Cloud
https://github.com/relatiocc/opencloud
api-client opencloud roblox sdk typescript
Last synced: about 2 months ago
JSON representation
Typed SDK for Roblox Open Cloud
- Host: GitHub
- URL: https://github.com/relatiocc/opencloud
- Owner: relatiocc
- License: mit
- Created: 2025-10-19T18:10:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-11-20T12:41:32.000Z (5 months ago)
- Last Synced: 2025-12-27T05:09:11.759Z (4 months ago)
- Topics: api-client, opencloud, roblox, sdk, typescript
- Language: TypeScript
- Homepage: https://opencloud.relatio.cc/
- Size: 194 KB
- Stars: 8
- Watchers: 0
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# @relatiohq/opencloud
[](https://www.npmjs.com/package/@relatiohq/opencloud)
[](https://www.npmjs.com/package/@relatiohq/opencloud)
[](https://opensource.org/licenses/MIT)
[](https://www.typescriptlang.org/)
[](https://codecov.io/gh/relatiocc/opencloud)
A lightweight, type-safe TypeScript SDK for interacting with the Roblox Open Cloud API. Zero dependencies, built-in retry logic, and full TypeScript support.
## Installation
```bash
npm install @relatiohq/opencloud
# or
pnpm add @relatiohq/opencloud
# or
yarn add @relatiohq/opencloud
```
## Quick Start
```typescript
import { OpenCloud } from "@relatiohq/opencloud";
// With API key authentication
const client = new OpenCloud({
apiKey: "your-api-key",
});
const user = await client.users.get("123456789");
```
### Per-Request Authentication (OAuth2)
Perfect for multi-tenant applications:
```typescript
// Create client without default auth
const client = new OpenCloud();
// Use different credentials per request
const userClient = client.withAuth({
kind: "oauth2",
accessToken: "user-access-token",
});
const groups = await userClient.groups.listGroupMemberships("123456");
```
## Documentation
Full API documentation is available at [https://opencloud.relatio.cc](https://opencloud.relatio.cc)
## Features
- Type-safe API client
- Built with modern TypeScript
- Tree-shakeable exports
- Lightweight with zero dependencies
- Automatic retry with exponential backoff
- Flexible authentication
## Why Use This SDK?
### vs. Manual API Calls
**Without SDK:**
```typescript
// Manual fetch with error handling, retries, rate limiting...
const response = await fetch(
`https://apis.roblox.com/cloud/v2/users/${userId}`,
{
headers: { "x-api-key": apiKey },
},
);
if (!response.ok) {
// Handle errors manually
throw new Error(`API error: ${response.status}`);
}
const data = await response.json();
// No type safety, no automatic retries
```
**With SDK:**
```typescript
// Type-safe, automatic retries, built-in error handling
const user = await client.users.get(userId);
// Full TypeScript autocomplete and type checking
```
## Security
Security is a top priority. Please review our [Security Policy](SECURITY.md) for:
- Supported versions
- How to report vulnerabilities
- Security best practices for API key management
- Safe usage guidelines
**Never commit API keys to version control!** Always use environment variables or secure secret management.
## Contributing
Contributions are welcome! Please read our [contributing guide](CONTRIBUTING.md) to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes.
## Acknowledgments
This project is built with:
- [TypeScript](https://www.typescriptlang.org/) - Type-safe JavaScript
- [tsup](https://tsup.egoist.dev/) - Fast TypeScript bundler
- [Vitest](https://vitest.dev/) - Lightning fast unit testing
- [TypeDoc](https://typedoc.org/) - Documentation generation
Special thanks to:
- The Roblox team for providing the Open Cloud API
- All [contributors](https://github.com/relatiocc/opencloud/graphs/contributors) who help improve this SDK
- The TypeScript community for excellent tooling
## License
MIT © [Relatio](https://github.com/relatiocc)
---
**Note**: This is an unofficial SDK and is not affiliated with, endorsed by, or sponsored by Roblox Corporation.