DevelopersAPI referenceProjects

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.

OperationEndpointRisk
Project settingsGET /organizations/{organizationId}/project-settingsread
Change project settingsPATCH /organizations/{organizationId}/project-settingswrite

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.

Permissionprojects.read (Owner, Admin, Dispatcher, Technician, Member)
Riskread, OAuth scope servflo.read. Read: reads only.
MCP toolprojectSettings_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
FieldTypeDescription
projectLabelstring or null
phaseLabelstring or null
crewCanSendChangeOrdersboolean
changeOrderTermsstring or null
workDaysarray of integer
dayStartTimestring
dayMinutesinteger
labelsobject
labels.projectstring
labels.phasestring

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.

Permissionprojects.manage (Owner, Admin)
Riskwrite, OAuth scope servflo.write. Write: creates or changes records inside the business; nothing leaves it.
MCP toolprojectSettings_update (toolset projects)

Request body

FieldTypeRequiredDescription
projectLabelstring or nullNoUp to 50 characters.
phaseLabelstring or nullNoUp to 50 characters.
crewCanSendChangeOrdersbooleanNo
changeOrderTermsstring or nullNoUp to 5000 characters.
workDaysarray of integerNoUp to 7 items.
dayStartTimestringNoA local time of day, HH:MM (24-hour). Blank means 09:00 on new jobs.
dayMinutesintegerNo30–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
FieldTypeDescription
projectLabelstring or null
phaseLabelstring or null
crewCanSendChangeOrdersboolean
changeOrderTermsstring or null
workDaysarray of integer
dayStartTimestring
dayMinutesinteger
labelsobject
labels.projectstring
labels.phasestring

On this page