DomainOpsDomainOps

Endpoints API

Manage HTTP, HTTPS, and TCP port endpoints. Retrieve SSL certificate status and aggregate health information.

GET/api/v1/endpointsAuth required

List endpoints across your account. Filter by domain, type, or enabled state.

Query Parameters

ParameterTypeRequiredDescription
domain_idstringNoFilter by domain UUID
endpoint_typestringNoFilter by type: http, https, or port
is_enabledbooleanNoFilter by enabled state
limitnumberNoMax results, default 50
offsetnumberNoPagination offset, default 0

Response

json
{
  "endpoints": [
    {
      "id": "uuid",
      "domain_id": "uuid",
      "domain": "example.com",
      "name": "Main site",
      "endpoint_type": "https",
      "full_url": "https://example.com",
      "is_enabled": true
    }
  ],
  "total": 1
}
GET/api/v1/endpoints/:idAuth required

Get a single endpoint including SSL status, liveness configuration, and health score.

Response

json
{
  "id": "uuid",
  "domain_id": "uuid",
  "domain": "example.com",
  "name": "Main site",
  "endpoint_type": "https",
  "full_url": "https://example.com",
  "is_enabled": true,
  "ssl_status": "valid",
  "ssl_expiry_date": "2025-06-01",
  "liveness_enabled": true,
  "health_score": 90,
  "created_at": "2026-01-01T00:00:00Z"
}
POST/api/v1/endpointsAuth required

Create a new endpoint under a domain.

Request Body

ParameterTypeRequiredDescription
domain_idstringYesUUID of the parent domain
namestringYesHuman-readable name for this endpoint
endpoint_typestringYeshttp, https, or port
subdomainstringNoSubdomain prefix, e.g. api
pathstringNoURL path, e.g. /health
portnumberNoCustom port number
is_enabledbooleanNoWhether to enable monitoring, default true
timeout_secondsnumberNoRequest timeout in seconds
notesstringNoOptional notes

Response

json
{
  "id": "uuid",
  "domain_id": "uuid",
  "domain": "example.com",
  "name": "API",
  "endpoint_type": "https",
  "full_url": "https://api.example.com",
  "is_enabled": true,
  "created_at": "2026-01-01T00:00:00Z"
}

Error Codes

StatusDescription
409Endpoint name already exists for this domain
402Endpoint limit reached for your plan
POST/api/v1/endpoints/bulkAuth required

Create multiple endpoints in a single request.

Request Body

ParameterTypeRequiredDescription
operationstringYesMust be 'create'
endpointsarrayYesArray of endpoint objects with the same fields as POST /endpoints

Response

json
{
  "message": "3 endpoints created",
  "endpoints": [
    { "id": "uuid", "name": "Main site", "full_url": "https://example.com" }
  ]
}
PUT/api/v1/endpoints/:idAuth required

Update an endpoint. All fields are optional.

Request Body

ParameterTypeRequiredDescription
namestringNoNew name
endpoint_typestringNohttp, https, or port
subdomainstringNoSubdomain prefix
pathstringNoURL path
portnumberNoCustom port
is_enabledbooleanNoEnable or disable monitoring
timeout_secondsnumberNoRequest timeout
notesstringNoNotes

Response

json
{
  "id": "uuid",
  "name": "Updated name",
  "is_enabled": false,
  "updated_at": "2026-03-28T09:00:00Z"
}
DELETE/api/v1/endpoints/:idAuth required

Delete an endpoint and all associated liveness data.

Response

json
{
  "message": "Endpoint deleted",
  "deleted_endpoint": {
    "id": "uuid",
    "name": "Main site"
  }
}
GET/api/v1/endpoints/:id/statusAuth required

Get the current status of an endpoint including SSL certificate info and liveness uptime.

Response

json
{
  "endpoint": {
    "id": "uuid",
    "full_url": "https://example.com"
  },
  "ssl": {
    "status": "valid",
    "expiry_date": "2025-06-01",
    "days_until_expiry": 80
  },
  "liveness": {
    "status": "up",
    "uptime_24h": 99.8,
    "uptime_7d": 99.5
  },
  "overall_health": "healthy"
}