Skip to content

Reference

v2.0.0

Environments

The following environment instance URLs will be provided for development, testing and final production integrations. Please note the current status of each environment instance.

Authorization

Authentication and authorization via Bearer API tokens issued per company account and delivered by your BOMcheck service account manager. The token must be present in the Authorization header when making requests to BOMcheck API v2 endpoints:

Authorization: Bearer <token>

For more information about the use of Bearer token authentication, please see:

Submissions

Tiered Usage

Request calls made to all Submission endpoints will count towards your API tiered usage allowance. For more info please see Usage Allowance.

POST XML Upload

/submissions/xml

Launch BOMcheck functionality by uploading relevant IPC 1752 XMLs in the available class formats (more info in the XML Files section). Functional availability (per Scope Roadmap):

  • Request Supplier Declarations: Upload 1752A/B Class C or D in Request/Reply mode.
  • Create an RCD: Upload 1752A/B Class C in Distribute mode (coming soon).
  • Create an FMD: Upload 1752A/B Class D in Distribute mode (coming soon).

Returns a SubmissionStatusDto containing a unique submission number which can be used to poll the GET Submission Status endpoint to retrieve the status of your submission.

Request Body

The POST request body should be IPC 1752 XML raw content information in line with the IPC Material Declaration Standard and conform to Content-Type: application/xml.

If the uploaded XML file passes initial HTTP checks the contents will be validated with any validations being available as part of the SubmissionStatusReport object.

Request Process

Responses

SubmissionStatusDto (202 Accepted)

json
{
    "submissionNumber": "c039b3142422",
    "statusUrl": "https://api.bomcheck.com/v2/submissions/c039b3142422",
    "reportUrl": "https://app.bomcheck.com/apiv2/submissions/c039b3142422"
}

Please also see HTTP Responses.

POST Supplier Request

/submissions/request

In Development

Please note the simplified Supplier Request endpoint is currently in development.

Simplified endpoint to easily launch supplier declaration requests via JSON payload without the need to construct and attach a valid IPC XML in Request/Reply mode. Follows request response flow of the POST XML Upload endpoint.

Request Example

json
{
    "supplierDuns": "111111110", // Required, valid supplier DUNs
    "supplierEmail": "supplier@bomcheck.net", // Required, valid supplier authorizer email address
    "contactCc": "jbloggs@acme.com", // Optional, CC email must exist in BOMcheck
    "partNumbers": ["ABC123", "DEF456", "XYZ999"], // Required, array of string part numbers
    "partNumberOrigin": "itemNumber", // Optional, "itemNumber" = supplier part numbers (default), "requesterItemNumber" = our part numbers
    "formatClass": "requestCthenD", // Optional, "C", "D" or "requestCthenD" (default)
    "confidentiality": false, // Optional, Boolean true or false (default)
    "regulationLists": ["EUROHS-0508", "EUREACH-0624", "Prop_65_substances", "BOMcheck_PFAS_List"], // Required, valid BOMcheck supported substance list identities
    "respondByDate": "2026-01-01", // Required, ISO8601 formatted date string as YYYY-MM-DD
    "message": "We request FMDs be made where possible. Yours faithfully ACME Electronics." // Optional, text message
}

GET Submission Status

/submissions/{submissionNumber}

Returns a SubmissionStatusReport containing information on the current processing status of a previous submission to the POST XML Upload endpoint.

URI (Path) Parameters

submissionNumber

  • Type: String
  • Required: Yes
  • Description: Returned as an attribute of the SubmissionStatusDto object or obtained from the BOMcheck API dashboard user interface. Should be provided as a query string parameter in the GET request URL.

Request Process

Responses

SubmissionStatusReport (200 OK)

json
{
    "status": "PENDING",
    "filename": "Partnumber12345.xml",
    "submissionNumber": "c039b3142422",
    "reportUrl": "https://app.bomcheck.com/apiv2/submissions/c039b3142422",
    "refValue": "005056b7-b57b-4ed9-b1ae-c99fb9dec1e7",
    "validations": [
        {
            "context": "175x:ZZZZZZZZZZZZZZZZ-AAAAAAAAAAA",
            "level": "FAIL",
            "code": "BR068"
        }
    ],
    "refType": "Part itemNumber",
    "submissionDate": "2019-10-11T10:58:00.726928+03:00",
    "dataUuid": "anyname.xml"
}

Please also see HTTP Responses.

Download

Tiered Usage

Request calls made to all Consume endpoints will count towards your API tiered usage allowance. For more info please see Usage Allowance.

GET Download

/download

Download supplier part compliance declaration data in IPC 1752 industry standard XML or BOMcheck detailed CSV file formats (more info in XML Files).

Query Parameters

format

  • Type: String
  • Required: Yes
  • Description: Specifies the file format of the requested download.
  • Valid Values:
    • "1752A" = IPC XML file
    • "1752B" = IPC XML file
    • "CSV" = BOMcheck detailed CSV file
  • Example: /download?format=1752B

formatClass

  • Type: String
  • Required: No
  • Default: "C"
  • Description: Optional parameter specifying the IPC class of the requested download (Class C or Class D). If the requested format is CSV the class parameter will be ignored.
  • Valid Values:
    • "C" = Class C RCD
    • "D" = Class D FMD
    • "checkDthenC" = Class D if available, Class C as fallback
  • Example: /download?format=1752B&formatClass=D

supplier

  • Type: String
  • Required: Yes, parameter must be present with a valid value unless partNumbers parameter is present with a valid value.
  • Description: Unique nine-digit DUNS number identifying the target supplier. DUNs number must match exactly a supplier DUNs number available in BOMcheck, fuzzy search matching is not supported over API.
  • Example: /download?supplier=123456789

partNumbers

  • Type: Array of strings
  • Required: Yes, parameter must be present with a valid value unless supplier parameter is present with a valid value.
  • Description: Allows for download of compliance data for target part numbers. Part numbers must match exactly part numbers available in BOMcheck, fuzzy search matching is not supported over API.
  • Example: /download?partNumbers[]=ABC123&partNumbers[]=DEF456

startDate

  • Type: ISO8601 formatted date string as YYYY-MM-DD
  • Required: No
  • Description: Optional parameter allows download of compliance data with an Approval Dates after the given start date.
  • Example: /download?partNumbers[]=ABC123&startDate=2020-01-01

Request Process

Responses

Download Response (200 OK)

Successful requests will returns a ZIP archive (Content-Type: application/zip) containing one or many IPC XML files matching the specified request criteria. Files will conform to the following IPC XML examples:

Please also see HTTP Responses.

Integration Data

In Development

Please note all Integration Data endpoints are currently in development.

Please see the Scope Roadmap for delivery timeline.

GET Substance Lists

/integration/substances

Retrieve BOMcheck supported substance list, substance category and CAS number data.

GET Exemption Lists

/integration/exemptions

Retrieve BOMcheck supported substance exemptions.

GET Supplier Data

/integration/suppliers

Retrieve BOMcheck supplier data including DUNs numbers and authorised contact details.

Query Parameters

All Integration Data endpoints accept optional query parameters in the GET request URL to allow appropriately formatted responses.

format

  • Type: String
  • Description: Specifies the file format response type.
  • Required: No
  • Default: "json"
  • Valid Values: "json", "xml"
  • Example: /integration/suppliers?format=xml

output

  • Type: String
  • Description: Specifies the behaviour of the response type to either trigger a file download or return the content directly in the response.
  • Required: No
  • Default: "content"
  • Valid Values: "content", "file"
  • Example: /integration/suppliers?format=xml&output=file

Meta Data

GET Ping API

/ping

Check the availability of the API.

Responses

200 OK

json
{
    "message": "OK",
    "documentation": "https://docs.bomcheck.com/en/api-docs/v2/",
    "status": "https://status.bomcheck.com/"
}

Please also see HTTP Responses.

GET Tier Quota

/quota

Check my organisations current API tier allowance and usage (see Tiered Usage).

Responses

200 OK

json
{
    "company": {
        "name": "ACME Electronics",
        "duns": "123456789"
    },
    "api:consume": {
        "authorized": true,
        "tier_limit": 1000,
        "tier_usage": 123
    },
    "api:request": {
        "authorized": true,
        "tier_limit": 1000,
        "tier_usage": 456
    },
    "api:declare": {
        "authorized": true,
        "tier_limit": 1000,
        "tier_usage": 789
    }
}

Please also see HTTP Responses.