Skip to main content Skip to content

API Reference

Complete list of all public ZopNight API endpoints with request/response documentation, grouped by domain.

1 min read Last updated: 

Complete list of all public API endpoints. Click any endpoint to view detailed documentation with request/response examples.

Base URL: https://zopnight.com/api

Authentication

POST /auth/login

Authenticate and receive tokens

POST /auth/signup

Create a new user account

POST /auth/refresh

Refresh access token

POST /auth/logout

Invalidate session

POST /auth/email/verify

Request email verification OTP

PATCH /auth/email/otp/validate

Validate OTP code

POST /auth/password/forget

Initiate password reset

POST /auth/password/reset

Complete password reset

POST /auth/saml/initiate

Begin SAML SSO flow

POST /auth/v2/organisation

Create organization

Cloud Accounts

GET /cloud-accounts

List cloud accounts

POST /cloud-accounts

Connect cloud account

GET /cloud-accounts/{accountID}

Get cloud account

PUT /cloud-accounts/{accountID}

Update cloud account

DELETE /cloud-accounts/{accountID}

Delete cloud account

GET /connect/gcp/oauth-url

Get GCP OAuth URL

POST /connect/gcp/oauth-exchange

Exchange GCP OAuth code

POST /connect/gcp/oauth-finalize

Finalize GCP OAuth

GET /cloud-accounts/{accountID}/clusters

List clusters in a cloud account

PUT /cloud-accounts/{accountID}/clusters/{region}/{clusterName}/access

Register a cluster for kubeconfig access

DELETE /cloud-accounts/{accountID}/clusters/{region}/{clusterName}/access

Deregister a cluster

Resources

GET /resources

List resources with filtering

GET /resources/count

Count resources matching filters

GET /resources/{resourceID}

Get resource detail

GET /resources/by-ids

Get resources by IDs

GET /resources/by-uids

Get resources by cloud UIDs (query)

POST /resources/by-uids

Get resources by cloud UIDs (body)

GET /resources/discovery-summary

Per-provider discovery rollup

GET /resources/{id}/access

Check IAM + network access to a managed Kubernetes cluster

GET /resources/last-synced

Most recent discovery timestamp per provider/account

GET /resources/filter-fields

Get available filter options

POST /resources/refresh

Trigger discovery refresh

GET /resources/refresh/status

Check refresh status

Schedules

GET /schedules

List schedules

POST /schedules

Create schedule

GET /schedules/{scheduleID}

Get schedule

PUT /schedules/{scheduleID}

Update schedule

DELETE /schedules/{scheduleID}

Delete schedule

POST /schedules/{scheduleID}/resources/{resourceID}

Attach resource

DELETE /schedules/{scheduleID}/resources/{resourceID}

Detach resource

POST /schedules/{scheduleID}/groups/{groupID}

Attach group

DELETE /schedules/{scheduleID}/groups/{groupID}

Detach group

Resource Groups

GET /resource-groups

List resource groups

POST /resource-groups

Create resource group

GET /resource-groups/{groupID}

Get resource group

PUT /resource-groups/{groupID}

Update resource group

DELETE /resource-groups/{groupID}

Delete resource group

GET /resource-groups/{groupID}/schedules

Get group schedules

POST /resource-groups/{groupID}/resources/{resourceID}

Add member

PATCH /resource-groups/{groupID}/resources/{resourceID}/sequence

Update execution order

DELETE /resource-groups/{groupID}/resources/{resourceID}

Remove member

Overrides

GET /overrides

List overrides

POST /overrides

Create override

GET /overrides/{overrideID}

Get override

DELETE /overrides/{overrideID}

Delete override

GET /resource-groups/{groupID}/overrides

List group overrides

POST /resource-groups/{groupID}/overrides

Create group override

Actions & Execution

POST /actions

Submit manual action

POST /actions/bulk

Submit bulk action

GET /actions/{actionID}

Get action status

GET /actions/bulk/{bulkActionID}

Get bulk action status

GET /actions/bulk/latest

Get the most recent bulk action

GET /state-history

Get state history

Reports & Analytics

GET /reports/summary

Dashboard summary

GET /reports/trends

Cost trends

GET /reports/cost-history

Long-range cost history

GET /reports/metrics

Aggregate utilization metrics

GET /reports/costs/resources

Resource costs

GET /reports/costs/breakdown

Cost breakdown by dimensions (Sankey)

GET /reports/providers/summary

Provider summary

GET /reports/resources/summary

Resource summary

GET /reports/resources/metrics

Per-resource utilization metrics

GET /reports/resources/activity

Per-resource activity timeline

GET /reports/snapshots

Monthly snapshots

GET /reports/anomalies

List anomaly records

POST /reports/export

Export a report as CSV/JSON

Showback (Cost Attribution)

GET /reports/teams

Cost per team

GET /reports/teams/{teamID}

Team breakdown

GET /reports/teams/{teamID}/resources

Per-resource cost for a team

GET /reports/teams/trends

Team cost trends

GET /reports/tags

Tag keys with attributed cost

GET /reports/tags/{tagKey}

Tag values for a key

GET /reports/tags/{tagKey}/values/{tagValue}/resources

Resources by tag

GET /reports/tags/trends

Tag cost trends

Budgets

GET /budgets/summary

Budget summary

GET /budgets

List budgets

POST /budgets

Create budget

PUT /budgets/{budgetID}

Update budget

DELETE /budgets/{budgetID}

Delete budget

GET /events

List scheduler events

POST /events

Record scheduler event

GET /currency-exchange-rate

Current foreign-exchange rates used by reports

Billing

GET /billing/sync-status

Org-wide billing sync status

POST /billing/verify

Trigger an org-wide billing sync

POST /cloud-accounts/{accountID}/billing/verify

Start a per-account verification

GET /cloud-accounts/{accountID}/billing/verify/{verifyID}

Poll a verification job

Recommendations

GET /recommendations/resources

List resources with recommendation summaries

GET /recommendations/rules

List rules with recommendation summaries

GET /recommendations

List individual recommendations

GET /recommendations/summary

Recommendation summary

GET /recommendations/summary/providers

Provider breakdown

GET /recommendations/filter-fields

Get available filter fields

GET /recommendations/resources/{resourceUID}

Resource recommendations (deprecated)

GET /recommendations/{recID}/detail

Recommendation detail

PATCH /recommendations/{recommendationID}

Update recommendation

POST /recommendations/refresh

Refresh recommendations

Smart Tags

GET /smart-tags

List derived/accepted virtual tags + org-wide counts

PATCH /smart-tags

Accept or revoke tags (body: resourceUid, keys, all, accepted)

GET /tagging/policies/catalog

Tagging-policy form vocabulary

POST /tagging/policies/validations

Validate a tagging-policy spec before create

VM Autoscaling

GET /autoscaler-policies

List autoscaler policies

POST /autoscaler-policies

Create policy

GET /autoscaler-policies/count

Count policies by status

GET /autoscaler-policies/filters

Distinct filter values

GET /autoscaler-policies/smart-defaults

Smart defaults for a target

GET /autoscaler-policies/required-permissions

IAM permissions to provision infra

POST /autoscaler-policies/create-infrastructure

Provision autoscaler infrastructure

GET /autoscaler-policies/infrastructure-status

Provisioning status for a cloud account

GET /autoscaler-policies/{policyID}

Get policy

PUT /autoscaler-policies/{policyID}

Update policy

DELETE /autoscaler-policies/{policyID}

Delete policy

POST /autoscaler-policies/{policyID}/apply

Apply latest recommendation

POST /autoscaler-policies/{policyID}/pause

Pause evaluation

POST /autoscaler-policies/{policyID}/resume

Resume evaluation

POST /autoscaler-policies/{policyID}/remove

Soft-delete the policy

GET /autoscaler-policies/{policyID}/events

Per-policy event log

Event Readiness

GET /event-readiness

List plans

POST /event-readiness

Create a plan

GET /event-readiness/calculate

Preview scaled capacity

GET /event-readiness/calculate-db

Preview database tier change

POST /event-readiness/preview-readiness

Preview a full plan without saving

GET /event-readiness/count

Count plans

GET /event-readiness/filters

Filter values

GET /event-readiness/{eventID}

Get a plan

PUT /event-readiness/{eventID}

Update a plan

DELETE /event-readiness/{eventID}

Delete a plan

GET /event-readiness/{eventID}/db-impact

Estimated DB impact

GET /event-readiness/{eventID}/cost-estimate

Estimated extra cost

GET /event-readiness/{eventID}/readiness-check

Re-validate the plan

POST /event-readiness/{eventID}/schedule

Dispatch the plan to executor

POST /event-readiness/{eventID}/cancel

Cancel an active plan

GET /event-readiness/{eventID}/logs

Plan audit log

Dashboards

GET /dashboards

List dashboards (system presets + user-created)

POST /dashboards

Create a dashboard

GET /dashboards/{dashboardID}

Get a dashboard

PATCH /dashboards/{dashboardID}

Update a dashboard

DELETE /dashboards/{dashboardID}

Delete a dashboard

PUT /dashboards/default

Set the org default dashboard

Notifications

GET /notifications

List notifications (legacy)

POST /notifications

Create notification (legacy)

PUT /notifications/{notificationID}

Update notification (legacy)

DELETE /notifications/{notificationID}

Delete notification (legacy)

GET /notifications/channels

List notification channels

POST /notifications/channels

Create notification channel

PUT /notifications/channels/{channelID}

Update notification channel

DELETE /notifications/channels/{channelID}

Delete notification channel

GET /notifications/subscriptions

List subscriptions

POST /notifications/subscriptions

Create subscription

PUT /notifications/subscriptions/{subID}

Update subscription

DELETE /notifications/subscriptions/{subID}

Delete subscription

POST /notifications/subscriptions/bulk

Bulk create/update subscriptions

GET /notifications/event-types

List event types

GET /notifications/email-preferences

Get email preferences

PUT /notifications/email-preferences/{eventKey}

Update email preference

POST /notifications/share/recommendation/{recID}

Share recommendation

POST /notifications/channels/{channelID}/test

Test channel delivery

Users & Teams

GET /users

List users

POST /users

Invite user

PATCH /users/{email}

Update user

DELETE /users/{email}

Remove user

GET /teams

List teams

POST /teams

Create team

GET /teams/{teamID}

Get team

PUT /teams/{teamID}

Update team

DELETE /teams/{teamID}

Delete team

GET /teams/{teamID}/members

List team members

POST /teams/{teamID}/members

Add team member

DELETE /teams/{teamID}/members/{email}

Remove team member

GET /teams/{teamID}/resources

List team resources

POST /teams/{teamID}/resources

Assign resource to team

DELETE /teams/{teamID}/resources/{resourceUID}

Unassign resource

Roles & Permissions

GET /roles

List roles

POST /roles

Create role

GET /roles/{roleID}

Get role

PUT /roles/{roleID}

Update role

DELETE /roles/{roleID}

Delete role

GET /policies

List policies

GET /assignments

List role assignments

POST /assignments

Create assignment

PUT /assignments/{assignmentID}

Update assignment

DELETE /assignments/{assignmentID}

Delete assignment

GET /permissions

Get current user permissions

GET /users/{email}/permissions

Get user permissions

GET /users/{email}/permissions/verify

Verify permission

Organizations

GET /organisations

List organizations

POST /organisations

Create organization

GET /organisation

Get current organization

PUT /organisation

Update organization

DELETE /organisation

Delete organization

Audit Logs

GET /audit-logs

List audit logs

POST /audit-logs/export

Export audit logs as CSV

Deployment Spaces

GET /spaces

List deployment spaces. (config)

POST /spaces

Register an existing cluster as a space. (config)

GET /spaces/{spaceID}

Get a space. (config)

PATCH /spaces/{spaceID}/status

Toggle a space active/inactive. (config)

DELETE /spaces/{spaceID}

Delete a space. (config)

GET /space-discovery/{spaceID}/namespaces

List namespaces on a space’s cluster. (deployer)

POST /space-discovery/{spaceID}/namespaces

Create a namespace on a space’s cluster. (deployer)

GET /cloud-accounts/{accountID}/clusters

List clusters discovered on a cloud account. (config)

PUT /cloud-accounts/{accountID}/clusters/{region}/{clusterName}/access

Register cluster access for kubeconfig minting. (config)

DELETE /cloud-accounts/{accountID}/clusters/{region}/{clusterName}/access

Deregister cluster access. (config)

Provisioning

POST /provisioning-jobs

Create a provisioning job. (provisioner)

GET /provisioning-jobs

List provisioning jobs. (provisioner)

GET /provisioning-jobs/{jobID}

Get a job. (provisioner)

PATCH /provisioning-jobs/{jobID}

Update lightweight job fields. (provisioner)

DELETE /provisioning-jobs/{jobID}

Delete a job. (provisioner)

POST /provisioning-jobs/{jobID}/retry

Retry a failed job. (provisioner)

POST /provisioning-jobs/{jobID}/databases

Create a database on the parent datastore. (provisioner)

GET /provisioning-jobs/{jobID}/databases

List databases. (provisioner)

GET /provisioning-jobs/{jobID}/databases/{dbID}

Get a database. (provisioner)

DELETE /provisioning-jobs/{jobID}/databases/{dbID}

Delete a database. (provisioner)

POST /provisioning-jobs/{jobID}/connections

Create a job-scoped connection. (provisioner)

GET /provisioning-jobs/{jobID}/connections

List job-scoped connections. (provisioner)

GET /provisioning-jobs/{jobID}/connections/{connID}

Get a job-scoped connection. (provisioner)

DELETE /provisioning-jobs/{jobID}/connections/{connID}

Delete a job-scoped connection. (provisioner)

POST /provisioning-jobs/{jobID}/databases/{dbID}/connections

Create a database-scoped connection. (provisioner)

GET /provisioning-jobs/{jobID}/databases/{dbID}/connections

List database-scoped connections. (provisioner)

GET /provisioning-jobs/{jobID}/databases/{dbID}/connections/{connID}

Get a database-scoped connection. (provisioner)

DELETE /provisioning-jobs/{jobID}/databases/{dbID}/connections/{connID}

Delete a database-scoped connection. (provisioner)

POST /provisioning-jobs/install-component

Install a catalog component. (provisioner)

GET /catalog/components

List available catalog components. (provisioner)

Remediation Jobs

POST /remediation-jobs

Start a remediation workflow for a recommendation. (provisioner)

POST /remediation-jobs/{id}/cancel

Cancel a running remediation. (provisioner)

POST /remediation-jobs/{jobID}/steps-by-id/{stepID}/approve

Approve an approval-gated step (by stable step ID). (provisioner)

POST /remediation-jobs/{jobID}/steps-by-id/{stepID}/reject

Reject an approval-gated step (by stable step ID). (provisioner)

POST /remediation-jobs/{id}/steps/{stepName}/approve

Approve an approval-gated step (by step name, legacy). (provisioner)

POST /remediation-jobs/{id}/steps/{stepName}/reject

Reject an approval-gated step (by step name, legacy). (provisioner)

GET /remediation-jobs/{id}/audit

Step-level audit timeline. (provisioner)

Deployments

GET /deployments

List deployments. (config)

POST /deployments

Create a deployment. (config)

GET /deployments/{id}

Get a deployment. (config)

DELETE /deployments/{id}

Delete a deployment (invokes deployer Teardown gRPC before soft-delete). (config)

PATCH /deployments/{id}/configs

Update configs (creates a revision on next deploy). (config)

PATCH /deployments/{id}/canvas-position

Persist canvas (x, y) coordinate. (config)

POST /deployments/{id}/analyze

Re-run deploy-readiness checks. (deployer)

POST /deployments/{id}/revisions

Create a revision. (deployer)

GET /deployments/{id}/revisions

List revisions. (deployer)

GET /deployments/{id}/revisions/{revID}

Get a revision. (deployer)

POST /deployments/{id}/rollback

Roll back to a prior revision. (deployer)

GET /deployments/{id}/events

Deployment event timeline. (deployer)

GET /deployments/{id}/loadbalancer

LoadBalancer status. (deployer)

GET /environments/{envID}/deployments

List deployments in env. (config)

POST /environments/{envID}/deployments

Create deployment in env. (config)

Builds

POST /analyze

Analyze a repo for deploy readiness (wizard pre-create). (deployer)

GET /repositories

List connected repositories. (deployer)

GET /branches

List branches in a repository. (deployer)

Projects & Environments

POST /projects

Create a project. (config)

GET /projects

List projects. (config)

GET /projects/stats

Batch project stats (env count, status buckets). (config)

GET /projects/{projectID}

Get a project. (config)

PATCH /projects/{projectID}

Update a project. (config)

DELETE /projects/{projectID}

Delete a project. (config)

POST /projects/{projectID}/environments

Create environment. (config)

GET /projects/{projectID}/environments

List environments. (config)

GET /projects/{projectID}/environments/{envID}

Get env (nested). (config)

PATCH /projects/{projectID}/environments/{envID}

Update env. (config)

DELETE /projects/{projectID}/environments/{envID}

Delete env. (config)

GET /environments/{envID}

Get env (flat lookup). (config)

GET /environments/{envID}/stats

Env stats (live cluster query). (deployer)

GET /environments/{envID}/cluster-discovery

Live cluster discovery (ingress + cert-manager). (deployer)

Service Connections

POST /environments/{envID}/deployments/connections

Create a service connection. (deployer)

GET /environments/{envID}/deployments/connections

List service connections in env. (deployer)

GET /environments/{envID}/deployments/connections/{connectionID}

Get a service connection. (deployer)

DELETE /environments/{envID}/deployments/connections/{connectionID}

Soft-delete a service connection. (deployer)

Integrations

GET /integrations

List integrations

POST /integrations

Create an integration

GET /integrations/{id}

Get an integration

PUT /integrations/{id}

Update an integration

DELETE /integrations/{id}

Delete an integration

GET /integrations/github/install

Begin GitHub App install flow

GET /integrations/github/callback

GitHub install/OAuth callback

Webhooks

POST /webhooks/github

GitHub event delivery (HMAC-authenticated; idempotent via delivery_id UUID v5). (deployer)

POST /build-callbacks/{revisionID}

Build runner reports image readiness (JWT-authenticated in body, secret = BUILD_CALLBACK_SECRET). (deployer)

Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001 · zero-trust· 30% average cloud cost cut· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001 · zero-trust· 30% average cloud cost cut· 4 platforms · 1 console·