# Interface: StringWithOptionsSchema

Defined in: [schema.ts:795](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L795)

A schema representing a value with selectable options.

## Extends

- `BaseStringSchema`\<[`SelectList`](../../enumerations/ValueHintType/#selectlist)>.`PropertyWithAutocompleteWithOptionalDisplay`\<`string`>

## Properties

### allowNewValues?

> `optional` **allowNewValues**: `boolean`

Defined in: [schema.ts:802](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L802)

Allow custom, user-entered strings in addition to [PropertyWithOptions.options](../PropertyWithOptions/#options).

______________________________________________________________________

### codaType

> **codaType**: [`SelectList`](../../enumerations/ValueHintType/#selectlist)

Defined in: [schema.ts:799](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L799)

Instructs Coda to render this value as a select list.

#### Overrides

`BaseStringSchema.codaType`

______________________________________________________________________

### description?

> `optional` **description**: `string`

Defined in: [schema.ts:285](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L285)

A explanation of this object schema property shown to the user in the UI.

If your pack has an object schema with many properties, it may be useful to explain the purpose or contents of any property that is not self-evident.

#### Inherited from

`BaseStringSchema.description`

______________________________________________________________________

### options?

> `optional` **options**: [`PropertySchemaOptions`](../../type-aliases/PropertySchemaOptions/)\<`string` | { `display`: `string`; `value`: `string`; }>

Defined in: [schema.ts:264](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L264)

A list of values or a formula that returns a list of values to suggest when someone edits this property.

#### Example

```
properties: {
  color: {
     type: sdk.ValueType.String,
     codaType: sdk.ValueHintType.SelectList,
     mutable: true,
     options: ['red', 'green', 'blue'],
  },
  user: {
     type: sdk.ValueType.String,
     codaType: sdk.ValueHintType.SelectList,
     mutable: true,
     options: async function (context) {
       let url = sdk.withQueryParams("https://example.com/userSearch", { name: context.search });
       let response = await context.fetcher.fetch({ method: "GET", url: url });
       let results = response.body.users;
       return results.map(user => {display: user.name, value: user.id})
     },
  },
}
```

#### Inherited from

`PropertyWithAutocompleteWithOptionalDisplay.options`

______________________________________________________________________

### requireForUpdates?

> `optional` **requireForUpdates**: `boolean`

Defined in: [schema.ts:271](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L271)

Blocks updates from being sent with a blank value.

#### Inherited from

`PropertyWithAutocompleteWithOptionalDisplay.requireForUpdates`

______________________________________________________________________

### type

> **type**: [`String`](../../enumerations/ValueType/#string)

Defined in: [schema.ts:807](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/schema.ts#L807)

Identifies this schema as a string.

#### Inherited from

`BaseStringSchema.type`
