Skip to main content

Overview

The Qovery API is a RESTful API that allows you to programmatically manage your entire infrastructure. Build custom integrations, automate workflows, and extend Qovery’s functionality to fit your needs.

Base URL

All API requests should be made to:
https://api.qovery.com

API Specifications

The Qovery API follows these standards:
  • REST - Resource-based URLs with standard HTTP methods
  • JSON - Request and response bodies use JSON format
  • Authentication - Bearer token authentication
  • Versioning - API version included in URL path
  • Rate Limiting - 1000 requests per hour per token

Key Features

Common Use Cases

CI/CD Integration

Integrate Qovery deployments into your CI/CD pipelines:
  • Trigger deployments from GitHub Actions, GitLab CI, CircleCI
  • Automate environment creation for feature branches
  • Manage environment variables programmatically

Custom Dashboards

Build custom monitoring and management dashboards:
  • Display real-time status of applications and databases
  • Create custom analytics and reporting
  • Aggregate data across multiple projects

Infrastructure Automation

Automate infrastructure management tasks:
  • Auto-scaling based on custom metrics
  • Scheduled environment cleanup
  • Automated backup and disaster recovery

Multi-Tenant Systems

Manage infrastructure for multiple customers:
  • Programmatically provision isolated environments per customer
  • Automate resource allocation and billing
  • Manage access control and permissions

Available Resources

The API provides access to all Qovery resources:
ResourceDescription
OrganizationsManage organization settings and members
ProjectsCreate and manage projects
EnvironmentsDeploy and manage environments
ApplicationsDeploy containerized applications
DatabasesProvision and manage databases
ContainersDeploy generic containers
JobsManage cron and lifecycle jobs
ClustersConfigure Kubernetes clusters
Environment VariablesManage secrets and configuration
Deployment RulesConfigure deployment automation

Response Format

All API responses follow this structure:

Success Response

{
  "id": "resource-id",
  "created_at": "2024-01-01T00:00:00.000Z",
  "updated_at": "2024-01-01T00:00:00.000Z",
  ...
}

Error Response

{
  "status": 400,
  "error": "Bad Request",
  "message": "Validation error: name is required"
}

HTTP Status Codes

CodeDescription
200Success
201Created
204No Content (success with no body)
400Bad Request
401Unauthorized
403Forbidden
404Not Found
429Too Many Requests (rate limit)
500Internal Server Error

Rate Limiting

The API enforces rate limits to ensure fair usage:
  • 1000 requests per hour per API token
  • Rate limit headers included in responses:
    • X-RateLimit-Limit: Maximum requests per window
    • X-RateLimit-Remaining: Remaining requests
    • X-RateLimit-Reset: Time when limit resets (Unix timestamp)
When rate limited, you’ll receive a 429 status code.

Pagination

List endpoints support pagination:
GET /api/v1/projects?page=1&page_size=20
Response includes pagination metadata:
{
  "results": [...],
  "pagination": {
    "page": 1,
    "page_size": 20,
    "total_count": 150,
    "total_pages": 8
  }
}

SDKs and Client Libraries

Official SDKs are available for:
  • Python - pip install qovery
  • Go - go get github.com/qovery/qovery-client-go
  • TypeScript/JavaScript - npm install qovery
  • Rust - cargo add qovery

OpenAPI Specification

Download the OpenAPI specification:
curl https://api.qovery.com/openapi.json -o qovery-api.json
Use with tools like Postman, Insomnia, or generate custom clients.

Next Steps

Support

Need help with the API? Check the API Reference or contact support@qovery.com.