All commands are for Windows Command Prompt (cmd). Run all commands in cmd on your local computer. Output appears in cmd unless stated otherwise.
Base URL: https://centralized-api-orchestration-engine.onrender.com
Tenant A: sk_test_123 (ID: tenantA) Tenant B: sk_test_456 (ID: tenantB)
Run in cmd:
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
Expected output in cmd:
{"service": "users", "status": "ok"}
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/users
Expected output in cmd:
Tenant not found
Run in cmd:
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/invalid
Expected output in cmd:
Route not found
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/analytics?tenant=tenantA
Expected output in cmd: JSON data showing request counts and errors
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/analytics?tenant=tenantB
Expected output in cmd: JSON data showing request counts and errors
The gateway allows 5 requests per minute per tenant.
Run in cmd (copy and paste all 6 lines at once):
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
Expected output:
- First 5 requests: {"service": "users", "status": "ok"}
- 6th request: Rate limit exceeded
Run in cmd after the above test:
curl https://centralized-api-orchestration-engine.onrender.com/admin/analytics?tenant=tenantA
Expected: Total request count should be 6 (including the blocked request)
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/chaos/status
Expected output in cmd: JSON showing chaos configuration
Run in cmd:
curl -X POST https://centralized-api-orchestration-engine.onrender.com/admin/chaos -H "Content-Type: application/json" -d "{\"fail_backend\":true,\"duration_sec\":60}"
Expected output in cmd: Confirmation message
Run in cmd:
curl -X POST https://centralized-api-orchestration-engine.onrender.com/admin/chaos -H "Content-Type: application/json" -d "{\"slow_ms\":2000,\"duration_sec\":60}"
Expected output in cmd: Confirmation message
Run in cmd:
curl -X POST https://centralized-api-orchestration-engine.onrender.com/admin/chaos -H "Content-Type: application/json" -d "{\"drop_percent\":30,\"duration_sec\":60}"
Expected output in cmd: Confirmation message
Run in cmd:
curl -X POST https://centralized-api-orchestration-engine.onrender.com/admin/chaos/recover
Expected output in cmd: Confirmation message
Open in your web browser:
https://centralized-api-orchestration-engine.onrender.com/demo
What you see: Interactive web page with buttons to send requests and control chaos. This page is easier than using command line.
Open in your web browser:
https://centralized-api-orchestration-engine.onrender.com/metrics
When browser asks for login, enter:
- Username: grafana
- Password: metrics_secure_2026
What you see: Text output showing all Prometheus metrics
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/metrics
Expected output in cmd: JSON data with requests, errors, and latency
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/health
Expected output in cmd:
ok
Run in cmd:
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
curl -H "X-API-Key: sk_test_123" https://centralized-api-orchestration-engine.onrender.com/users
Run in cmd:
curl -H "X-API-Key: sk_test_456" https://centralized-api-orchestration-engine.onrender.com/orders
curl -H "X-API-Key: sk_test_456" https://centralized-api-orchestration-engine.onrender.com/orders
curl -H "X-API-Key: sk_test_456" https://centralized-api-orchestration-engine.onrender.com/orders
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/analytics?tenant=tenantA
Expected: Should show 2 requests to /users
Run in cmd:
curl https://centralized-api-orchestration-engine.onrender.com/admin/analytics?tenant=tenantB
Expected: Should show 3 requests to /orders
You cannot view logs from cmd.
To see application logs:
- Go to https://dashboard.render.com in your browser
- Click on service: Centralized-API-Orchestration-Engine
- Click on Logs tab
- View real-time logs there
Your Grafana Cloud dashboard is at: https://csrosex.grafana.net
Metrics update every 30 seconds automatically.
To view dashboard:
- Login to Grafana Cloud
- Go to Dashboards menu
- Find your API Gateway dashboard
- View live metrics
To query metrics manually:
- Go to Explore in Grafana
- Select: grafanacloud-csrosex-prom
- Type metric name: api_gateway_requests_total
- Click Run Query
200 - Success, request processed normally 401 - Unauthorized, missing or invalid API key 404 - Not Found, invalid endpoint requested 429 - Too Many Requests, rate limit exceeded 503 - Service Unavailable, backend failure or chaos active
Solution: Install curl for Windows from https://curl.se/windows/
Solution: Render free tier sleeps after inactivity. First visit https://centralized-api-orchestration-engine.onrender.com/health to wake it up. Wait 30-60 seconds, then try your command again.
Solution: Send some test requests first using commands above. Analytics only shows data after requests are made.
Solution: Rate limits reset after 1 minute automatically. Wait 65 seconds and try again.
Solution: Check if service is awake by visiting /health first. Wait for service to start, then refresh demo page.
| Test | Command | Expected Response |
|---|---|---|
| Valid request | curl -H "X-API-Key: sk_test_123" URL/users | 200 OK |
| No API key | curl URL/users | 401 Unauthorized |
| Rate limit test | Send 6 requests | 6th gets 429 |
| View analytics | curl URL/admin/analytics?tenant=tenantA | JSON data |
| Enable chaos | curl -X POST URL/admin/chaos -d {...} | Confirmation |
| Disable chaos | curl -X POST URL/admin/chaos/recover | Confirmation |
| Health check | curl URL/health | ok |
Note: Replace URL with https://centralized-api-orchestration-engine.onrender.com
- The gateway is deployed on Render free tier
- Service may sleep after 15 minutes of inactivity
- First request after sleep takes 30-60 seconds to respond
- All subsequent requests are fast
- Redis data persists but may reset on redeployment
- Logs are visible only in Render dashboard, not in cmd