System
Base URL
https://api.example.com
GET
/api/v1/system/health
Health Check
Health check endpoint for monitoring
Checks:
- API server status
- PostgreSQL connection
- Redis connection
- RabbitMQ connection
Returns: Service status information
Responses
200Successful Response
curl -X GET 'https://api.example.com/api/v1/system/health' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://api.example.com/api/v1/system/health",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/system/health", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/system/health", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
GET
/api/v1/system/queue-stats
Get Queue Stats
Get queue statistics
Returns: Current queue depths for all job types
Responses
200Successful Response
curl -X GET 'https://api.example.com/api/v1/system/queue-stats' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://api.example.com/api/v1/system/queue-stats",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/system/queue-stats", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/system/queue-stats", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
GET
/api/v1/system/credential-health
Credential Health
Count active clients missing Fernet-encrypted credentials.
missing_encrypted_credentials must stay at 0 — any non-zero value means one or more active clients cannot have their Bearer token reconstructed by the scheduler, so their WindMill campaigns will be skipped (and the scheduler will emit ERROR logs every cycle until fixed). Run python -m scripts.backfill_missing_encrypted_credentials to rotate.
Responses
200Successful Response
curl -X GET 'https://api.example.com/api/v1/system/credential-health' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://api.example.com/api/v1/system/credential-health",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/system/credential-health", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/system/credential-health", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
GET
/api/v1/system/info
Get System Info
Get system information
Returns: API configuration and version information
Responses
200Successful Response
curl -X GET 'https://api.example.com/api/v1/system/info' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://api.example.com/api/v1/system/info",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/system/info", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/system/info", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
Ask AI