--- title: "Asset Picker" slug: "asset-picker" updated: 2026-01-21T12:33:16Z published: 2026-01-21T12:33:16Z canonical: "docs.sightmachine.com/asset-picker" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.sightmachine.com/llms.txt > Use this file to discover all available pages before exploring further. # Asset Picker The Asset Picker is a configurable component that allows users to select machines and/or lines from their factory assets. It supports both single and multi-select modes with various configuration options. ### Configuration Options The picker can be configured through the following options in the `config` object: | Option | Type | Default | Description | | --- | --- | --- | --- | | `defaultValue` | string | "all" | Determines initial selection behavior. Options: - `"all"`: No default selection - `"first"`: Selects the first available asset - `"(machine_name)"`: Uses the specified machine name value as default | | `selectSingle` | boolean | false | When `true`, enables single-select mode. When `false`, enables multi-select mode | | `selectSameType` | boolean | false | Only applies in multi-select mode. When `true`, selecting an asset of a different type (e.g., AutoNoSew after LaserCut) clears previous selections | | `selectMixedAssets` | boolean | false | When `true`, allows mixing machine and line assets in selections. When false, selecting a different asset type clears previous selections | | `whiteList` | string[] | undefined | Optional array of machine names. When provided, only shows assets listed in the whitelist | | `defaultMachine` | string | undefined | Optional machine name to select by default | Example Configuration ```python    {      "config": {        "defaultValue": "first",        "selectMixedAssets": false,        "selectSameType": false,        "selectSingle": false,        "usesLines": false      },      "id": "asset",      "title": "Asset",      "type": "asset"    }, ``` ### Default Query Params The asset picker generates the following params to the API Query: | Parameter | Type | Description | | --- | --- | --- | | `machine_names` | string[] | Array of selected machine names | | `machine_types` | string[] | Array of machine types for the selected machines | | `machines` | object[] | Detailed information about each selected machine | The `machines` array contains objects with the following properties for each selected machine: | Property | Type | Description | | --- | --- | --- | | `id` | string | Unique identifier for the machine | | `name` | string | Internal machine name (unique) | | `type` | string | Machine type (e.g. "SMType") | | `type_id` | string | Unique identifier for the machine type | | `display_name` | string | Human-readable machine name | | `title` | string | Display title for the machine | | `factory.id` | string | Unique identifier for the factory containing the machine | | `factory.name` | string | Internal factory name (unique) | | `factory.display_name` | string | Human-readable factory name | Example request body: ```python "asset": {  "pickerType": "asset",  "value": {    "machine_names": [      "sm_machine_1",      "sm_machine_2"    ],    "machine_types": [      "SMType"    ],    "machines": [      {        "id": "3d52ccc428a2a961eea74b30",        "name": "sm_machine_1",        "type": "SMType",        "type_id": "510bd9c3437d7a1c18e290de",        "display_name": "Sight Machine 1",        "title": "Sight Machine 1",        "factory": {          "id": "9b82d4248788f1331e1c1d40",          "name": "ETL3_sanfrancisco",          "display_name": "San Francisco"        }      },      {        "id": "b7f842f6dd4d6e9893556ded",        "name": "sm_machine_2",        "type": "SMType",        "type_id": "510bd9c3437d7a1c18e290de",        "display_name": "Sight Machine 2",        "title": "Sight Machine 2",        "factory": {          "id": "9b82d4248788f1331e1c1d40",          "name": "ETL3_sanfrancisco",          "display_name": "San Francisco"        }      }    ]  } }, ``` ### Page Link The following is the accepted mapping to populate the parameter for this picker: ```python {  "mapping": {    'asset': '{"machine_source": ["machine_name1", "machine_name2"]}'  } } ```