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
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_id | string | No | Filter by domain UUID |
| endpoint_type | string | No | Filter by type: http, https, or port |
| is_enabled | boolean | No | Filter by enabled state |
| limit | number | No | Max results, default 50 |
| offset | number | No | Pagination 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_id | string | Yes | UUID of the parent domain |
| name | string | Yes | Human-readable name for this endpoint |
| endpoint_type | string | Yes | http, https, or port |
| subdomain | string | No | Subdomain prefix, e.g. api |
| path | string | No | URL path, e.g. /health |
| port | number | No | Custom port number |
| is_enabled | boolean | No | Whether to enable monitoring, default true |
| timeout_seconds | number | No | Request timeout in seconds |
| notes | string | No | Optional 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
| Status | Description |
|---|---|
| 409 | Endpoint name already exists for this domain |
| 402 | Endpoint limit reached for your plan |
POST/api/v1/endpoints/bulkAuth required
Create multiple endpoints in a single request.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| operation | string | Yes | Must be 'create' |
| endpoints | array | Yes | Array 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | No | New name |
| endpoint_type | string | No | http, https, or port |
| subdomain | string | No | Subdomain prefix |
| path | string | No | URL path |
| port | number | No | Custom port |
| is_enabled | boolean | No | Enable or disable monitoring |
| timeout_seconds | number | No | Request timeout |
| notes | string | No | Notes |
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"
}See also: Endpoints & SSL Monitoring guide