Public API
Drive Orizon programmatically — projects, deployments, logs, environment variables, databases and domains. The same API powers the CLI and the MCP server.
Base URL
https://api.orizon.ng/api/v1Authentication
Create a platform API key in the dashboard and send it as a Bearer token. Keys are org-scoped and either full (read + write) or read (GET only). The key looks like orz_pk_… and the secret is shown once — store it safely.
curl https://api.orizon.ng/api/v1/projects \
-H "Authorization: Bearer orz_pk_your_key_here"Deploy a project
Trigger a build of the connected repository. Pass a branch, a specific commitSha, or a sourceTarballUrl (from the /uploads endpoint) to deploy local code.
curl -X POST https://api.orizon.ng/api/v1/projects/proj_123/deployments \
-H "Authorization: Bearer orz_pk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"branch":"main"}'Tail deployment logs
curl https://api.orizon.ng/api/v1/deployments/dep_123/logs \
-H "Authorization: Bearer orz_pk_your_key_here"Set environment variables
PUTreplaces the project's variables with the map you send and triggers a redeploy so the new values take effect.
curl -X PUT https://api.orizon.ng/api/v1/projects/proj_123/env \
-H "Authorization: Bearer orz_pk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"variables":{"NODE_ENV":"production","API_URL":"https://api.example.com"}}'Endpoints
Every public-API endpoint, grouped by resource. This list is generated from the OpenAPI spec, so it always matches the live API. Endpoints marked (write) require a full key.
Projects
/projectsList the caller's Orizon projects (hosted apps/sites)/projectsCreate a project (the container for a deployed app or site) (write)/projects/{id}Get one project's full configuration and live URL/projects/{id}Update mutable project settings (write)/projects/{id}/static-routingGet static-site URL routing mode/projects/{id}/static-routingSet static-site URL routing mode (write)GitHub
/github/installationsList this org's connected GitHub App installationsDeployments
/projects/{id}/deploymentsList a project's deployments / deploy history (newest first)/projects/{id}/deploymentsDeploy a project — build and ship it live (write)/deployments/{id}Get one deployment's status (is it live yet?)/deployments/{id}/logsGet a deployment's build and runtime logsUploads
/uploadsUpload source (a zip) for an upload-only deploy (write)Environment variables
/projects/{id}/envList a project's environment variables (names, not secrets)/projects/{id}/envSet environment variables / secrets for a project (write)Managed databases
/databasesList managed databases/databasesProvision a managed database (write)/databases/{id}Get a managed database/databases/{id}Delete a managed database (write)/databases/{id}/stopStop a managed database (write)/databases/{id}/startStart a managed database (write)/databases/{id}/restartRestart a managed database (write)/databases/{id}/statsGet live stats for a managed database/databases/{id}/logsGet recent container logs for a managed database/databases/{id}/usersAdd a connection user to a managed database (write)/databases/{id}/users/{username}Remove a connection user from a managed database (write)Domains
/projects/{id}/domainsList a project's domains/projects/{id}/domainsAttach a custom domain to a project (write)/projects/{id}/domains/{domain}/primarySet a project's primary (production) domain (write)/projects/{id}/domains/{domain}Detach a domain from a project (write)/projects/{id}/domains/{domain}/proxy-statusGet a domain's Cloudflare proxy status/emailsList recent transactional emails/emailsSend a transactional email (write)DNS zones
/dns/zonesList managed DNS zones/dns/zonesCreate a managed DNS zone (write)/dns/zones/{id}Get a managed DNS zone/dns/zones/{id}Delete a managed DNS zone (write)DNS records
/dns/zones/{id}/recordsList DNS records in a zone/dns/zones/{id}/recordsCreate a DNS record (write)/dns/zones/{id}/records/{recordId}Update a DNS record (write)/dns/zones/{id}/records/{recordId}Delete a DNS record (write)CDN buckets
/cdn/bucketsList CDN storage buckets/cdn/bucketsCreate a CDN storage bucket (write)/cdn/buckets/{id}Get a CDN bucket/cdn/buckets/{id}Update a CDN bucket (write)/cdn/buckets/{id}Delete a CDN bucket (write)CDN assets
/cdn/buckets/{id}/assetsList assets in a CDN bucket/cdn/buckets/{id}/uploads/presignPresign a direct-to-R2 CDN upload (write)/cdn/buckets/{id}/uploads/finalizeFinalize a direct-to-R2 CDN upload (write)/cdn/assets/{id}Get a CDN asset/cdn/assets/{id}Delete a CDN asset (write)/cdn/assets/{id}/signed-urlGet a signed URL for a private CDN assetCDN
/cdn/usageGet CDN usage totals + a daily windowCDN keys
/cdn/keysList CDN upload API keys/cdn/keysCreate a CDN upload API key (write)/cdn/keys/{id}Revoke a CDN upload API key (write)Cron jobs
/cronList cron jobs/cronCreate a cron job (write)/cron/previewValidate a cron expression and preview its next runs/cron/{id}Get a cron job/cron/{id}Update a cron job (write)/cron/{id}Delete a cron job (write)/cron/{id}/runRun a cron job now (write)/cron/{id}/runsList a cron job's run historyEnvironment groups
/env-groupsList environment-variable groups/env-groupsCreate an environment-variable group (write)/env-groups/{id}Get an environment-variable group/env-groups/{id}Update an environment-variable group (write)/env-groups/{id}Delete an environment-variable group (write)/env-groups/{id}/varsSet a variable on an environment-variable group (write)/env-groups/{id}/vars/{name}Update a variable on an environment-variable group (write)/env-groups/{id}/vars/{name}Delete a variable from an environment-variable group (write)/projects/{id}/env-groupsList a project's environment-variable groups/projects/{id}/env-groupsAttach an environment-variable group to a project (write)/projects/{id}/env-groups/{groupId}Detach an environment-variable group from a project (write)files
/projects/{id}/filesList a directory in a project's source tree/projects/{id}/files/contentRead a file's contents/projects/{id}/files/contentWrite (create or overwrite) a file (write)/projects/{id}/files/contentDelete a file or directory (write)/projects/{id}/files/directoriesCreate a directory (write)/projects/{id}/files/moveMove or rename a file/directory (write)/projects/{id}/files/searchSearch file contents/projects/{id}/files/deployDeploy the edited source tree (write)services
/projects/{id}/servicesList a project's running containers/projects/{id}/services/{service}/{action}Start, stop or restart one container (write)/projects/{id}/services/{service}/execRun a command inside one service's live container (write)runs
/projects/{id}/runsList previous runs for a project/projects/{id}/runsRun a one-off command against a project in an isolated sandbox (write)/projects/{id}/runs/{runId}Get one run, including its full output/runs/allowed-commandsList the commands create_project_run acceptsservice_env
/projects/{id}/services/{service}/envList a compose service's own environment variables/projects/{id}/services/{service}/env/{name}Set one environment variable for a single compose service (write)/projects/{id}/services/{service}/env/{name}Remove a service-scoped environment variable (write)429 with a Retry-After header. The full machine-readable spec lives at https://api.orizon.ng/api/v1/openapi.json. Agents can fetch the whole surface at once from /llms-api.txt.