Skip to main content

Duro PLM Component

Manage products, components, and change orders in Duro PLM.

Component key: duro-plm

Changelog ↓

Description

Duro PLM is a cloud based Product Lifecycle Management (PLM) platform for managing part data, change orders, and product development workflows. This component allows you to manage products, components, change orders, and other resources in a Duro workspace.

API Documentation

This component was built using the Duro GraphQL API Reference.

Connections

API Key

To authenticate with Duro PLM, an API key is required.

Prerequisites

  • A Duro account
  • Access to account settings with permissions to generate API keys

Setup Steps

To generate an API key:

  1. Navigate to the Duro application and log in to the account
  2. Click the user avatar in the top right corner and select Account settings
  3. In the Settings menu, select the Integrations tab
  4. Click the Get API Key button below the Integrations table
  5. Copy the displayed API key value

Refer to the Duro GraphQL API documentation for additional information about API authentication.

Configure the Connection

Enter the following values in the connection configuration:

  • API Key: The API key generated from the Duro account settings
  • Duro Environment: Select the appropriate environment based on data residency requirements:
    • Main (MFG): Standard production environment for most accounts
    • ITAR: US Government ITAR-compliant environment
    • EU: European data residency environment
  • Custom Duro Environment (Optional): Provide a custom GraphQL endpoint URL to override the selected environment. Use this for private Duro instances or custom deployments.
InputNotesExample
Custom Duro Environment

If provided, this will override the selected Duro Environment. Use for private Duro instances or custom deployments.

https://custom-instance.duro.app/graphql
Duro Environment

The Duro GraphQL endpoint. Select based on data residency requirements: Main (MFG) for standard accounts, ITAR for US government compliance, or EU for European data residency.

https://mfg.duro.app/graphql
API Key

The API key for the Duro account. Generate an API key in Duro account settings under the Integrations tab.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0

Data Sources

Select Component

Select a component from a dropdown list | key: selectComponent | type: picklist

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false
First N Items

The number of items to return. Defaults to 5 if not specified.

10
Library Type

The type of library to query. Company (GENERAL) contains shared production components, while Sandbox (PERSONAL) contains personal or test components.

GENERAL

Actions

Create Change Order

Create a Draft Change Order | key: createChangeOrder

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false
Description

A detailed description of the change order, including the reason for the change and expected impact.

Replace aluminum housing with stainless steel to improve corrosion resistance in marine environments.
Name

The name of the change order to create.

ECO-2024-001: Update Component Materials
Type

The type of change order to create. ECO (Engineering Change Order), MCO (Manufacturing Change Order), or DCO (Document Change Order).

ECO

{
"data": {
"createChangeOrder": {
"id": "abcdef1234567890abcdef12",
"con": {
"displayValue": "ECO-12345"
},
"description": "Initial creation of the change order for testing purposes.",
"name": "Initial Change Order",
"status": "DRAFT",
"type": "ECO",
"created": "2024-06-24T22:31:27.808Z",
"creator": {
"email": "john.doe@example.com",
"id": "1234567890abcdef12345678",
"firstName": "John",
"lastName": "Doe"
}
}
}
}

Get Component by ID

Get a specific component by a unique identifier | key: getComponentById

InputNotesExample
Component ID

The unique identifier for the component to retrieve.

666c5a9528e821000815990e
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false

{
"data": {
"componentsByIds": [
{
"id": "abcdef1234567890abcdef12",
"cpn": {
"displayValue": "123-45678"
},
"created": "2024-06-14T14:58:29.791Z",
"category": "Integrated Circuit",
"archived": false,
"customSpecs": [],
"description": "A high-performance integrated circuit for advanced applications.",
"documentLinks": [],
"eid": "20-4567-B2",
"family": "IC",
"images": [
{
"mime": "JPEG",
"creator": {
"email": "john.doe@example.com"
},
"name": "ic_image.jpg",
"src": "https://example.com/ic_image.jpg"
}
],
"legacyCpn": "123-45678",
"lastModified": "2024-06-14T14:58:30.229Z",
"manufacturers": [],
"name": "High-Performance IC",
"primarySource": {
"dpn": "DP1234",
"distributor": "Distributor Inc.",
"manufacturer": "IC Manufacturer Ltd.",
"minQuantity": 10,
"mpn": "MP1234",
"unitPrice": 5.99
},
"specs": [],
"status": "PRODUCTION",
"revisionValue": "1",
"workflowState": "Approved",
"vendorId": "V1234",
"creator": {
"id": "1234567890abcdef12345678",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe"
},
"revisionHistory": [
{
"id": "abcdef1234567890abcdef34",
"cpn": {
"displayValue": "123-45678"
},
"revisionValue": "1"
}
],
"children": [
{
"component": {
"id": "abcdef1234567890abcdef56"
}
},
{
"component": {
"id": "abcdef1234567890abcdef78"
}
}
],
"modified": false,
"imageIds": [
"abcdef1234567890abcdef90"
]
}
]
}
}

Get Current User

Get information about the currently authenticated user | key: getCurrentUser

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false

{
"data": {
"userById": {
"lastName": "Smith",
"email": "john.smith@example.com",
"firstName": "John",
"id": "1234567890abcdef12345678",
"primaryCompany": {
"id": "abcdef1234567890abcdef12",
"name": "ExampleCorp"
}
}
}
}

List Change Orders

Get a list of change orders | key: listChangeOrders

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false
First N Items

The number of items to return. Defaults to 5 if not specified.

10
Order By

The field and direction to sort the change orders by. Results will be returned in the specified order.

[{"con": "asc"}]

{
"data": {
"changeOrders": {
"connection": {
"edges": [
{
"node": {
"con": {
"id": "abcdef1234567890abcdef12",
"displayValue": "ECO-12345"
},
"id": "abcdef1234567890abcdef34",
"name": "Test Order",
"type": "ECO",
"description": "Test description for change order.",
"documentLinks": [],
"status": "DRAFT",
"resolution": "NONE",
"erpOptions": null,
"created": "2024-06-24T22:31:27.808Z",
"creator": {
"email": "john.doe@example.com",
"id": "1234567890abcdef12345678",
"firstName": "John",
"lastName": "Doe"
},
"approvalType": "FIRST_IN",
"lastModified": "2024-06-24T22:31:27.808Z"
}
}
]
}
}
}
}

List Company Users

Get account information from each user in your company library | key: listCompanyUsers

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false

{
"data": {
"id": "abcdef1234567890abcdef12",
"name": "ExampleCorp",
"users": [
{
"email": "john.doe@example.com",
"id": "1234567890abcdef12345678",
"firstName": "John",
"lastName": "Doe",
"created": "2024-06-14T14:57:37.227Z",
"role": "ADMINISTRATOR",
"title": "CEO",
"lastLogin": "2024-06-24T16:11:02.889Z"
}
]
}
}

List Components

Get a list of components | key: listComponents

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false
First N Items

The number of items to return. Defaults to 5 if not specified.

10
Library Type

The type of library to query. Company (GENERAL) contains shared production components, while Sandbox (PERSONAL) contains personal or test components.

GENERAL

{
"data": [
{
"id": "666c5a8828e82100081595b0",
"name": "CONN HEADER 10POS DUAL .05\", Keying Shroud, SMD",
"mass": null,
"created": "2024-06-14T14:58:16.638Z",
"lastModified": "2024-06-14T14:58:18.069Z"
}
]
}

Raw Request

Make a generic request to the Duro API | key: rawRequest

InputNotesExample
Connection

The Duro PLM connection to use.

Debug Request

Enabling this flag will log out the current request.

false
Query or Mutation

GraphQL query or mutation to execute against the Duro API. See the Duro GraphQL API documentation for available queries and mutations.

Variables

GraphQL variables to pass to the query or mutation. Each variable should be a key-value pair.

userId: 12345, status: active
Variables Object

Alternative way to provide GraphQL variables as a JSON object. Use this instead of the Variables field for complex nested variables.

{
"data": {
"result": {
"id": "abcdef1234567890abcdef12",
"name": "Example Result"
}
}
}

Changelog

2025-12-08

Enhanced Duro API connection with expanded environment support:

  • Added EU environment option for European data residency
  • Added custom Duro environment field for private or testing environments

2024-06-27

Initial release of Duro PLM component with product lifecycle management capabilities