API Reference
Complete reference documentation for all sc.sb platform APIs, including REST APIs, GraphQL, and SDK libraries.
Overview
The sc.sb platform provides comprehensive APIs for programmatic access to all services and resources. This reference covers:
- REST APIs - HTTP-based service interfaces
- GraphQL APIs - Flexible data querying
- Webhooks - Real-time event notifications
- SDK Libraries - Language-specific development kits
- Authentication - API security and access control
Authentication
API Keys
Getting Started:
- Generate API Key - Create authentication credentials
- Set Permissions - Configure access levels
- Test Authentication - Verify API access
- Secure Storage - Protect your API keys
API Key Format:
Authorization: Bearer sk_live_1234567890abcdef
OAuth 2.0
OAuth Flow:
- Authorization Code - Server-side applications
- Client Credentials - Service-to-service authentication
- Refresh Tokens - Long-term access management
- Scope Management - Granular permission control
REST APIs
Core Services API
Base URL: https://api.sc.sb/v1
Service Management:
GET /services
POST /services
GET /services/{id}
PUT /services/{id}
DELETE /services/{id}
Resource Management:
GET /resources
POST /resources
GET /resources/{id}
PUT /resources/{id}
DELETE /resources/{id}
Storage API
File Operations:
GET /storage/files
POST /storage/files
GET /storage/files/{id}
PUT /storage/files/{id}
DELETE /storage/files/{id}
Directory Operations:
GET /storage/directories
POST /storage/directories
GET /storage/directories/{id}
PUT /storage/directories/{id}
DELETE /storage/directories/{id}
Computing API
Virtual Machines:
GET /compute/instances
POST /compute/instances
GET /compute/instances/{id}
PUT /compute/instances/{id}
DELETE /compute/instances/{id}
Container Services:
GET /compute/containers
POST /compute/containers
GET /compute/containers/{id}
PUT /compute/containers/{id}
DELETE /compute/containers/{id}
GraphQL API
Schema Overview
Query Operations:
query {
services {
id
name
status
resources {
id
type
usage
}
}
}
Mutation Operations:
mutation {
createService(input: {
name: "My Service"
type: "web"
resources: {
cpu: 2
memory: 4096
}
}) {
id
name
status
}
}
Real-time Subscriptions
Service Status Updates:
subscription {
serviceStatusChanged {
id
status
timestamp
}
}
Webhooks
Event Types
Service Events:
service.created- New service createdservice.updated- Service configuration changedservice.deleted- Service removedservice.status_changed- Service status updated
Resource Events:
resource.created- New resource provisionedresource.updated- Resource configuration changedresource.deleted- Resource decommissionedresource.usage_alert- Resource usage threshold exceeded
Webhook Configuration
Setting Up Webhooks:
POST /webhooks
Content-Type: application/json
{
"url": "https://your-app.com/webhooks/scsb",
"events": ["service.created", "service.updated"],
"secret": "your-webhook-secret"
}
SDK Libraries
JavaScript/Node.js
Installation:
npm install @scsb/sdk
Usage:
const { ScsbClient } = require('@scsb/sdk');
const client = new ScsbClient({
apiKey: 'your-api-key'
});
// List services
const services = await client.services.list();
// Create a new service
const service = await client.services.create({
name: 'My Service',
type: 'web'
});
Python
Installation:
pip install scsb-sdk
Usage:
from scsb import ScsbClient
client = ScsbClient(api_key='your-api-key')
# List services
services = client.services.list()
# Create a new service
service = client.services.create(
name='My Service',
type='web'
)
Go
Installation:
go get github.com/scsb/go-sdk
Usage:
package main
import (
"github.com/scsb/go-sdk"
)
func main() {
client := scsb.NewClient("your-api-key")
// List services
services, err := client.Services.List()
// Create a new service
service, err := client.Services.Create(&scsb.ServiceRequest{
Name: "My Service",
Type: "web",
})
}
Error Handling
HTTP Status Codes
Success Codes:
200 OK- Request successful201 Created- Resource created204 No Content- Request successful, no content
Client Error Codes:
400 Bad Request- Invalid request401 Unauthorized- Authentication required403 Forbidden- Access denied404 Not Found- Resource not found429 Too Many Requests- Rate limit exceeded
Server Error Codes:
500 Internal Server Error- Server error502 Bad Gateway- Gateway error503 Service Unavailable- Service temporarily unavailable
Error Response Format
{
"error": {
"code": "INVALID_REQUEST",
"message": "The request is invalid",
"details": {
"field": "name",
"reason": "required"
}
}
}
Rate Limiting
Limits
API Rate Limits:
- Free Tier - 1,000 requests per hour
- Pro Tier - 10,000 requests per hour
- Enterprise - 100,000 requests per hour
Rate Limit Headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
Best Practices
Rate Limit Management:
- Exponential Backoff - Retry with increasing delays
- Request Batching - Combine multiple requests
- Caching - Cache responses when appropriate
- Monitoring - Track rate limit usage
Testing
API Testing Tools
Postman Collection:
- Import Collection - Download sc.sb API collection
- Environment Setup - Configure API keys and base URLs
- Test Automation - Automated API testing
- Documentation - Interactive API documentation
cURL Examples:
# List services
curl -H "Authorization: Bearer your-api-key" \
https://api.sc.sb/v1/services
# Create service
curl -X POST \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"name":"My Service","type":"web"}' \
https://api.sc.sb/v1/services
Best Practices
API Usage
Efficient API Calls:
- Use Pagination - Handle large result sets
- Filter Results - Reduce data transfer
- Cache Responses - Minimize redundant requests
- Batch Operations - Combine multiple operations
- Error Handling - Implement robust error handling
Security
API Security:
- Secure API Keys - Never expose in client-side code
- Use HTTPS - Always use secure connections
- Validate Input - Sanitize all user inputs
- Monitor Usage - Track API usage patterns
- Regular Rotation - Rotate API keys periodically
Support
API Support
Documentation:
- Interactive API Explorer - Test APIs in browser
- Code Examples - Sample implementations
- SDK Documentation - Language-specific guides
- Changelog - API version updates
Getting Help:
- API Support - Technical API assistance
- Community Forums - Developer community
- GitHub Issues - Bug reports and feature requests
- Direct Support - Enterprise API support
Next Steps
- Learn about Development Tools
- Return to Developer Services Overview
- Explore Billing Services
The sc.sb API provides powerful programmatic access to all platform services. Use this reference to integrate with our platform and build amazing applications.