API Reference

Complete API documentation for integrating Sivvy's security platform into your applications.

Authentication

All API requests require authentication using your API key

Base URL

https://api.sivvy.io/v2/

API Key

Include your API key in all requests using the key parameter.

# Example API request
curl -X GET "https://api.sivvy.io/v2/check-ip?key=YOUR_API_KEY&ip=203.0.113.42"

IP Allowlist Endpoints

Manage IP addresses and check access permissions

GET

Check IP Address

Verify if an IP address is allowed to access your application.

GET /check-ip

Parameters:

key required Your API key
ip required IP address to check
format optional Response format (json, xml). Default: json

Example Response:

{
  "allowed": true,
  "ip": "203.0.113.42",
  "label": "Office Network",
  "timestamp": "2025-01-03T10:30:00Z",
  "rate_limit": {
    "remaining": 98,
    "reset": "2025-01-03T11:00:00Z"
  }
}
POST

Add IP Address

Add a new IP address to your allowlist.

POST /add-ip
curl -X POST "https://api.sivvy.io/v2/add-ip" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "YOUR_API_KEY",
    "ip": "203.0.113.42",
    "label": "Office Network",
    "cidr": "203.0.113.0/24"
  }'
DELETE

Remove IP Address

Remove an IP address from your allowlist.

DELETE /remove-ip
curl -X DELETE "https://api.sivvy.io/v2/remove-ip" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "YOUR_API_KEY",
    "ip": "203.0.113.42"
  }'

Website Monitoring Endpoints

Add and manage website monitors programmatically

POST

Add Website Monitor

Add a new website to monitor for uptime and performance.

POST /monitors
curl -X POST "https://api.sivvy.io/v2/monitors" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "YOUR_API_KEY",
    "url": "https://example.com",
    "interval": 300,
    "webhook_url": "https://your-app.com/webhook"
  }'
GET

Get Monitor Status

Retrieve current status and recent checks for a monitor.

GET /monitors/{monitor_id}

Example Response:

{
  "id": 123,
  "url": "https://example.com",
  "status": "up",
  "response_time": 245,
  "status_code": 200,
  "last_check": "2025-01-03T10:30:00Z",
  "uptime_24h": 99.5,
  "uptime_7d": 99.8,
  "ssl_expiry": "2025-12-01T00:00:00Z"
}

Rate Limits & Error Handling

Understanding API limits and proper error handling

Rate Limits

  • Free: 10,000 requests/month
  • Starter: 50,000 requests/month
  • Professional: 250,000 requests/month
  • Agency: 10,000,000 requests/month

Rate Limit Headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 998
X-RateLimit-Reset: 1641024000

Error Responses

  • 400: Bad Request - Invalid parameters
  • 401: Unauthorized - Invalid API key
  • 429: Too Many Requests - Rate limit exceeded
  • 500: Internal Server Error

Error Format:

{
  "error": {
    "code": 401,
    "message": "Invalid API key",
    "details": "The provided API key is not valid"
  }
}

SDKs & Libraries

Official SDKs and community libraries to integrate Sivvy faster.

PHP SDK

Coming Soon

Node.js SDK

Coming Soon

Python SDK

Coming Soon

View Documentation Get Support