Overview
API Reference
Section titled “API Reference”The Orbis API provides programmatic access to servers, marketplace resources, teams, users, and more.
Authentication
Section titled “Authentication”All API requests require authentication using an API key:
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.orbis.place/resourcesGetting an API Key
Section titled “Getting an API Key”- Log in to your Orbis account
- Navigate to Settings → Developer
- Click “Create API Key”
- Copy and securely store your key
Base URL
Section titled “Base URL”https://api.orbis.placeRate Limiting
Section titled “Rate Limiting”- Default: 100 requests per hour per API key
- Rate limit headers are included in all responses
Response Format
Section titled “Response Format”All responses are in JSON format:
{ "data": [...], "meta": { "total": 100, "limit": 20, "offset": 0 }}Error Handling
Section titled “Error Handling”Errors return appropriate HTTP status codes:
400- Bad Request (invalid parameters)401- Unauthorized (invalid or missing API key)403- Forbidden (insufficient permissions)404- Not Found429- Rate Limit Exceeded500- Internal Server Error
Error responses include details:
{ "error": { "code": "INVALID_REQUEST", "message": "Invalid resource ID format", "details": {} }}API Sections
Section titled “API Sections”Resources
Section titled “Resources”Manage marketplace resources including mods, plugins, tools, and scripts.
- Resources API - Core resource management
- Resource Likes - Like/unlike resources
- Resource Favorites - Favorite resources
- Resource Contributors - Manage contributors
- Resource Versions - Version and file management
- Resource Gallery Images - Gallery images
- Resource Description Images - Description images
- Resource Tags - Browse and search tags
Servers
Section titled “Servers”Manage Hytale game server listings.
- Servers API - Server management and moderation
- Server Tags - Server tags
- Server Categories - Server categories
- Server Description Images - Description images
Manage teams and team-owned content.
- Teams API - Team management, members, and invitations
Manage user profiles and social features.
- Users API - User profiles, follows, and social links
Community & Moderation
Section titled “Community & Moderation”- Badges API - User badges and achievements
- Reports API - Report users and content
Game Data
Section titled “Game Data”- Hytale Versions API - Hytale game versions
Common Patterns
Section titled “Common Patterns”Pagination
Section titled “Pagination”Many endpoints support pagination using limit and offset:
GET /resources?limit=20&offset=40Alternative page-based pagination:
GET /resources?page=3&limit=20Filtering
Section titled “Filtering”Filter results using query parameters:
GET /resources?type=MOD&tags=magic,combatArray parameters can be passed multiple times or comma-separated.
Sorting
Section titled “Sorting”Sort results using the sort parameter:
GET /resources?sort=newestGET /servers?sort=rankCommon sort options:
newest- Most recently createdpopular- Most popular/likeddownloads- Most downloaded (resources)rank- Server rank (servers)
File Uploads
Section titled “File Uploads”File upload endpoints use multipart/form-data:
curl -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "icon=@/path/to/image.png" \ https://api.orbis.place/resources/RESOURCE_ID/iconSlugs vs IDs
Section titled “Slugs vs IDs”Most resources can be accessed by either ID or slug:
/resources/:id- Access by ID (guaranteed unique)/resources/slug/:slug- Access by slug (user-friendly URLs)
Best Practices
Section titled “Best Practices”Security
Section titled “Security”- Never expose your API key in client-side code
- Rotate API keys regularly
- Use environment variables to store API keys
- Implement proper error handling for 401/403 responses
Performance
Section titled “Performance”- Use pagination to limit response sizes
- Cache responses when appropriate
- Use conditional requests with ETags (when available)
- Filter results to fetch only what you need
Error Handling
Section titled “Error Handling”try { const response = await fetch('https://api.orbis.place/resources', { headers: { 'Authorization': `Bearer ${API_KEY}` } });
if (!response.ok) { const error = await response.json(); console.error('API Error:', error.error.message); return; }
const data = await response.json(); // Process data} catch (error) { console.error('Network Error:', error);}Support
Section titled “Support”For API support, please: