Documentation
The cloud API platform is a comprehensive resource management and integration engine designed for developers, DevOps engineers, and technical teams who need to build scalable applications with reliable infrastructure automation.
Whether you're provisioning compute resources, managing configurations, monitoring system health, or integrating webhooks into your workflow, this platform provides a unified, developer-friendly API with predictable JSON responses and straightforward authentication.
Teams use this platform to build a range of solutions across infrastructure, deployment, and automation:
Create, update, and delete resources with full lifecycle control and version tracking.
Receive real-time notifications for resource changes and system events.
Access detailed metrics, usage analytics, and performance data for your resources.
Separate development, staging, and production environments with isolated configurations.
Consistent response format across all endpoints for reliable error handling and parsing.
Transparent rate limits with clear headers and quota management per API key.
All API requests are made to:
Head to the Authentication section and generate a new API key from your account dashboard. You'll use this for all requests.
Visit the Endpoints documentation to see all available resources. Each endpoint includes example requests and responses.
Use your API key in the Authorization header and make a test request to any endpoint. Check the response format and error handling patterns.
Configure webhooks for resource events and enable analytics to track usage. See the FAQ for common implementation patterns.
All API requests require authentication using an API key or Bearer token. The platform supports both methods, with Bearer tokens recommended for production environments.
API keys are the simplest way to authenticate. Include your API key in the X-API-Key header with every request.
curl -H "X-API-Key: sk_live_1a2b3c4d5e6f7g8h9i0j" \
https://api.platform.com/v1/data
Best for: Development environments, server-to-server communication, testing.
Bearer tokens are recommended for production. Include the token in the Authorization header with the Bearer prefix.
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
https://api.platform.com/v1/data
Best for: Production environments, user-facing applications, token rotation scenarios.
The Authorization header must be included in every authenticated request. The header format depends on your authentication method:
X-API-Key: sk_live_1a2b3c4d5e6f7g8h9i0j
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Note: Include the header on every request to protected endpoints. Requests without valid authentication will return a 401 Unauthorized error.
Use test keys (prefixed with sk_test_) for development and testing.
https://api-test.platform.com/v1
Use live keys (prefixed with sk_live_) for production traffic.
https://api.platform.com/v1
Never use test keys in production, and never expose live keys in client-side code or version control.
Missing, invalid, or expired authentication credentials.
Authorization or X-API-Key header is presentCredentials are valid but lack permission for this resource.
Rate limit exceeded. See the rate limiting section for details.
Complete reference for all API endpoints with request/response patterns, conventions, and error handling.
Our API follows REST conventions and returns JSON for all requests and responses. Every endpoint requires authentication using a Bearer token (see Authentication section). Responses include standard HTTP status codes, pagination metadata, and detailed error information.
All endpoints accept and return JSON. Include the Authorization header with your Bearer token on every request.
100 requests per minute per token. Response headers include X-RateLimit-Remaining and X-RateLimit-Reset.
List endpoints support limit/offset pagination. Default limit is 20, maximum is 100. Use next_cursor for cursor-based navigation.
HTTP status codes with JSON error details. All errors include code, message, and request_id for debugging.
/api/v1/projects
Retrieve all projects in your workspace
/api/v1/projects
Create a new project with name, description, and initial settings
/api/v1/projects/:id
Retrieve a specific project by ID with full metadata
/api/v1/projects/:id
Update project details like name, description, or settings
/api/v1/projects/:id
Permanently delete a project and all associated data
/api/v1/projects/:projectId/environments
List all environments (staging, production, etc.) in a project
/api/v1/projects/:projectId/environments
Create a new environment with configuration variables
/api/v1/projects/:projectId/environments/:envId
Get detailed information for a specific environment
/api/v1/projects/:projectId/environments/:envId
Update environment configuration and variables
/api/v1/projects/:projectId/environments/:envId
Remove an environment and its associated resources
/api/v1/projects/:projectId/deployments
Retrieve all deployments with filters for environment and status
/api/v1/projects/:projectId/deployments
Trigger a new deployment with specified source and target environment
/api/v1/projects/:projectId/deployments/:deploymentId
Get status, logs, and details of a specific deployment
/api/v1/projects/:projectId/deployments/:deploymentId/rollback
Rollback to a previous stable deployment version
/api/v1/projects/:projectId/usage
Get current usage metrics, API call counts, and quota information
/api/v1/projects/:projectId/logs
Retrieve API request logs with filtering, sorting, and pagination
/api/v1/projects/:projectId/metrics
Query performance metrics, response times, and error rates
All error responses follow this structure with appropriate HTTP status codes:
{
"error": {
"code": "invalid_request",
"message": "Missing required parameter: api_key",
"details": "The api_key parameter is required for all requests",
"request_id": "req_1h2g3h4i5j6k7l8m"
}
}
400 Bad Request
Invalid request parameters, malformed JSON, or validation errors
401 Unauthorized
Missing, invalid, or expired authentication token
403 Forbidden
Authenticated but lacks permission for this resource
404 Not Found
Requested resource does not exist or has been deleted
429 Too Many Requests
Rate limit exceeded. Check X-RateLimit-Reset header for retry time
500 Server Error
Server error. Use request_id to contact support team
Quick answers to common developer questions about API usage, authentication, rate limits, and implementation.
Yes, a dedicated sandbox environment is available at https://sandbox-api.platform.dev. Use your sandbox credentials (obtained via dashboard) to authenticate. Sandbox data is isolated and reset weekly. Rate limits are relaxed for testing purposes.
Rate limits depend on your plan:
Rate limit information is returned in response headers (X-RateLimit-Remaining, X-RateLimit-Reset). Exceeding limits returns a 429 Too Many Requests response.
The API uses URL-based versioning. All endpoints are prefixed with the version (e.g., /v1/resources, /v2/resources). Major versions are maintained for a minimum of 12 months after a new version is released. Deprecation notices are announced 6 months in advance via email and dashboard alerts.
Webhooks are retried with exponential backoff if the endpoint returns a non-2xx status or times out:
After 5 failed attempts, the webhook is marked as failed. You can manually retry or re-deliver webhooks from the dashboard. Webhook delivery logs are retained for 30 days.
Official SDKs are available for:
Community SDKs for Ruby, PHP, and Rust are available on GitHub. All SDKs support the latest API version and include built-in retry logic, request validation, and comprehensive documentation.
Support tiers vary by plan:
All plans include access to our documentation, API reference, and code examples. Security-related issues should be reported to [email protected].
Two primary authentication methods are supported:
See the Authentication section for detailed setup instructions. All API requests must include authentication headers. Credentials are never logged or stored in plain text.
All API error responses follow a standard format with error, message, and request_id fields. Use HTTP status codes to determine error type (4xx for client errors, 5xx for server errors). For 5xx errors, implement exponential backoff and retry logic. Always log the request_id for debugging support requests.
List endpoints support cursor-based pagination with limit and cursor query parameters. Default limit is 50 items, maximum is 500. Responses include a next_cursor field for fetching the next page. For efficient data export, use the batch export endpoints which support date range filtering and return compressed JSON or CSV.
Data retention depends on resource type and account status:
Export your data anytime via the dashboard or API. Contact support for data recovery or custom retention requirements.
Check the Overview, Authentication, and Endpoints sections for more details, or contact support at [email protected].