POST /jobs
Creates a new job. Supports two modes depending on whether isDraft is set:
Non-draft job (default, isDraft omitted or false): All of jobType, title, description, customerId, and siteId are required. The job is created in an active state and assigned a job number immediately.
Draft job (isDraft: true): Only jobType and title are required. description, customerId, and siteId are optional and can be filled in later via PUT /jobs/:jobId. A draft job does not receive a job number until it is finalised via PUT /jobs/:jobId/finalise.
Job types (jobType): Quote, Estimate, Charge Up
Typical draft workflow:
-
POST /jobs with isDraft: true — create the draft
-
PUT /jobs/:jobId — update fields (customer, site, description, etc.)
-
PUT /jobs/:jobId/finalise — convert the draft to an active job
Variation job (parentJobId set): provide parentJobId to instead create a variation of an existing job:
- requires jobType
- inherits customer, site, contacts and budget from the parent
- title, description and customerReference are optional overrides
- always created finalised (non-draft)
Request
- Base URLhttps://api.fergus.com
- Auth
- OAuth 2Authorization codehttps://auth.fergus.com/oauth2/authorizeToken URLhttps://auth.fergus.com/oauth2/token
- or HTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
Response
Resource created successfully
Changes
No recorded changes to this operation across all 18 revisions of this API.