Global Config API
Manage default project settings for your organization. These values are applied when creating new projects.
GET /api/v1/global-config
Returns the global project configuration for the current tenant. Creates default configuration if none exists.
Response (200 - Success)
{
"success": true,
"data": {
"config": {
"laborRate": 45.00,
"laborSell": 125.00,
"unionRate": 65.00,
"programmingRate": 75.00,
"programmingSell": 175.00,
"configurationRate": 65.00,
"configurationSell": 150.00,
"equipmentMarkup": 25.00,
"avDrawingsPercentage": 5.00,
"projectManagementPercentage": 10.00,
"shippingPct": 3.00,
"taxRate": 8.25,
"schematicsCostRate": 50.00,
"shippingCostRate": 2.50,
"projectManagementCostRate": 8.00,
"c6AStpInRoom": 25.00,
"c6AUtpInRoom": 15.00,
"c6AUtpFromIdf": 100.00,
"c6AStpInRoomHours": 0.25,
"c6AUtpInRoomHours": 0.15,
"c6AIdFHours": 0.50,
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-12-25T12:00:00Z"
}
},
"timestamp": "2024-12-25T12:00:00Z"
}
Configuration Fields
| Field | Type | Description |
|---|---|---|
| Labor Configuration | ||
laborRate |
decimal | Hourly labor cost rate |
laborSell |
decimal | Hourly labor sell rate |
unionRate |
decimal | Union labor rate multiplier |
| Programming & Configuration | ||
programmingRate |
decimal | Hourly programming cost rate |
programmingSell |
decimal | Hourly programming sell rate |
configurationRate |
decimal | Hourly configuration cost rate |
configurationSell |
decimal | Hourly configuration sell rate |
| Project Percentages | ||
equipmentMarkup |
decimal | Default equipment markup percentage |
avDrawingsPercentage |
decimal | AV drawings percentage of labor |
projectManagementPercentage |
decimal | Project management percentage |
shippingPct |
decimal | Default shipping percentage |
taxRate |
decimal | Default tax rate percentage |
| Cost Rate Configuration | ||
schematicsCostRate |
decimal | Schematics cost rate percentage |
shippingCostRate |
decimal | Shipping cost rate percentage |
projectManagementCostRate |
decimal | PM cost rate percentage |
| Cable Configuration (Cat6A) | ||
c6AStpInRoom |
decimal | Cat6A STP in-room cable length (ft) |
c6AUtpInRoom |
decimal | Cat6A UTP in-room cable length (ft) |
c6AUtpFromIdf |
decimal | Cat6A UTP from IDF cable length (ft) |
| Cabling Hours | ||
c6AStpInRoomHours |
decimal | Hours per Cat6A STP in-room run |
c6AUtpInRoomHours |
decimal | Hours per Cat6A UTP in-room run |
c6AIdFHours |
decimal | Hours per Cat6A IDF run |
PUT /api/v1/global-config
Updates the global project configuration. Only include fields you want to update. All fields are optional - any field not included will retain its current value.
Request Body
Use any combination of the fields documented in the Configuration Fields table above. All fields are optional.
Example Request
{
"laborRate": 50.00,
"laborSell": 135.00,
"equipmentMarkup": 30.00,
"taxRate": 8.50
}
Response (200 - Success)
{
"success": true,
"data": {
"config": {
"laborRate": 50.00,
"laborSell": 135.00,
"equipmentMarkup": 30.00,
"taxRate": 8.50,
...
}
},
"message": "Global configuration updated successfully",
"timestamp": "2024-12-25T12:00:00Z"
}
Default Values
These settings are applied as defaults when creating new projects. Existing projects are not affected when you update the global configuration.
