Integrate website monitoring into your applications with our powerful REST API. Manage URLs, trigger checks, and get real-time status updates programmatically.
Everything you need to integrate monitoring into your workflow
Secure authentication using API tokens. Generate tokens with specific permissions for different use cases.
Trigger immediate checks, get status updates, and monitor response times in real-time.
Built-in rate limiting (100 requests/hour) to ensure fair usage and system stability.
Configure check intervals from 1 minute to 24 hours to match your monitoring needs.
Access detailed check history, uptime statistics, and performance metrics via API.
Monitor websites from multiple locations worldwide for comprehensive coverage.
Get up and running with the Uptown API in minutes
Log into your Uptown account and navigate to Settings → Account → API Tokens. Create a new token with appropriate permissions.
Test your API token by listing your existing URLs:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.nanokoi.io/api/v1/api/urls/Add a new URL to monitor using the API:
curl -X POST \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"My Site","url":"https://example.com","check_interval_minutes":5}' \
https://api.nanokoi.io/api/v1/api/urls/Complete reference for all available endpoints
/api/v1/api/urls/[
{
"id": 1,
"name": "My Website",
"url": "https://example.com",
"expected_status_code": 200,
"check_interval_minutes": 5,
"is_active": true,
"created_at": "2025-01-21T10:00:00Z",
"updated_at": "2025-01-21T10:00:00Z"
}
]/api/v1/api/urls/{
"name": "My Website",
"url": "https://example.com",
"expected_status_code": 200,
"check_interval_minutes": 5,
"is_active": true
}{
"id": 1,
"name": "My Website",
"url": "https://example.com",
"expected_status_code": 200,
"check_interval_minutes": 5,
"is_active": true,
"created_at": "2025-01-21T10:00:00Z",
"updated_at": "2025-01-21T10:00:00Z"
}/api/v1/api/urls/{id}id - URL ID (integer, required)
{
"id": 1,
"name": "My Website",
"url": "https://example.com",
"expected_status_code": 200,
"check_interval_minutes": 5,
"is_active": true,
"created_at": "2025-01-21T10:00:00Z",
"updated_at": "2025-01-21T10:00:00Z"
}/api/v1/api/urls/{id}id - URL ID (integer, required)
{
"name": "Updated Website Name",
"check_interval_minutes": 10,
"is_active": false
}{
"id": 1,
"name": "Updated Website Name",
"url": "https://example.com",
"expected_status_code": 200,
"check_interval_minutes": 10,
"is_active": false,
"created_at": "2025-01-21T10:00:00Z",
"updated_at": "2025-01-21T10:30:00Z"
}/api/v1/api/urls/{id}id - URL ID (integer, required)
204 No Content (successful deletion)
/api/v1/api/urls/{id}/checkid - URL ID (integer, required)
{
"url_id": 1,
"is_successful": true,
"status_code": 200,
"response_time": 1.23,
"error_message": null,
"created_at": "2025-01-21T10:30:00Z"
}/api/v1/api/urls/{id}/checksid - URL ID (integer, required)
limit - Max checks to return (integer, optional, default: 100)
offset - Number of checks to skip (integer, optional, default: 0)
[
{
"id": 1,
"url_id": 1,
"is_successful": true,
"status_code": 200,
"response_time": 1.23,
"error_message": null,
"created_at": "2025-01-21T10:30:00Z"
}
]/api/v1/api/urls/{id}/statusid - URL ID (integer, required)
{
"url_id": 1,
"status": "up",
"last_check": "2025-01-21T10:30:00Z",
"response_time": 1.23,
"status_code": 200,
"uptime_percentage": 99.9,
"total_checks": 1000,
"successful_checks": 999
}/api/v1/api/urls/check-all{
"message": "Check initiated for all URLs",
"urls_checked": 5,
"successful_checks": 4,
"failed_checks": 1
}Start monitoring your websites programmatically with our powerful API. Get your API token and begin integrating today.