> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MarketListingExtensionCode

> What is needed to write or edit a market's listing extension: the market listing contract, starter code, a sample input, and optionally one market's current code.

**Required scopes:** [`markets_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-markets_read)

**contractId** `String!` *required*

The market listing contract every listing extension is checked against.

**marketCode** `String`

The requested market's current listing extension source. Null when no market was requested or the market has no listing extension.

**sampleInput** `String!` *required*

A representative `Input` value as JSON: one variant in one destination country, with the price and listing decision Redo calculated.

**starterCode** `String!` *required*

A minimal working listing extension to start from.

**typeDefinitions** `String!` *required*

TypeScript declarations of the contract's `Input` and `Output`. Code that does not type-check against these is rejected by upsertMarket.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.