Represents a Work Order in SOFT4Spaces.
Note
For information about enabling APIs for Business Central see Overview.
API endpoint
| API | Path |
| workOrders | https://{{businesscentralPrefix}}/{{APIGroup}}/{{version}}/companies({{companyId}})/workOrders |
Methods
| Method | Return Type | Description |
| GET workOrders | workOrders | Gets a work order object. |
| DELETE workOrders | none | Deletes a work order object. |
| POST workOrders | workOrders | Creates a work order object. |
| PATCH workOrders | workOrders | Updates a work order object. |
GET workOrders
Description
Retrieves an existing work orders records from Business Central.
HTTP Request
GET
https://{{businesscentralPrefix}}/api/soft4/soft4spaces/v3.0/companies({{companyId}})/workOrders
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
None.
Response
Returns a 200 OK status code and JSON object representing the work orders records.
Example Response
JSON
| { "id": "c655d4ac-0c37-f111-889f-e5dbb3e633b4", "no": "WO00001", "orderDate": "2028-01-27", "orderStatus": "New", "shortcutDimension1Code": "SALES", "shortcutDimension2Code": "", "customerNo": "01454545", "customerName": "New Concepts Furniture", "vendorNo": "", "vendorName": "", "phoneNo": "", "eMail": "", "preparedBy": "RB", "preparedByName": "Robin Bettencourt", "assignedTo": "KH", "assignedToName": "KATHERINE HULL", "leaseContractNo": "", "customerRequest": "Please clean the premises.", "confirmDate": "0001-01-01", "confirmId": "", "closeDate": "0001-01-01", "closeId": "", "comeBack": false, "maintenanceAsset": "", "requestedAppointmentDate": "0001-01-01", "appointmentDate": "0001-01-01", "appointmentTime": "00:00:00", "notes": "", "warranty": false, "totalAmount": 37.8, "totalCost": 37.8, "deliveryDateActual": "0001-01-01", "deliveryNotes": "", "invoiceTo": "01454545", "invoiceToName": "", "invoiceDate": "0001-01-01", "lastInvoiceNo": "", "invoiceAmount": 0, "noInvoicing": false, "customerToInvoiced": false, "buildingCode": "", "maintenanceTask": 0, "postingDescription": "", "systemCreatedAt": "2026-04-13T07:45:01.403Z", "systemCreatedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "systemModifiedAt": "2026-04-17T07:09:47.097Z", "systemModifiedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc" } |
GET workOrders
Description
Retrieves an existing work order record from Business Central.
HTTP Request
GET
https://{{businesscentralPrefix}}/api/soft4/soft4spaces/v3.0/companies({{companyId}})/workOrders({{workOrders_id}})
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
None.
Response
Returns a 200 OK status code and JSON object representing the work order record.
Example Response
JSON
| { "id": "c655d4ac-0c37-f111-889f-e5dbb3e633b4", "no": "WO00001", "orderDate": "2028-01-27", "orderStatus": "New", "shortcutDimension1Code": "SALES", "shortcutDimension2Code": "", "customerNo": "01454545", "customerName": "New Concepts Furniture", "vendorNo": "", "vendorName": "", "phoneNo": "", "eMail": "", "preparedBy": "RB", "preparedByName": "Robin Bettencourt", "assignedTo": "KH", "assignedToName": "KATHERINE HULL", "leaseContractNo": "", "customerRequest": "Please clean the premises.", "confirmDate": "0001-01-01", "confirmId": "", "closeDate": "0001-01-01", "closeId": "", "comeBack": false, "maintenanceAsset": "", "requestedAppointmentDate": "0001-01-01", "appointmentDate": "0001-01-01", "appointmentTime": "00:00:00", "notes": "", "warranty": false, "totalAmount": 37.8, "totalCost": 37.8, "deliveryDateActual": "0001-01-01", "deliveryNotes": "", "invoiceTo": "01454545", "invoiceToName": "", "invoiceDate": "0001-01-01", "lastInvoiceNo": "", "invoiceAmount": 0, "noInvoicing": false, "customerToInvoiced": false, "buildingCode": "", "maintenanceTask": 0, "postingDescription": "", "systemCreatedAt": "2026-04-13T07:45:01.403Z", "systemCreatedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "systemModifiedAt": "2026-04-17T07:09:47.097Z", "systemModifiedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc" } |
GET [expand] Work Orders
Description
Retrieves and existing work order and work order lines records from Business Central.
HTTP Request
GET
https://{{businesscentralPrefix}}/api/soft4/soft4spaces/v3.0/companies({{companyId}})/workOrders({{workOrders_id}})?$expand=workOrderLines
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
None.
Response
Returns a 200 OK status code and JSON object representing the work order and work order lines records.
Example Response
JSON
|
{ "id": "c655d4ac-0c37-f111-889f-e5dbb3e633b4", "no": "WO00001", "orderDate": "2028-01-27", "orderStatus": "New", "shortcutDimension1Code": "SALES", "shortcutDimension2Code": "", "customerNo": "01454545", "customerName": "New Concepts Furniture", "vendorNo": "", "vendorName": "", "phoneNo": "", "eMail": "", "preparedBy": "RB", "preparedByName": "Robin Bettencourt", "assignedTo": "KH", "assignedToName": "KATHERINE HULL", "leaseContractNo": "", "customerRequest": "Please clean the premises.", "confirmDate": "0001-01-01", "confirmId": "", "closeDate": "0001-01-01", "closeId": "", "comeBack": false, "maintenanceAsset": "", "requestedAppointmentDate": "0001-01-01", "appointmentDate": "0001-01-01", "appointmentTime": "00:00:00", "notes": "", "warranty": false, "totalAmount": 37.8, "totalCost": 37.8, "deliveryDateActual": "0001-01-01", "deliveryNotes": "", "invoiceTo": "01454545", "invoiceToName": "", "invoiceDate": "0001-01-01", "lastInvoiceNo": "", "invoiceAmount": 0, "noInvoicing": false, "customerToInvoiced": false, "buildingCode": "", "maintenanceTask": 0, "postingDescription": "", "systemCreatedAt": "2026-04-13T07:45:01.403Z", "systemCreatedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "systemModifiedAt": "2026-04-17T07:09:47.097Z", "systemModifiedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "workOrderLines": [ { "id": "99b6110c-d238-f111-889f-e5dbb3e633b4", "workOrderNo": "WO00001", "leaseUnitNo": "SAMPLE", "lineNo": 10000, "type": "Resource", "no": "KATHERINE", "description": "Katherine Hull", "quantity": 3, "shortcutDimension1Code": "SALES", "shortcutDimension2Code": "", "unitPrice": 6.3, "unitCost": 6.3, "lineAmount": 18.9, "costAmount": 18.9, "workTypeCode": "", "supplierNo": "", "poNo": "", "poLineNo": 0, "poStatus": "Open", "poDate": "0001-01-01", "poDeliveryDate": "0001-01-01", "poResponsiblePerson": "", "piNo": "", "piLineNo": 0, "siNo": "", "siLineNo": 0, "InvoicedToCustomer": false, "qtyPerUnitOfMeasure": 1, "unitOfMeasureCode": "HOUR", "quantityBase": 3, "systemCreatedAt": "2026-04-15T13:50:23.207Z", "systemCreatedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "systemModifiedAt": "2026-04-17T07:09:19.53Z", "systemModifiedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc" }, { "id": "b013e157-5c39-f111-889f-e5dbb3e633b4", "workOrderNo": "WO00001", "leaseUnitNo": "SAMPLE", "lineNo": 20000, "type": "Resource", "no": "KATHERINE", "description": "Katherine Hull", "quantity": 3, "shortcutDimension1Code": "SALES", "shortcutDimension2Code": "", "unitPrice": 6.3, "unitCost": 6.3, "lineAmount": 18.9, "costAmount": 18.9, "workTypeCode": "", "supplierNo": "", "poNo": "", "poLineNo": 0, "poStatus": "Open", "poDate": "0001-01-01", "poDeliveryDate": "0001-01-01", "poResponsiblePerson": "", "piNo": "", "piLineNo": 0, "siNo": "", "siLineNo": 0, "InvoicedToCustomer": false, "qtyPerUnitOfMeasure": 1, "unitOfMeasureCode": "HOUR", "quantityBase": 3, "systemCreatedAt": "2026-04-16T06:20:21.027Z", "systemCreatedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc", "systemModifiedAt": "2026-04-17T07:09:19.537Z", "systemModifiedBy": "d74e8f2b-15c7-470c-8c02-f3ec2c0050dc" } ] } |
POST workOrder
Description
Creates a new work order in Business Central.
HTTP Request
POST
https://{{businesscentralPrefix}}/api/soft4/soft4spaces/v3.0/companies({{companyId}})/workOrders
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
Provide a JSON object with work order data.
JSON
|
{ "preparedBy": "RB", "orderDate": "2026-04-18", "orderStatus": "New", "customerNo": "01445544", "customerRequest": "Replace a burst pipe." } |
Response
Returns a 201 Created status code and the created work order object.
PATCH workOrder
Description
Updates existing work order in Business Central.
HTTP Request
PATCH
https://{{businesscentralPrefix}}/api/soft4/soft4spaces/v3.0/companies({{companyId}})/workOrders({{workOrders_id}})
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
Provide the fields to be updated of work order in Business Central.
JSON
|
{ "appointmentDate": "2026-04-20" |
Response
Returns a 200 OK status code.
Properties
| Property | Type | Description |
| id | GUID | The unique ID of the work order. Non-editable. |
| no | string | Specifies the number of the work order. |
| orderDate | date | Specifies the work order's order date. |
| orderStatus | string | Specifies the work order status. It can be “New”, “Confirmed”, “Closed”, “Assigned”, “In Progress”, “Incomplete”, “On Hold”, “Completed”. |
| shortcutDimension1Code | string | Specifies the Global Dimension 1 value code. |
| shortcutDimension2Code | string | Specifies the Global Dimension 2 value code. |
| customerNo | sring | The customer's number. |
| customerName | string | The customer's name. |
| vendorNo | string | The vendor's number. |
| vendorName | string | The vendor's name. |
| phoneNo | string | Specifies the customer's phone number. |
| string | Specifies the customer's email address. | |
| preparedBy | string | Specifies who prepared particular work order. |
| preparedByName | string | Specifies the name of the person who prepared the particular work order. |
| assignedTo | string | Specifies to whom the work order is assigned. |
| assignedToName | string | Specifies the name of the person who is assigned to a particular work order. |
| leaseContractNo | string | The lease contract number. |
| customerRequest | string | The customer request. |
| confirmDate | date | Specifies the work order confirmation date. |
| confirmId | string | Specifies the user ID who confirmed the particular work order. |
| closeDate | date | Specifies work order closing date. |
| closeId | string | Specifies the user ID who closed the particular work order. |
| comeBack | boolean | Specifies whether the customer comes back with the same request. |
| maintenanceAsset | string | Specifies maintenance asset number. |
| requestedAppointmentDate | date | The customer requested an appointment date. |
| appointmentDate | date | The actual appointment date. |
| appointmentTime | time | The actual appointment time. |
| notes | string | The work order notes. |
| warranty | boolean | Specifies whether the warranty is valid. |
| totalAmount | decimal | Specifies the total amount of the work order lines. |
| totalCost | decimal | Specifies the total costs of the work order lines. |
| deliveryDateActual | date | Specifies the actual delivery date. |
| deliveryNotes | string | Specifies the delivery notes. |
| invoiceTo | string | Specifies the customer's number to whom the sales invoice was issued. |
| invoiceToName | string | Specifies the name to whom the sales invoice was issued. |
| invoiceDate | date | Specifies the date when the sales invoice was created. |
| lastInvoiceNo | string | Specifies the last invoice number. |
| invoiceAmount | decimal | Specifies the sales invoice amount. |
| noInvoicing | boolean | Specifies whether the invoice should be issued for the customer. |
| customerToInvoiced | boolean | Specifies whether the invoice was issued for the customer. |
| buildingCode | string | Specifies building code. |
| maintenanceTask | integer | Specifies the number of the related maintenance tasks. |
| postingDescription | string | Specifies posting description used when sales invoice is created. |
| systemCreatedAt | datetime | The datetime the work order was created. |
| systemCreatedBy | GUID | The ID of the user who created the work order. |
| systemModifiedAt | datetime | The last datetime the work order was modified. |
| systemModifiedBy | GUID | The ID of the user who modified the work order. |
JSON Representation
|
{ "id": GUID, "no": string, "orderDate": date, "orderStatus": string, "shortcutDimension1Code": string, "shortcutDimension2Code": string, "customerNo": string, "customerName": string, "vendorNo": string, "vendorName": string, "phoneNo": string, "eMail": string, "preparedBy": string, "preparedByName": string, "assignedTo": string, "assignedToName": string, "leaseContractNo": string, "customerRequest": string, "confirmDate": date, "confirmId": string, "closeDate": date, "closeId": string, "comeBack": boolean, "maintenanceAsset": string, "requestedAppointmentDate": date, "appointmentDate": date, "appointmentTime": time, "notes": string, "warranty": boolean, "totalAmount": decimal, "totalCost": decimal, "deliveryDateActual": date, "deliveryNotes": string, "invoiceTo": string, "invoiceToName": string, "invoiceDate": date, "lastInvoiceNo": string, "invoiceAmount": decimal, "noInvoicing": boolean, "customerToInvoiced": boolean, "buildingCode": string, "maintenanceTask": integer, "postingDescription": string, "systemCreatedAt": datetime, "systemCreatedBy": GUID, "systemModifiedAt": datetime, "systemModifiedBy": GUID } |
Related API's (expand)
| Name | Type | Description |
| workOrderLines | Collection(Microsoft.NAV.workOrderLines) | Gets the workOrderLines of the workOrders. |