DevelopersAPI reference

Technician sales API

REST endpoints for technician sales 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
Whether technicians quote and collect paymentGET /organizations/{organizationId}/technician-salesread
Let technicians quote or collect paymentPATCH /organizations/{organizationId}/technician-salessensitive

Whether technicians quote and collect payment

GET /organizations/{organizationId}/technician-sales

The business's two switches: technicians quoting on site (pricebook prices only, quotes they sold) and collecting payment on their own jobs (pay link and QR code, card checkout, cash or check, deposits). Read-only; any member, so the field app shows only what is allowed.

Permissionorganization.read (Owner, Admin, Dispatcher, Technician, Member)
Riskread, OAuth scope servflo.read. Read: reads only.
MCP tooltechnicianSales_get (toolset sales)

Example

curl "https://app.servflo.ai/api/organizations/$ORGANIZATION_ID/technician-sales" \
  -H "Authorization: Bearer $SERVFLO_API_KEY"

Response

200: the answer's fields
FieldTypeDescription
technicianQuotesbooleanTechnicians may quote customers of their own jobs from the pricebook, on site.
technicianPaymentsbooleanTechnicians may invoice their own jobs and collect payment and deposits on site.

Let technicians quote or collect payment

PATCH /organizations/{organizationId}/technician-sales

Grants or revokes access: turns technicians' on-site quoting and payment collection on or off for the whole business (both on by default). Applies within half a minute. Send only what changes.

Permissionsettings.manage (Owner, Admin)
Risksensitive, OAuth scope servflo.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access.
MCP tooltechnicianSales_update (toolset sales)
ApprovalOver MCP, this tool asks for your OK first (in the AI app when it supports it, otherwise in ServFlo). See Approvals.

Request body

FieldTypeRequiredDescription
technicianQuotesbooleanNo
technicianPaymentsbooleanNo

Example

curl -X PATCH "https://app.servflo.ai/api/organizations/$ORGANIZATION_ID/technician-sales" \
  -H "Authorization: Bearer $SERVFLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"technicianQuotes":true,"technicianPayments":true}'

Response

200: the answer's fields
FieldTypeDescription
technicianQuotesbooleanTechnicians may quote customers of their own jobs from the pricebook, on site.
technicianPaymentsbooleanTechnicians may invoice their own jobs and collect payment and deposits on site.

On this page