Duro PLM Component
Manage Products, Components, Change Orders, and more with Duro.
Component key: duro-plm
Description
Duro PLM is a platform designed to intuitively centralize part data, manage change orders, and connect to the rest of your tech stack. This allows your hardware team to focus on innovation rather than administrative tasks.
Use the Duro PLM component to manage users, projects, and teams in your Duro workspace.
API Documentation
The component was built using the Duro GraphQL API Reference
Connections
Duro API Key
How to retrieve an API key
To retrieve an API key in your Duro app, follow these steps:
- Log in to your Duro account.
- Click on your avatar and select Account settings.
- In the Settings menu, select the Integrations tab.
- Click on the Get API Key button below the Integrations table.
- Your API key will be displayed. Highlight and copy it to use as the "Duro API Key" in your Prismatic integration.
Input | Notes | Example |
---|---|---|
Duro Environment string / Required duroEnvironment | The environment to connect to. | https://mfg.duro.app/graphql |
Duro API Key password / Required username | The API key for your Duro account. | eyJhbGciOiJIUzI... |
Data Sources
Select Component
Select a component from a dropdown list | key: selectComponent | type: picklist
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
First N Items string first | 5 | The number of items to return | 5 |
Library Type string / Required libraryType | The type of library to query | GENERAL |
Actions
Create Change Order
Create a Draft Change Order | key: createChangeOrder
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Description string description | A description of the change order | This is a description of the change order | |
Name string / Required name | The name of the change order to create | Change Order 1 | |
Type string / Required type | ECO | The type of change order to create | ECO |
Example Payload for Create Change Order
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Component ID string / Required componentId | The unique identifier for the component you want to retrieve | 666c5a9528e821000815990e | |
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. |
Example Payload for Get Component by ID
{
"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
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Debug Request boolean debug | false | Enabling this flag will log out the current request. |
Example Payload for Get Current User
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
First N Items string first | 5 | The number of items to return | 5 |
Order By string orderBy | The field to order the change orders by | [{"con": "asc"}] |
Example Payload for List Change Orders
{
"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
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Debug Request boolean debug | false | Enabling this flag will log out the current request. |
Example Payload for List Company Users
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
First N Items string first | 5 | The number of items to return | 5 |
Library Type string / Required libraryType | The type of library to query | GENERAL |
Example Payload for List Components
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Query or Mutation code / Required query | GraphQL query or mutation | ||
Variables string Key Value List variables | Variables to pass to the query or mutation | key1: value1, key2: value2 | |
Variables Object code variablesObject | Variables to pass to the query or mutation |