HomeDevelopersREST API
REST API
Complete REST API documentation for WorkSkedge. Access all resources programmatically with simple HTTP requests.
REST API Overview
The WorkSkedge REST API provides comprehensive programmatic access to all your construction management data. Use standard HTTP methods to create, read, update, and delete resources across 8 major domains.
| Base URL | https://app.workskedge.com/api/v1 |
| Authentication | API Key via X-API-Key header |
| Format | JSON request and response bodies |
| Security | See the Authentication tab for security best practices |
Quick Start
Get started with your first API request in three simple steps:
Get API Key
Make Request
Handle Response
Example Request
curl -X GET "https://app.workskedge.com/api/v1/projects?limit=10&offset=0" \
-H "X-API-Key: wsk_your_api_key_here" \
-H "Content-Type: application/json"{
"data": [
{
"id": "proj_123",
"name": "Downtown Office Renovation",
"status": "active",
"customer_id": "cust_456",
"start_date": "2024-01-15",
"created_at": "2024-01-10T08:00:00Z"
}
],
"pagination": { "limit": 10, "offset": 0, "total": 42 }
}Resource Domains
Access all your WorkSkedge data through 8 comprehensive resource domains:
People Management
Employees, Contacts
- GET/POST/PUT/DELETE /employees
- GET/POST/PUT/DELETE /contacts
Work Management
Projects, Work Orders, Schedules
- GET/POST/PUT/DELETE /projects
- GET/POST/PUT/DELETE /work-orders
- GET /schedules
Time & Attendance
Timesheets, Time Off
- GET/POST/PUT/DELETE /timesheets
- GET/POST/PUT/DELETE /time-off
Supply Chain
Vendors, Locations, Purchase Orders
- GET/POST/PUT/DELETE /vendors
- GET/POST/PUT/DELETE /vendor-locations
- GET/POST/PUT /purchase-orders
Business Data
Customers, Locations
- GET/POST/PUT/DELETE /customers
- GET/POST/PUT/DELETE /locations
Reporting
Daily Reports, Completion Reports
- GET/POST /daily-reports
- GET/POST /completion-reports
Pagination
All list endpoints support pagination using limit and offset query parameters.
| limit | Number of records per page. Default 50, Maximum 100 |
| offset | Number of records to skip. Default 0 |
{
"data": [/* ... */],
"pagination": { "limit": 50, "offset": 0, "total": 156 }
}Error Handling
The API uses standard HTTP status codes and returns detailed error messages in JSON format.
| 200 OK | Request succeeded |
| 201 Created | Resource created successfully |
| 400 Bad Request | Invalid request parameters or body |
| 401 Unauthorized | Missing or invalid API key |
| 403 Forbidden | API key lacks required permissions |
| 404 Not Found | Resource does not exist |
| 429 Too Many Requests | Rate limit exceeded |
| 500 Internal Server Error | Unexpected server error |
{
"error": {
"code": "INVALID_REQUEST",
"message": "The 'start_date' field is required",
"details": { "field": "start_date", "reason": "Field is required but was not provided" }
}
}