Documentation

Getting Started

Authenticate with the ZopNight API and make your first request — base URL, login flow, response envelope, pagination, and a sample resource listing call.

This guide walks you through authenticating with the ZopNight API and making your first request.

Prerequisites

  • A ZopNight account with at least one organization
  • At least one connected cloud account (AWS, GCP, or Azure)
  • An API client or curl for making HTTP requests

Base URL

All API requests are made to the gateway endpoint:

plaintext
https://zopnight.com/api

Authentication

First, obtain an access token by logging in. ZopNight supports email/password, Google, GitHub, and SAML authentication.

Step 1: Login

Request · bash
curl -X POST https://zopnight.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
  "email": "you@company.com",
  "password": "your-password",
  "provider": "email"
}'
Response · json
{
"data": {
  "accessToken": "eyJhbGciOiJSUzI1NiIs...",
  "refreshToken": "dGhpcyBpcyBhIHJlZnJl...",
  "tenants": [
    {
      "id": "org_abc123",
      "name": "My Organization"
    }
  ],
  "user": {
    "email": "you@company.com",
    "name": "Your Name"
  }
}
}

Step 2: Use the Token

Include the access token in all subsequent requests via the Authorization header:

Authenticated request · bash
curl https://zopnight.com/api/resources \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..."

See the full Authentication guide for token refresh, SSO, and more.

Response Format

All API responses are wrapped in a standard envelope:

Success response · json
{
"data": {
  "id": "sch_abc123",
  "name": "Business Hours"
}
}
Error response · json
{
"error": "schedule not found"
}

Pagination

List endpoints support pagination via query parameters:

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerItems per page (default: 20)
sort_bystringField to sort by
sort_orderstringasc or desc
Example · bash
curl "https://zopnight.com/api/resources?page=2&limit=50&sort_by=name&sort_order=asc" \
-H "Authorization: Bearer <token>"

Your First API Call

Let's list your discovered cloud resources:

List resources · bash
curl https://zopnight.com/api/resources \
-H "Authorization: Bearer <token>"
Response · json
{
"data": [
  {
    "id": "res_001",
    "name": "web-server-prod",
    "uid": "i-0abc123def456",
    "type": "aws-ec2",
    "provider": "aws",
    "region": "us-east-1",
    "status": "running",
    "instanceType": "t3.medium",
    "schedulable": true,
    "tags": { "Environment": "production" }
  }
]
}

Next Steps