***

title: "ConfigArgs"
generated: true
---------------

<GenerationInfo sourceFile="packages/core/src/common/configurable-operation.ts" sourceLine="140" packageName="@vendure/core" />

A object which defines the configurable arguments which may be passed to
functions in those classes which implement the [ConfigurableOperationDef](/current/core/reference/typescript-api/configurable-operation-def/#configurableoperationdef) interface.

## Data types

Each argument has a data type, which must be one of [ConfigArgType](/current/core/reference/typescript-api/configurable-operation-def/config-arg-type#configargtype).

*Example*

```ts
{
  apiKey: { type: 'string' },
  maxRetries: { type: 'int' },
  logErrors: { type: 'boolean' },
}
```

## Lists

Setting the `list` property to `true` will make the argument into an array of the specified
data type. For example, if you want to store an array of strings:

*Example*

```ts
{
  aliases: {
    type: 'string',
    list: true,
  },
}
```

In the Admin UI, this will be rendered as an orderable list of string inputs.

## UI Component

The `ui` field allows you to specify a specific input component to be used in the Admin UI.
When not set, a default input component is used appropriate to the data type.

*Example*

```ts
{
  operator: {
    type: 'string',
    ui: {
      component: 'select-form-input',
      options: [
        { value: 'startsWith' },
        { value: 'endsWith' },
        { value: 'contains' },
        { value: 'doesNotContain' },
      ],
    },
  },
  secretKey: {
    type: 'string',
    ui: { component: 'password-form-input' },
  },
}
```

The available components as well as their configuration options can be found in the [DefaultFormConfigHash](/current/core/reference/typescript-api/configurable-operation-def/default-form-config-hash#defaultformconfighash) docs.
Custom UI components may also be defined via an Admin UI extension using the `registerFormInputComponent()` function
which is exported from `@vendure/admin-ui/core`.

```ts title="Signature"
type ConfigArgs = {
    [name: string]: ConfigArgDef<ConfigArgType>;
}
```

<div className="members-wrapper">

### \[index]

\<MemberInfo kind="property" type={`ConfigArgDef<<a href='/current/core/reference/typescript-api/configurable-operation-def/config-arg-type#configargtype'>ConfigArgType</a>>`}   />

</div>
