DomainOpsDomainOps

API Reference

The DomainOps REST API lets you manage all resources programmatically — domains, endpoints, portfolios, liveness configs, exposure scans, notifications, and renewals.

Base URL

text
https://api.domainops.io/api/v1

The full machine-readable spec is published as OpenAPI 3.0 — import it into Postman, Insomnia or any code-generator to scaffold a typed client.

Authentication

All API requests must be authenticated. Generate a token from Settings → API Tokens. Three methods are supported:

1. Query parameter

text
GET https://api.domainops.io/api/v1/domains?api_key=YOUR_TOKEN

2. Bearer header

bash
curl https://api.domainops.io/api/v1/domains \
  -H "Authorization: Bearer YOUR_TOKEN"

3. Request body

json
{
  "api_key": "YOUR_TOKEN"
}

Keep your API token secret. Never expose it in client-side code or public repositories.

Rate limiting

The API allows 100 requests per minute per team. When the limit is exceeded, the API returns HTTP 429. Implement exponential backoff before retrying.

Error format

All errors are returned as JSON with a consistent structure:

json
{
  "error": "Domain already exists in your account",
  "code": "DOMAIN_EXISTS",
  "timestamp": "2026-03-28T09:00:00.000Z",
  "path": "/api/v1/domains"
}

The code field is optional and present only when a machine-readable error code is available.

HTTP status codes

CodeStatusDescription
400Bad RequestMissing or invalid request parameters
401UnauthorizedMissing or invalid API token
402Payment RequiredFeature requires a higher plan or limit reached
403ForbiddenToken lacks permission for this action
404Not FoundResource does not exist
409ConflictResource already exists or is in a conflicting state
429Too Many RequestsRate limit exceeded — retry after the indicated delay
500Server ErrorUnexpected server-side error
503Service UnavailableService temporarily down for maintenance

API sections