# operation: portal.choose-layers
Description: Allows the user to browse/search the application's associated portal for one or more layers. Web only.

Inputs: `ChooseLayersOptions`

ChooseLayersOptions properties:
```json
{
  "allowMultiple": {
    "description": "Whether the user can choose multiple layers, or just one. Default is `false`.",
    "type": "boolean"
  },
  "attributes": {
    "description": "Optional layout XML attributes to be used for the transient UI container."
  },
  "icon": {
    "description": "Optional icon that may be used by the transient UI container.",
    "type": "string"
  },
  "initialSource": {
    "description": "Optionally specify the source that will be initially selected. If specified this will overwrite the configured default in the Portal Model."
  },
  "layerFilterTags": {
    "description": "Optionally specify the tags by which the Choose Layer modal will filter out the displayed layers. If specified this will overwrite the configured default in the Portal Model.",
    "items": {
      "type": "string"
    },
    "type": "array"
  },
  "maps": {
    "description": "Map(s) to use for the command/operation."
  },
  "parent": {
    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
  },
  "sources": {
    "description": "Optionally specify the sources that we want to expose. If specified this will overwrite the configured default in the Portal Model.",
    "items": {
      "$ref": "#/definitions/Source"
    },
    "type": "array"
  }
}
```

Outputs: `ChooseLayersResult`

---
# operation: portal.create-or-update-item
Description: Creates or updates a portal item from the supplied data. Web only.

Inputs: `CreateOrUpdateItemArgs`

CreateOrUpdateItemArgs properties:
```json
{
  "data": {
    "description": "The JSON data associated with the item.",
    "isRequired": "true"
  },
  "promptForOverwrite": {
    "description": "Whether to prompt before overwriting an existing item. This must be set to `false` to allow overwriting if `showUI` is also `false`. Defaults to `true`.",
    "type": "boolean"
  },
  "showUI": {
    "description": "Whether to show UI elements associated with this operation. Defaults to `true`.",
    "type": "boolean"
  },
  "thumbnail": {
    "description": "The URL of a thumbnail for the item.",
    "type": "string"
  },
  "title": {
    "description": "The title of the resulting portal item. Must be provided if `showUI` is `false`.",
    "type": "string"
  },
  "type": {
    "description": "The portal type of the item.",
    "type": "string",
    "isRequired": "true"
  }
}
```

Outputs: `@arcgis.core.portal.PortalItem.PortalItem`

---
