Using API

Overview

The Non-Conformance Management app provides a REST API for integrating with Power Platform, external services, or custom tools. The API covers Non-Conformance Headers, Lines, Action Plans, and Action Plan Lines.

For general Business Central API info, see BC API Reference.


API Resource Summary

Resource EntitySetName Description
Non-Conformances nonConformances Get the Non-Conformance Header and its related lines. It allows you to retrieve information about non-conformance cases, including details such as description, status, severity, and associated lines with related items, quantities, pricing / costing information as well as tracking information.
Action Plans actionPlans Get Action Plan and its related lines. It allows you to retrieve information about action plans associated with non-conformance cases, including details such as description, status, due dates, and associated tasks, assignment and completion information.’

1. Non-Conformance Header

APIGroup: nonConformanceManagement
EntityName: nonConformance
EntitySetName: nonConformances

Methods

Method Return Type Description
GET Non-Conformance Gets an array of Non-Conformances

Properties

Property Type Description
number String Non-Conformance No.
description String Non-Conformance Description
status String Non-Conformance Status
createdBy String Created By
creationDate Date Creation Date
source String Non-Conformance Source
category String Non-Conformance Category
subcategory String Non-Conformance Sub-Category
severity String Non-Conformance Severity
estimatedClosureDate Date Estimated Closure Date
realClosureDate Date Real Closure Date
referenceNonConformanceNumber String Reference Non-Conformance No.
sourceType String Non-Conformance Source Type
sourceNumber String Non-Conformance Source No.
currencyCode String Non-Conformance Currency Code
contactNumber String Non-Conformance Contact No.
contactName String Non-Conformance Contact Name
sourceEmailAddress String Non-Conformance Source E-mail Address
evaluation String Non-Conformance Evaluation
externalNonConformanceNumber String External Non-Conformance No.
lineNumber Number Line No.
nonConformanceType String Non-Conformance Type
sourceDocumentType String Source Document Type
sourceDocumentLineNo. Number Source Document Line No.
itemNo. String Item No.
variantCode String Variant Code
unitOfMeasureCode String Unit of Measure Code
sourceQuantity Number Source Quantity
nonConformanceQuantity Number Non-Conformance Quantity
sourceUnitPrice Number Source Unit Price
sourceUnitPriceLcy Number Source Unit Price (LCY)
nonConformanceUnitPrice Number Non-Conformance Unit Price
sourceAmount Number Source Amount
sourceAmountLcy Number Source Amount (LCY)
nonConformanceAmount Number Non-Conformance Amount
serialNumber String Serial No.
lotNumber String Lot No.
packageNumber String Package No.
severity String Severity
lineDescription String Line Description
commentsForNonConformanceRpt String Comments for Non-Conformance Report
externalDocumentNumber String External Document No.

HTTP Request

GET businesscentralPrefix/api/bricklead/nonConformanceManagement/v2.0/companies({companyId})/nonConformances

Filtering Examples

# By number
GET .../nonConformances?$filter=number eq 'NC-000123'
# By status
GET .../nonConformances?$filter=status eq 'Open'
# By creation date
GET .../nonConformances?$filter=creationDate ge 2026-01-01

Response Example

{
  "value": [
    {
      "@odata.etag": "string",
      "number": "string",
      "description": "string",
      "status": "string",
      "createdBy": "string",
      "creationDate": "date",
      "source": "string",
      "category": "string",
      "subcategory": "string",
      "severity": "string",
      "estimatedClosureDate": "date",
      "realClosureDate": "date",
      "referenceNonConformanceNumber": "string",
      "sourceType": "string",
      "sourceNumber": "string",
      "currencyCode": "string",
      "contactNumber": "string",
      "contactName": "string",
      "sourceEmailAddress": "string",
      "evaluation": "string",
      "externalNonConformanceNumber": "string",
      "nonConformanceNumber": "string",
      "lineNumber": 1,
      "nonConformanceType": "string",
      "sourceDocumentType": "string",
      "sourceDocumentNumber": "string",
      "sourceDocumentLineNumber": 1,
      "itemNumber": "string",
      "variantCode": "string",
      "unitOfMeasureCode": "string",
      "sourceQuantity": 10.0,
      "nonConformanceQuantity": 2.0,
      "sourceUnitPrice": 5.0,
      "sourceUnitPriceLcy": 5.0,
      "nonConformanceUnitPrice": 4.5,
      "sourceAmount": 50.0,
      "sourceAmountLcy": 50.0,
      "nonConformanceAmount": 9.0,
      "serialNumber": "SN123",
      "lotNumber": "LOT1",
      "packageNumber": "PKG1",
      "severity": "Major",
      "lineDescription": "Damaged packaging",
      "commentsForNonConformanceRpt": "Visible dent",
      "externalDocumentNumber": "EXT-001"
    }
  ]
}

2. Action Plan

APIGroup: nonConformanceManagement
EntityName: actionPlan
EntitySetName: actionPlans

Methods

Method Return Type Description
GET Action Plan Header Gets an array of Action Plans

Properties

Property Type Description
number String Action Plan No.
nonConformanceNumber String Non-Conformance No.
nonConformanceType String Non-Conformance Type
description String Description
status String Status
dueDate Date Due Date
lineNumber Number Line No.
lineDescription String Description
function String Function
maxActionPlanTime Number Max. Action Plan Time
estimatedDateToComplete Date Estimated Date to Complete
completionDuration Number Completion Duration (in hours)
isCompleted Boolean Is Completed
completionDate Date Completion Date
completedBy String Completed By
assignedUserTaskId String Assigned User Task Id
assignedUserTaskTo String Assigned User Task To
assignedUserTaskToUserName String Assigned User Task To UserName

HTTP Request

GET businesscentralPrefix/api/bricklead/nonConformanceManagement/v2.0/companies({companyId})/actionPlans

Filtering Examples

# By Action Plan No.
GET .../actionPlansHeader?$filter=number eq 'AP-000321'
# By Status
GET .../actionPlansHeader?$filter=status eq 'Open'

Response Example

{
  "value": [
    {
      "@odata.etag": "string",
      "number": "AP-000321",
      "nonConformanceNumber": "NC-000123",
      "nonConformanceType": "Vendor",
      "description": "Root cause analysis and corrective action",
      "status": "Open",
      "dueDate": "2026-02-01",
      "lineNumber": 1,
      "lineDescription": "Investigate root cause",
      "function": "Quality",
      "maxActionPlanTime": 8,
      "estimatedDateToComplete": "2026-01-28",
      "completionDuration": 4,
      "isCompleted": false,
      "completionDate": null,
      "completedBy": null,
      "assignedUserTaskId": "UT-001",
      "assignedUserTaskTo": "user1",
      "assignedUserTaskToUserName": "John Doe"
    }
  ]
}
Previous