# update_listing

Update a channel listing with partial fields, including its availability window (attributes and/or relationships).

<!-- INPUT_BLOCK_START -->

## Input

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `listingId` | `string` | Yes | The ID of the channel listing |
| `workspaceId` | `string` | Yes | The workspace ID |
| `attributes` | `UpdateListingAttributes` | No | Listing attributes to update, including availabilityWindowStartsOn and availabilityWindowEndsOn. Supply both dates to set a window, or set both to null to clear it. - [UpdateListingAttributes](#updatelistingattributes) |
| `relationships` | `unknown` | No | Listing relationships to update (e.g., account, channelCancellationPolicy, paymentGateway, propertyCollections) |

### UpdateListingAttributes

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `availabilityWindowStartsOn` | `string \| null` | No | Inclusive start of the OTA availability window (YYYY-MM-DD), or null to clear the window |
| `availabilityWindowEndsOn` | `string \| null` | No | Inclusive end of the OTA availability window (YYYY-MM-DD), or null to clear the window. This date must be on or after the corresponding start date. The LVDAM API requires the end date of a first window to be in the future; an existing window may be shortened into the past. |

<!-- INPUT_BLOCK_END -->

<!-- OUTPUT_BLOCK_START -->

## Output

| Field | Type | Description |
| --- | --- | --- |
| `content` | `ContentItem[]` | Array of content items returned by the tool - [ContentItem](#contentitem) |
| `isError` | `boolean` | Whether the tool execution resulted in an error |

### ContentItem

| Field | Type | Description |
| --- | --- | --- |
| `type` | `'text'` | Content type (currently only 'text' is supported) |
| `text` | `string` | The text content to display |

<!-- OUTPUT_BLOCK_END -->
