Website Monitoring Dashboard for Publishers and Multi-Site Owners

REST API v1

One Key. Every Platform.

Send compatible site stats, events, and revenue data to your DashCanopy dashboard through the REST API. Review the relevant platform setup guidance before connecting a site.

Bearer token auth
Rate limited: 100 req/min per API key
JSON responses
Response time varies by request and deployment

Do I even need the API?

Most users never touch the API. Here is a quick guide to help you decide:

You do NOT need this if...
  • ✓ You use WordPress — install the free plugin instead
  • ✓ You just want uptime monitoring — add your site URL and you are done
  • ✓ You use the JavaScript snippet — it handles everything automatically
You MIGHT need this if...
  • → You use Shopify and want order data pushed automatically
  • → You have a custom-built site or app
  • → You want to push stats from a platform not in our guides
You DEFINITELY need this if...
  • ✓ You are building a custom integration or automation
  • ✓ You want to push data from a server-side script (PHP, Python, Node.js)
  • ✓ You are a developer connecting a non-standard platform

Authentication

All protected endpoints require a Bearer token in the Authorization header. Generate your personal API key in Settings → API.

Authorization: Bearer dck_YOUR_API_KEY
Personal keys
Prefix: dck_
Rate limit
100 requests / minute per API key
Scope
Read + write your sites only

Base URL

https://dashcanopy.com

All API endpoints are prefixed with /api/v1.

Endpoints

GET
/api/v1/health

Check API availability. No authentication required.

Public

Response

{
  "status": "ok",
  "version": "1.0.0",
  "timestamp": "2026-04-01T00:00:00.000Z"
}

Code Examples

curl https://dashcanopy.com/api/v1/health
GET
/api/v1/sites

List all sites in your dashboard. Returns site IDs needed for push/event calls.

Auth

Response

{
  "sites": [
    {
      "id": 1,
      "name": "My Blog",
      "url": "https://myblog.com",
      "status": "online",
      "visitors": 1240
    }
  ]
}

Code Examples

curl https://dashcanopy.com/api/v1/sites \
  -H "Authorization: Bearer dck_YOUR_API_KEY"
POST
/api/v1/push

Push live stats (visitors, revenue, content health) for a site. Identify the site by URL or site_id.

Auth

Request Body

site_urlstring — your site's URL (used to match the site in your dashboard)
site_idnumber — alternative to site_url (use /api/v1/sites to get IDs)
visitorsnumber — current visitor count
revenuenumber — revenue in USD (e.g. 320.50)
recent_activitystring — optional activity note
blogobject — optional content health data (see below)

Response

{
  "ok": true,
  "site": "My Blog",
  "updated": "2026-04-01T00:00:00.000Z"
}

Code Examples

curl -X POST https://dashcanopy.com/api/v1/push \
  -H "Authorization: Bearer dck_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "site_url": "https://yoursite.com",
    "visitors": 1240,
    "revenue": 320.50,
    "blog": {
      "lastPostTitle": "10 Tips for Better SEO",
      "lastPostDate": "2026-03-28",
      "postsThisMonth": 8,
      "totalPosts": 142,
      "autoBlogStatus": "active"
    }
  }'
POST
/api/v1/event

Push a custom event (sale, signup, error, alert) to your dashboard's event log.

Auth

Request Body

site_urlstring — your site's URL
event_typestring — e.g. 'sale', 'signup', 'error', 'alert', 'refund'
payloadobject — any JSON data to attach to the event

Response

{
  "ok": true,
  "eventId": 42
}

Code Examples

curl -X POST https://dashcanopy.com/api/v1/event \
  -H "Authorization: Bearer dck_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "site_url": "https://yoursite.com",
    "event_type": "sale",
    "payload": { "amount": 49.00, "product": "Pro Plan", "customer": "jane@example.com" }
  }'
POST
/api/v1/shopify

Shopify event receiver for a configured site. Authenticate the request with a DashCanopy API key and provide a site ID query parameter.

Auth

Request Body

?site_idnumber — your DashCanopy site ID (add as query param: /api/v1/shopify?site_id=1)

Response

{
  "ok": true
}

Code Examples

# Add this URL in Shopify Admin → Settings → Notifications → Webhooks
# Format: orders/create, orders/paid, refunds/create

https://dashcanopy.com/api/v1/shopify?site_id=YOUR_SITE_ID

# Authenticate the request with a DashCanopy API key.
# The site_id query parameter identifies the destination site.

Error Codes

StatusMeaning
200Success
400Bad request — missing or invalid fields
401Unauthorized — missing or invalid API key
404Site not found — check site_url or site_id
429Rate limit exceeded — slow down requests
500Server error — try again or contact support

Ready to connect your first site?

Generate your API key in seconds and start pushing data from any platform.