Project settings API
REST endpoints for project settings in ServFlo: 2 operations with parameters, request and response fields, permissions and curl examples.
Base URL: https://app.servflo.ai/api. Every call needs Authorization: Bearer sfk_… (Authentication); {organizationId} ($ORGANIZATION_ID in the examples) is your business's id.
| Operation | Endpoint | Risk |
|---|---|---|
| Project settings | GET /organizations/{organizationId}/project-settings | read |
| Change project settings | PATCH /organizations/{organizationId}/project-settings | write |
Project settings
GET /organizations/{organizationId}/project-settings
The wording (what a project and a phase are called), working days and a phase visit's start and length, change-order terms, and whether the crew may send change orders. Read-only.
| Permission | projects.read (Owner, Admin, Dispatcher, Technician, Member) |
| Risk | read, OAuth scope servflo.read. Read: reads only. |
| MCP tool | projectSettings_get (toolset projects) |
Example
curl "https://app.servflo.ai/api/organizations/$ORGANIZATION_ID/project-settings" \
-H "Authorization: Bearer $SERVFLO_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
projectLabel | string or null | |
phaseLabel | string or null | |
crewCanSendChangeOrders | boolean | |
changeOrderTerms | string or null | |
workDays | array of integer | |
dayStartTime | string | |
dayMinutes | integer | |
labels | object | |
labels.project | string | |
labels.phase | string |
Change project settings
PATCH /organizations/{organizationId}/project-settings
Wording, working days (0 Sunday … 6 Saturday), the phase visit's start (HH:MM) and length in minutes, change-order terms ({business} is replaced) and crewCanSendChangeOrders.
| Permission | projects.manage (Owner, Admin) |
| Risk | write, OAuth scope servflo.write. Write: creates or changes records inside the business; nothing leaves it. |
| MCP tool | projectSettings_update (toolset projects) |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
projectLabel | string or null | No | Up to 50 characters. |
phaseLabel | string or null | No | Up to 50 characters. |
crewCanSendChangeOrders | boolean | No | |
changeOrderTerms | string or null | No | Up to 5000 characters. |
workDays | array of integer | No | Up to 7 items. |
dayStartTime | string | No | A local time of day, HH:MM (24-hour). Blank means 09:00 on new jobs. |
dayMinutes | integer | No | 30–960. |
Example
curl -X PATCH "https://app.servflo.ai/api/organizations/$ORGANIZATION_ID/project-settings" \
-H "Authorization: Bearer $SERVFLO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectLabel":"string","phaseLabel":"string","crewCanSendChangeOrders":true}'Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
projectLabel | string or null | |
phaseLabel | string or null | |
crewCanSendChangeOrders | boolean | |
changeOrderTerms | string or null | |
workDays | array of integer | |
dayStartTime | string | |
dayMinutes | integer | |
labels | object | |
labels.project | string | |
labels.phase | string |
Subcontracts API
REST endpoints for subcontracts in ServFlo: 12 operations with parameters, request and response fields, permissions and curl examples.
Project templates API
REST endpoints for project templates in ServFlo: 4 operations with parameters, request and response fields, permissions and curl examples.