API Reference
The JobSite Viewer REST API gives you programmatic access to your projects, estimates, time entries, team, and clients. Available on all plans.
Authentication
All API requests require a Bearer token. Generate your API key in Settings → API.
curl https://jobsiteviewer.com/api/v1/projects \ -H "Authorization: Bearer jv_live_abc123..."
API keys begin with jv_live_. Keep your key secret — it grants full read/write access to your company data.
All responses use a consistent envelope: { success, data, meta } for success and { success, error, code } for errors.
Rate Limits
Rate limits are applied per API key and reset daily at midnight UTC.
| Plan | Daily Limit | Webhooks |
|---|---|---|
| Trial | 500 | — |
| Solo | 500 | — |
| Crew | 2,000 | — |
| Business | 10,000 | Included |
Every response includes rate limit headers:
X-RateLimit-Limit: 500 X-RateLimit-Remaining: 487 X-RateLimit-Reset: 1710201600
Projects
Estimates
Scopes
Time Entries
Team
Clients
WebhooksBusiness Plan Only
Register webhook URLs to receive real-time notifications when events occur in your account. Webhooks are signed with HMAC-SHA256 — verify the X-Webhook-Signature header.
Available Events
project.createdproject.updatedscope.status_changedestimate.approvedchange_order.approvedinvoice.paidWebhook Payload Format
{
"event": "project.created",
"data": {
"id": "proj_xyz",
"name": "New Deck Build",
"client_name": "Jane Jones",
"status": "pending"
},
"timestamp": "2026-03-10T15:30:00.000Z"
}
# Verify signature:
# HMAC-SHA256(webhook_secret, raw_body) === X-Webhook-Signature header