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.
Most users never touch the API. Here is a quick guide to help you decide:
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
dck_https://dashcanopy.com
All API endpoints are prefixed with /api/v1.
/api/v1/healthCheck API availability. No authentication required.
Response
{
"status": "ok",
"version": "1.0.0",
"timestamp": "2026-04-01T00:00:00.000Z"
}Code Examples
curl https://dashcanopy.com/api/v1/health
/api/v1/sitesList all sites in your dashboard. Returns site IDs needed for push/event calls.
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"
/api/v1/pushPush live stats (visitors, revenue, content health) for a site. Identify the site by URL or site_id.
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 countrevenuenumber — revenue in USD (e.g. 320.50)recent_activitystring — optional activity noteblogobject — 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"
}
}'/api/v1/eventPush a custom event (sale, signup, error, alert) to your dashboard's event log.
Request Body
site_urlstring — your site's URLevent_typestring — e.g. 'sale', 'signup', 'error', 'alert', 'refund'payloadobject — any JSON data to attach to the eventResponse
{
"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" }
}'/api/v1/shopifyShopify event receiver for a configured site. Authenticate the request with a DashCanopy API key and provide a site ID query parameter.
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.
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — missing or invalid fields |
| 401 | Unauthorized — missing or invalid API key |
| 404 | Site not found — check site_url or site_id |
| 429 | Rate limit exceeded — slow down requests |
| 500 | Server error — try again or contact support |
Generate your API key in seconds and start pushing data from any platform.