---
schema_version: "1"
id: 0115fa254c7625d264cc55952f4a98eb77c0d2c10ba5dd470f020c1dca1c17e6
title: Parameter | Tableau Embedding API
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/api/embedding_api/reference/interfaces/Parameter.md
canonical_url: https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/Parameter.html
source_site: help.tableau.com
content_type: documentation
content_hash: 654e5f3e599f23329abc56fcd3875d5910a1d38463d7120d3f81162127632a46
description: Documentation for Tableau Embedding API
---
- Parameter

# Interface Parameter

Represents a parameter in Tableau and provides ways to introspect the parameter and change its values.

interface Parameter {  
    [allowableValues](#allowablevalues): [ParameterDomainRestriction](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ParameterDomainRestriction.html);  
    [currentValue](#currentvalue): [DataValue](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/DataValue.html);  
    [dataType](#datatype): [DataType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/DataType.html);  
    [id](#id): string;  
    [name](#name): string;  
    [changeValueAsync](#changevalueasync-1)(  
        newValue: string | number | boolean | Date,  
    ): Promise<[DataValue](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/DataValue.html)\>;  
}

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:7

##### Index

### Methods

[changeValueAsync](#changevalueasync)

### Properties

[allowableValues](#allowablevalues) [currentValue](#currentvalue) [dataType](#datatype) [id](#id) [name](#name)

## Methods

### changeValueAsync[](#changevalueasync)

- changeValueAsync(newValue: string | number | boolean | Date): Promise<[DataValue](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/DataValue.html)\>[](#changevalueasync-1)
    
    Modifies this parameter and assigns it a new value. The new value must fall within the domain restrictions defined by `allowableValues`. If the domain restriction is `ParameterValueType.Range`, be sure to check the `allowableValues` before assigning a new value. If the new value is out of range, the updated value will be set to either the `minValue` or the `maxValue` of the allowable range. If a step size is also specified and the new value does not fall on the step intervals, the updated value will be set to the closest, lower step, or closest, earlier date. If the domain restriction is type `ParameterValueType.List`, and there are aliases defined for the list, the aliased value should be passed to the method.
    
    #### Parameters
    
    - newValue: string | number | boolean | Date
        
        The new value to assign to this parameter.
        
        Note
        
        For changing `Date` parameters, UTC Date objects are expected.
    
    #### Returns Promise<[DataValue](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/DataValue.html)\>
    
    The updated `DataValue`. The promise is rejected if `newValue` is invalid. However, if the domain restriction is type `AllowableValuesType.Range`, and the `newValue` is out of the range bounds, the parameter gets set to the `minValue` or the `maxValue` of the range (whichever is closer). If the range has a `stepSize` or `dateStepPeriod`, the parameter gets set to the closest, lower step, or the closest, earlier date.
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:45

## Properties

### `Readonly`allowableValues[](#allowablevalues)

allowableValues: [ParameterDomainRestriction](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ParameterDomainRestriction.html)

#### Returns[](#returns)

The allowable set of values this parameter can take.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:23

### `Readonly`currentValue[](#currentvalue)

currentValue: [DataValue](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/DataValue.html)

#### Returns[](#returns-1)

DataValue representing the current value of the parameter.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:15

### `Readonly`dataType[](#datatype)

dataType: [DataType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/DataType.html)

#### Returns[](#returns-2)

The type of data this parameter holds.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:19

### `Readonly`id[](#id)

id: string

#### Returns[](#returns-3)

A unique identifier for this Parameter.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:27

### `Readonly`name[](#name)

name: string

#### Returns[](#returns-4)

The display name of this parameter.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/ParameterInterfaces.ts:11

### Settings

Member Visibility

- Protected
- Inherited
- External

ThemeOSLightDark

### On This Page

Methods

[changeValueAsync](#changevalueasync)

Properties

[allowableValues](#allowablevalues)[currentValue](#currentvalue)[dataType](#datatype)[id](#id)[name](#name)