### GET /notes Source: https://api.fergus.com/docs/json Schema for Notes ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (string (created_at), query, optional) - **filterEntityId** (number, query, optional): The entity id to filter notes by - **filterEntityName** (string (JOB|CUSTOMER|CUSTOMER_INVOICE|QUOTE|SITE|TASK|ENQUIRY|JOB_PHASE), query, optional) - **filterCreatedById** (number, query, optional): The user id who created the notes to filter by ### Responses #### 200 - Successful Response **def-95** - **result** (string) (required) - **data** (array (def-94)) (required) Array items: - **id** (number) (required) - **companyId** (number) (required) - **entityId** (number) (required) - **entityName** (string (job)) (required) ("job") - **text** (string) (required) - **createdById** (number) (required) - **createdAt** (string) (required) - **isPinned** (boolean) (required) - **parentId** (number) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **replies** (array (def-93)) Array items: - **id** (number) (required) - **companyId** (number) (required) - **entityId** (number) (required) - **entityName** (string (job)) (required) ("job") - **text** (string) (required) - **createdById** (number) (required) - **createdAt** (string) (required) - **isPinned** (boolean) (required) - **parentId** (number) (required) - **links** (array (def-1)) (required) Array items: - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/notes?pageSize=10&sortOrder=asc&pageCursor=0&sortField=created_at&filterEntityId=0&filterEntityName=JOB&filterCreatedById=0" ``` ``` -------------------------------- ### GET /jobs/{jobId}/financialSummary Source: https://api.fergus.com/docs/json Get a job financial summary ```markdown ### Parameters - **jobId** (number, path, required) ### Responses #### 200 - Successful Response **def-23** - **result** (string) (required) - **data** (object) (required) - **jobType** (string (Quote)) (required) ("Quote") - **jobId** (number) (required) - **jobNo** (string) (required) - **lastUpdated** (string (date-time)) (required) - **currency** (string) (required) - **costsIncurred** (object) (required) - **labour** (number) (required) - **materials** (number) (required) - **total** (number) (required) - **chargeableAmount** (object) (required) - **totalBilled** (object) (required) - **labourHours** (object) (required) - **billable** (number) (required) - **unbillable** (number) (required) - **total** (number) (required) - **quoteSummary** (object) (required) - **quotedHours** (number) (required) - **quotedAmount** (number) (required) - **labour** (number) (required) - **materials** (number) (required) - **quoteStatus** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/jobs/{jobId}/financialSummary" ``` ``` -------------------------------- ### GET /sites/{siteId} Source: https://api.fergus.com/docs/json Returns a site by ID. ```markdown ### Parameters - **siteId** (number, path, required) ### Responses #### 200 - Successful Response **def-54** - **result** (string) (required) - **data** (object) (required) - **id** (number) (required) - **companyId** (number) (required) - **name** (string) (required) - **createdAt** (string (date-time)) (required) - **defaultContact** (object) (required) - **id** (number) (required) - **firstName** (string) (required) - **lastName** (string) (required) - **position** (string) (required) - **company** (string) (required) - **contactItems** (array (def-47)) (required) Array items: - **id** (number) (required) - **contactType** (string (email|phone|mobile|other|fax|website)) (required): The type of this contact item. It can be one of the following: email, phone, mobile, other, fax, website ("email"|"phone"|"mobile"|"other"|"fax"|"website") - **contactValue** (string) (required): The value of this contact item. - **billingContact** (object) (required) - **physicalAddress** (object) (required) - **id** (number) (required) - **address1** (string) (required) - **address2** (string) (required) - **addressSuburb** (string) (required) - **addressCity** (string) (required) - **addressRegion** (string) (required) - **addressPostcode** (string) (required) - **addressCountry** (string) (required) - **postalAddress** (object) (required) - **isArchived** (boolean) (required) - **deletedAt** (string (date-time)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/sites/{siteId}" ``` ``` -------------------------------- ### GET /jobs/quotes/guid/{guid} Source: https://api.fergus.com/docs/json Returns a specific quote by GUID with full details. ```markdown ### Parameters - **guid** (string, path, required) ### Responses #### 200 - Successful Response **def-33** - **result** (string) (required) - **data** (object) (required) - **id** (number) (required) - **versionNumber** (number) (required) - **jobId** (number) (required) - **guid** (string) (required) - **title** (string) (required) - **description** (string) (required) - **quoteDate** (string (date-time)) (required) - **isSent** (boolean) (required) - **isAccepted** (boolean) (required) - **isSuperseded** (boolean) (required) - **isLocked** (boolean) (required) - **createdAt** (string (date-time)) (required) - **lastModified** (string (date-time)) (required) - **publishedAt** (string (date-time)) (required) - **dueDate** (string (date-time)) (required) - **voidedAt** (string (date-time)) (required) - **dueDays** (string) (required) - **sections** (array (object)) Array items: - **sectionId** (number) (required) - **name** (string) (required) - **sortOrder** (number) (required) - **parentSectionId** (number) (required) - **description** (string) (required) - **lineItems** (array (object)) Array items: - **quoteLineItemId** (number) (required) - **priceBookLineItemId** (number) (required) - **itemName** (string) (required) - **itemQuantity** (number) (required) - **itemPrice** (number) (required) - **itemRrp** (number) (required) - **itemCost** (number) (required) - **salesAccountId** (number) (required) - **isLabour** (boolean) (required) - **sortOrder** (number) (required) - **discountRate** (number) (required) - **isCombined** (boolean) (required) - **combinedItemId** (number) (required) - **combinedItemName** (string) (required) - **sections** (array (def-30)) Array items: - **sectionId** (number) (required) - **name** (string) (required) - **sortOrder** (number) (required) - **parentSectionId** (number) (required) - **description** (string) (required) - **lineItems** (array (object)) Array items: - **sections** (array (def-30)) Array items: - **deposit** (object) - **optionType** (string (PERCENT)) (required) ("PERCENT") - **optionValue** (number) (required) - **links** (array (object)) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/jobs/quotes/guid/{guid}" ``` ``` -------------------------------- ### GET /enquiries Source: https://api.fergus.com/docs/json Get all enquiries ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (string (createdAt), query, optional) - **filterStatus** (string (TODO|CONTACTED|JOBCREATED|REJECTED), query, optional) - **filterSource** (string, query, optional) - **filterSearchText** (string, query, optional): Searchable fields: - `name` - `description` - `phone` - `email` ### Responses #### 200 - Successful Response **def-57** - **result** (string) (required) - **data** (array (def-55)) (required) Array items: - **id** (number) (required) - **name** (string) (required) - **contactName** (string) (required) - **address1** (string) (required) - **address2** (string) (required) - **addressSuburb** (string) (required) - **addressRegion** (string) (required) - **addressPostcode** (string) (required) - **addressCity** (string) (required) - **addressCountry** (string) (required) - **description** (string) (required) - **createdAt** (string) (required) - **source** (string) (required) - **status** (string) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/enquiries?pageSize=10&sortOrder=asc&pageCursor=0&sortField=createdAt&filterStatus=TODO&filterSource=string&filterSearchText=string" ``` ``` -------------------------------- ### GET /pricingTiers Source: https://api.fergus.com/docs/json Schema for a Pricing Tier ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (string (createdAt), query, optional) ### Responses #### 200 - Successful Response **def-64** - **result** (string) (required) - **data** (array (def-65)) (required) Array items: - **id** (number) (required) - **name** (string) (required) - **isDefault** (boolean) (required) - **tierType** (string) (required) - **markupRate** (number) (required) - **createdAt** (string) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/pricingTiers?pageSize=10&sortOrder=asc&pageCursor=0&sortField=createdAt" ``` ``` -------------------------------- ### GET /jobs/{jobId}/phases/{jobPhaseId}/financialSummary Source: https://api.fergus.com/docs/json Get a job phase financial summary ```markdown ### Parameters - **jobId** (number, path, required) - **jobPhaseId** (number, path, required) ### Responses #### 200 - Successful Response **def-23** - **result** (string) (required) - **data** (object) (required) - **jobType** (string (Quote)) (required) ("Quote") - **jobId** (number) (required) - **jobNo** (string) (required) - **lastUpdated** (string (date-time)) (required) - **currency** (string) (required) - **costsIncurred** (object) (required) - **labour** (number) (required) - **materials** (number) (required) - **total** (number) (required) - **chargeableAmount** (object) (required) - **totalBilled** (object) (required) - **labourHours** (object) (required) - **billable** (number) (required) - **unbillable** (number) (required) - **total** (number) (required) - **quoteSummary** (object) (required) - **quotedHours** (number) (required) - **quotedAmount** (number) (required) - **labour** (number) (required) - **materials** (number) (required) - **quoteStatus** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/jobs/{jobId}/phases/{jobPhaseId}/financialSummary" ``` ``` -------------------------------- ### GET /pricebooks Source: https://api.fergus.com/docs/json Schema for Pricebooks ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (string (createdAt), query, optional) - **filterSupplierName** (string, query, optional): Filter pricebooks by supplier name containing this string ### Responses #### 200 - Successful Response **def-67** - **result** (string) (required) - **data** (array (def-68)) (required) Array items: - **id** (number) (required) - **supplierName** (string) (required) - **supplierId** (number) (required) - **type** (string (Standard)) (required) ("Standard") - **itemCount** (number) (required) - **createdAt** (string) (required) - **lastUpdatedAt** (string) (required) - **supplierContact** (array (def-47)) (required) Array items: - **id** (number) (required) - **contactType** (string (email|phone|mobile|other|fax|website)) (required): The type of this contact item. It can be one of the following: email, phone, mobile, other, fax, website ("email"|"phone"|"mobile"|"other"|"fax"|"website") - **contactValue** (string) (required): The value of this contact item. - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/pricebooks?pageSize=10&sortOrder=asc&pageCursor=0&sortField=createdAt&filterSupplierName=string" ``` ``` -------------------------------- ### GET /phases/stockOnHand Source: https://api.fergus.com/docs/json Stock on hand across all Job Phases ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (union, query, optional) - **filterSearchText** (string, query, optional): Searchable fields: - `description` - **lastModified** (string (date-time), query, optional) - **dateEntered** (string (date-time), query, optional) ### Responses #### 200 - Successful Response **def-98** - **result** (string) (required) - **data** (array (def-96)) (required) Array items: - **id** (number) (required) - **companyId** (number) (required) - **description** (string) (required) - **jobId** (number) (required) - **jobPhaseId** (number) (required) - **itemCost** (number) (required) - **itemCostQuantity** (number) (required) - **itemCostTotal** (number) (required) - **itemPrice** (number) (required) - **itemQuantity** (number) (required) - **itemTotal** (number) (required) - **createdBy** (number) (required) - **dateEntered** (string (date-time)) (required) - **lastModified** (string (date-time)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/phases/stockOnHand?pageSize=10&sortOrder=asc&pageCursor=0&sortField=dateEntered&filterSearchText=string&lastModified=2023-01-01T00:00:00Z&dateEntered=2023-01-01T00:00:00Z" ``` ``` -------------------------------- ### GET /version Source: https://api.fergus.com/docs/json Returns the current version of the API. ```markdown ### Responses #### 200 - Default Response - **message** (string) ### Example Usage ```bash curl -X GET "https://api.fergus.com/version" ``` ``` -------------------------------- ### GET /customers/{customerId} Source: https://api.fergus.com/docs/json Returns a customer by ID. ```markdown ### Parameters - **customerId** (number, path, required) ### Responses #### 200 - Successful Response **def-51** - **result** (string) (required) - **data** (object) (required) - **id** (number) (required) - **companyId** (number) (required) - **customerFullName** (string) (required) - **createdAt** (string (date-time)) (required) - **mainContact** (object) (required) - **id** (number) (required) - **firstName** (string) (required) - **lastName** (string) (required) - **position** (string) (required) - **company** (string) (required) - **contactItems** (array (def-47)) (required) Array items: - **id** (number) (required) - **contactType** (string (email|phone|mobile|other|fax|website)) (required): The type of this contact item. It can be one of the following: email, phone, mobile, other, fax, website ("email"|"phone"|"mobile"|"other"|"fax"|"website") - **contactValue** (string) (required): The value of this contact item. - **physicalAddress** (object) (required) - **id** (number) (required) - **address1** (string) (required) - **address2** (string) (required) - **addressSuburb** (string) (required) - **addressCity** (string) (required) - **addressRegion** (string) (required) - **addressPostcode** (string) (required) - **addressCountry** (string) (required) - **postalAddress** (object) (required) - **billingContact** (object) (required) - **pricingTier** (object) (required) - **id** (number) (required) - **name** (string) (required) - **isDefault** (boolean) (required) - **tierType** (string) (required) - **markupRate** (number) (required) - **createdAt** (string) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **customerSource** (string) (required) - **links** (array (def-1)) (required) Array items: #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/customers/{customerId}" ``` ``` -------------------------------- ### GET /phases/{jobPhaseId}/stockOnHand Source: https://api.fergus.com/docs/json Job Phase stock on hand ```markdown ### Parameters - **pageSize** (number, query, optional) - **sortOrder** (union, query, optional) - **pageCursor** (string, query, optional) - **sortField** (union, query, optional) - **filterSearchText** (string, query, optional): Searchable fields: - `description` - **lastModified** (string (date-time), query, optional) - **dateEntered** (string (date-time), query, optional) - **jobPhaseId** (number, path, required) ### Responses #### 200 - Successful Response **def-98** - **result** (string) (required) - **data** (array (def-96)) (required) Array items: - **id** (number) (required) - **companyId** (number) (required) - **description** (string) (required) - **jobId** (number) (required) - **jobPhaseId** (number) (required) - **itemCost** (number) (required) - **itemCostQuantity** (number) (required) - **itemCostTotal** (number) (required) - **itemPrice** (number) (required) - **itemQuantity** (number) (required) - **itemTotal** (number) (required) - **createdBy** (number) (required) - **dateEntered** (string (date-time)) (required) - **lastModified** (string (date-time)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") - **paging** (object) - **perPage** (number) (required) - **pageCount** (number) (required) - **links** (object) (required) - **self** (string) (required) - **previous** (string) (required) - **next** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/phases/{jobPhaseId}/stockOnHand?pageSize=10&sortOrder=asc&pageCursor=0&sortField=dateEntered&filterSearchText=string&lastModified=2023-01-01T00:00:00Z&dateEntered=2023-01-01T00:00:00Z" ``` ``` -------------------------------- ### GET /jobs/{jobId}/phases Source: https://api.fergus.com/docs/json Returns a list of job phases ```markdown ### Parameters - **jobId** (string, path, required) ### Responses #### 200 - Successful Response **def-27** - **result** (string) (required) - **data** (array (def-26)) (required) Array items: - **id** (number) (required) - **jobId** (number) (required) - **description** (string) (required) - **createdAt** (string (date-time)) (required) - **title** (string) (required) - **status** (string) (required) - **assignedGroups** (array (string)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X GET "https://api.fergus.com/jobs/{jobId}/phases" ``` ``` -------------------------------- ### POST /calendarEvents Source: https://api.fergus.com/docs/json Creates a new calendar event. - **eventType** must be one of : `JOB_PHASE`, `QUOTE`, `ESTIMATE`, `OTHER`. - **JOB_PHASE**: Event type for a job phase. `jobPhaseId` must be provided. - **QUOTE**: Event type for a quote. `jobId` must be provided. - **ESTIMATE**: Event type for an estimate. `jobId` must be provided. - **OTHER**: General event type. Default value. - **frequency** must be one of : `DAILY`, `WEEKLY`, `MONTHLY`, `YEARLY`, `NEVER`. - **DAILY**: Repeats every day. - **WEEKLY**: Repeats every week. - **MONTHLY**: Repeats every month. - **YEARLY**: Repeats every year. - **NEVER**: Does not repeat. Default value. - If the event is recurring, **frequency** is ***not*** `NEVER`. - **interval** controls how often the event repeats, - Example: `WEEKLY` with an `interval = 2`, the event repeats every 2 weeks. - Default is `1`. - **repeatEndType** must be one of: - `NEVER`: Repeats indefinitely. Default value. - `ON_DATE`: Repeats until the specified **repeatEndDate**. - `AFTER`: Repeats for the specified **repeatCount** number of occurrences. - If `repeatEndType = ON_DATE`, the **repeatEndDate** must be provided. - If `repeatEndType = AFTER`, the **repeatCount** must be provided. - If **userId** or **linkedUserIds** is provided, the event is assigned to those user(s). Otherwise, the event is unassigned. ```markdown ### Request Body **Content-Type:** application/json - **userId** (number) - **linkedUserIds** (array (number)) - **startTime** (string (date-time)) (required) (example: "2021-01-01T07:00:00.000Z") - **endTime** (string (date-time)) (required) (example: "2021-01-01T17:00:00.000Z") - **jobId** (number) - **jobPhaseId** (number) - **eventTitle** (string) (required) - **eventType** (string (JOB_PHASE|QUOTE|ESTIMATE|OTHER)) (required) ("JOB_PHASE"|"QUOTE"|"ESTIMATE"|"OTHER") - **description** (string) - **frequency** (string (DAILY|WEEKLY|MONTHLY|YEARLY|NEVER)) ("DAILY"|"WEEKLY"|"MONTHLY"|"YEARLY"|"NEVER") - **interval** (number) - **repeatEndType** (string (NEVER|ON_DATE|AFTER)) ("NEVER"|"ON_DATE"|"AFTER") - **repeatEndDate** (string (date)) - **repeatCount** (number) ### Responses #### 201 - Resource created successfully **def-78** - **result** (string) (required) - **data** (array (def-77)) (required) Array items: - **id** (number) (required) - **companyId** (number) (required) - **userId** (number) (required) - **userName** (string) (required) - **groupId** (number) (required) - **title** (string) (required) - **description** (string) (required) - **eventType** (string (JOB_PHASE|QUOTE|ESTIMATE|OTHER)) (required) ("JOB_PHASE"|"QUOTE"|"ESTIMATE"|"OTHER") - **jobPhaseId** (number) (required) - **jobId** (number) (required) - **startTime** (string (date-time)) (required): The start time of the calendar event in ISO string format in 15 minute intervals (example: "2021-01-01T07:00:00.000Z") - **endTime** (string (date-time)) (required): The end time of the calendar event in ISO string format in 15 minute intervals (example: "2021-01-01T17:00:00.000Z") - **isActive** (boolean) (required) - **isAllDay** (boolean) (required) - **isRecurring** (boolean) (required) - **recurringEventDetails** (object) (required) - **startDate** (string (date-time)) (required) - **endDate** (string (date-time)) (required) - **rRule** (string) (required) - **text** (string) (required) - **createdAt** (string (date-time)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X POST "https://api.fergus.com/calendarEvents" \ -H "Content-Type: application/json" \ -d '{ "userId": "0", "linkedUserIds": [ "0" ], "startTime": "2021-01-01T07:00:00.000Z", "endTime": "2021-01-01T17:00:00.000Z", "jobId": "0", "jobPhaseId": "0", "eventTitle": "string", "eventType": "JOB_PHASE", "description": "string", "frequency": "NEVER", "interval": "0", "repeatEndType": "NEVER", "repeatEndDate": "value", "repeatCount": "0" }' ``` ``` -------------------------------- ### POST /sites Source: https://api.fergus.com/docs/json Create a new site ```markdown ### Request Body **Content-Type:** application/json - **name** (string) - **defaultContact** (object) (required) - **firstName** (string) (required) - **lastName** (string) - **position** (string) - **company** (string) - **contactItems** (array (def-48)) Array items: - **id** (number) - **contactType** (string (email|phone|mobile|other|fax|website)) (required): The type of this contact item. It can be one of the following: email, phone, mobile, other, fax, website ("email"|"phone"|"mobile"|"other"|"fax"|"website") - **contactValue** (string) (required): The value of this contact item. - **billingContact** (object) - **siteAddress** (object) (required) - **address1** (string) (required) - **address2** (string) - **addressSuburb** (string) - **addressCity** (string) - **addressRegion** (string) - **addressPostcode** (string) - **addressCountry** (string) - **postalAddress** (object) ### Responses #### 201 - Resource created successfully **def-54** - **result** (string) (required) - **data** (object) (required) - **id** (number) (required) - **companyId** (number) (required) - **name** (string) (required) - **createdAt** (string (date-time)) (required) - **defaultContact** (object) (required) - **id** (number) (required) - **firstName** (string) (required) - **lastName** (string) (required) - **position** (string) (required) - **company** (string) (required) - **contactItems** (array (def-47)) (required) Array items: - **id** (number) (required) - **contactType** (string (email|phone|mobile|other|fax|website)) (required): The type of this contact item. It can be one of the following: email, phone, mobile, other, fax, website ("email"|"phone"|"mobile"|"other"|"fax"|"website") - **contactValue** (string) (required): The value of this contact item. - **billingContact** (object) (required) - **physicalAddress** (object) (required) - **id** (number) (required) - **address1** (string) (required) - **address2** (string) (required) - **addressSuburb** (string) (required) - **addressCity** (string) (required) - **addressRegion** (string) (required) - **addressPostcode** (string) (required) - **addressCountry** (string) (required) - **postalAddress** (object) (required) - **isArchived** (boolean) (required) - **deletedAt** (string (date-time)) (required) - **links** (array (def-1)) (required) Array items: - **href** (string) (required) - **rel** (string) (required) - **type** (string (GET|POST|PUT|PATCH)) (required) ("GET"|"POST"|"PUT"|"PATCH") #### 303 - Site already exists, redirect to the existing site **def-4** - **result** (string) (required) - **message** (string) (required) - **location** (string) (required) #### 4XX - Client Request Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) #### 5XX - Server Errors **def-3** - **error** (string) (required) - **message** (string) (required) - **statusCode** (number) (required) ### Example Usage ```bash curl -X POST "https://api.fergus.com/sites" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "defaultContact": "value", "billingContact": "value", "siteAddress": "value", "postalAddress": "value" }' ``` ```