> ## 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.

# importRestrictionResolve

> Mark an import restriction resolved once the merchant holds the permit, certificate or documentation it asks for. It then stops counting as restricted for every product that trips it, so those products are published again where the store hides restricted products. Resolving again replaces the note. Returns the restriction, or null without changing anything when `importRestriction` returns null for the id. Throws a 400 error with an extension code of IMPORT_RESTRICTION_NOT_RESOLVABLE unless every product trips it at ACTION_NEEDED, or INVALID_RESOLUTION_NOTE when the note is empty or longer than 2000 characters.

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

## Arguments

**id** `ID!` *required*

The id of the import restriction.

**note** `String!` *required*

What the merchant holds that satisfies the rule, such as a permit number.

## Returns

**importRestrictionResolve** `[ImportRestriction](/docs/api-reference/v3/reference/markets/import-restriction)`

An import rule of a destination country that screening found products in the catalog trip. Only rules found in the last 21 days, in countries of enabled markets with restriction screening on, are visible.

**fields**

**affectedProducts** `[ProductConnection!](/docs/api-reference/v3/pagination)` *required*

The products in the catalog that trip the rule.

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

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns products after it.

**before** `String`

Backward pagination cursor — returns products before it.

**first** `Int`

Forward pagination: returns the first N products (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N products (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**Fields**

**edges** `[\[ProductEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

**fields**

**cursor** `String!` *required*

Opaque cursor for this item; pass to `after`/`before` to page from here.

**node** `[Product!](/docs/api-reference/v3/reference/catalog/product)` *required*

The item at this edge.

**nodes** `[\[Product!\]!](/docs/api-reference/v3/reference/catalog/product)` *required*

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**fields**

**attribute** `[Attribute](/docs/api-reference/v3/reference/catalog/attribute)`

Look up a single attribute on this product by its name, if set.

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

**fields**

**Arguments**

**name** `String!` *required*

The machine name of the attribute to look up.

**attributes** `[\[Attribute!\]!](/docs/api-reference/v3/reference/catalog/attribute)` *required*

The merchant-defined attributes set on this product.

**barcodes** `[String!]!` *required*

Barcodes associated with this product.

**cost** `[Money](/docs/api-reference/v3/reference/common/money)`

The merchant's unit cost for the product.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was created.

**description** `String!` *required*

The product's long-form description.

**dimensions** `[Dimensions](/docs/api-reference/v3/reference/catalog/dimensions)`

The product's length, width, and height, expressed in a single shared unit.

**hsCode** `String`

The Harmonized System code used for customs.

**id** `ID!` *required*

The id of this product.

**image** `[ProductImage](/docs/api-reference/v3/reference/catalog/product-image)`

The first (default) image for this product, if any.

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

**images** `[ProductImageConnection!](/docs/api-reference/v3/pagination)` *required*

A paginated list of the product's images.

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

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.

**before** `String`

Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.

**first** `Int`

Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**importRestrictions** `[ProductImportRestrictionConnection!](/docs/api-reference/v3/pagination)` *required*

The import restrictions the product trips, one per destination country and rule. Only countries of enabled markets with restriction screening on are screened, and a restriction drops off 21 days after screening last found it.

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

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns import restrictions after it.

**before** `String`

Backward pagination cursor — returns import restrictions before it.

**first** `Int`

Forward pagination: returns the first N import restrictions (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N import restrictions (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**inventoryItems** `[InventoryItemConnection!](/docs/api-reference/v3/pagination)` *required*

Traceable inventory units for this product.

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

**fields**

**Arguments**

**after** `String`

**before** `String`

**first** `Int`

**last** `Int`

**inventoryLevel** `[LocationInventoryLevel](/docs/api-reference/v3/reference/inventory/location-inventory-level)`

This product's inventory level at a single location, if any.

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

**fields**

**Arguments**

**locationId** `ID!` *required*

The id of the location to fetch the level at.

**inventoryLevels** `[LocationInventoryLevelConnection!](/docs/api-reference/v3/pagination)` *required*

Per-location inventory levels for this product.

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

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.

**before** `String`

Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.

**first** `Int`

Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**marketPublishing** `[\[ProductMarketPublishing!\]](/docs/api-reference/v3/reference/markets/product-market-publishing)`

Publishing per destination country where the product trips an import restriction, or has a publish override. Only countries of enabled markets with restriction screening on are screened. Null when publishing can't be read.

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

**options** `[\[ProductOptionValue!\]!](/docs/api-reference/v3/reference/catalog/product-option-value)` *required*

The variant's selected option values (e.g. Size: M, Color: Red), ordered by the family's option positions.

**originCountry** `String`

The country of origin, as a country code.

**physicalItem** `Boolean!` *required*

Whether the product is a physical, shippable item.

**price** `[Money](/docs/api-reference/v3/reference/common/money)`

The product's selling price.

**productFamily** `[ProductFamily](/docs/api-reference/v3/reference/catalog/product-family)`

The product family this product belongs to, if any.

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

**sku** `String`

The stock keeping unit identifying this product.

**tags** `[String!]!` *required*

Free-form tags applied to the product.

**taxCode** `String`

The tax code used to classify the product for taxation.

**taxable** `Boolean!` *required*

Whether the product is subject to tax.

**title** `String!` *required*

The product's title.

**upc** `String`

The Universal Product Code for this product.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was last updated.

**vendor** `String`

The vendor or manufacturer of the product.

**weight** `[Weight](/docs/api-reference/v3/reference/catalog/weight)`

The product's weight.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**fields**

**endCursor** `String`

Cursor of the last edge in this page; pass to `after` to page forward.

**hasNextPage** `Boolean!` *required*

Whether more items exist after this page (drives forward pagination with `first`/`after`).

**hasPreviousPage** `Boolean!` *required*

Whether more items exist before this page (drives backward pagination with `last`/`before`).

**startCursor** `String`

Cursor of the first edge in this page; pass to `before` to page backward.

**category** `[ImportRestrictionCategory](/docs/api-reference/v3/reference/markets/import-restriction-category)`

The kind of rule. Null when the source does not say.

**countryCode** `[CountryCode!](/docs/api-reference/v3/reference/common/country-code)` *required*

The destination country that imposes the restriction.

**id** `ID!` *required*

The id of this import restriction.

**lastSeenAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When screening last found a product in the catalog tripping the rule.

**market** `[Market!](/docs/api-reference/v3/reference/markets/market)` *required*

The market that sells into the restriction's country.

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

**fields**

**breakdownDisplay** `[LandedCostBreakdownDisplay!](/docs/api-reference/v3/reference/markets/landed-cost-breakdown-display)` *required*

How uncharged landed-cost lines appear in the checkout breakdown.

**breakdownLabels** `[MarketBreakdownLabels!](/docs/api-reference/v3/reference/markets/market-breakdown-labels)` *required*

Custom labels for the checkout landed-cost breakdown.

**fields**

**dutiesAndFees** `String`

The label for the duties and fees line.

**shipping** `String`

The label for the shipping line.

**taxes** `String`

The label for the taxes line.

**countries** `[\[MarketCountry!\]!](/docs/api-reference/v3/reference/markets/market-country)` *required*

The destination countries this market sells into.

**fields**

**countryCode** `[CountryCode!](/docs/api-reference/v3/reference/common/country-code)` *required*

The destination country.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the country was added to the market.

**currency** `String`

The ISO 4217 currency shoppers in this country are charged in. Null until the country has been set up on the sales channel.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was last updated.

**coveredByMarkup** `[\[LandedCostComponent!\]!](/docs/api-reference/v3/reference/markets/landed-cost-component)` *required*

Landed-cost components whose checkout charge is absorbed by the markup, drawn down in order.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was created.

**enabled** `Boolean!` *required*

Whether the market's pricing is live.

**excludedFromCheckout** `[\[LandedCostComponent!\]!](/docs/api-reference/v3/reference/markets/landed-cost-component)` *required*

Landed-cost components neither charged nor shown at checkout.

**id** `ID!` *required*

The id of this market.

**includedInPrice** `[\[LandedCostComponent!\]!](/docs/api-reference/v3/reference/markets/landed-cost-component)` *required*

Landed-cost components baked into product prices.

**lastSyncedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When prices were last pushed to the sales channel. Null until the first sync.

**markup** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The markup on the base price, as a fraction (e.g. "0.1" for 10%).

**markupStrategy** `[MarketMarkupStrategy!](/docs/api-reference/v3/reference/markets/market-markup-strategy)` *required*

How the markup combines with the landed cost in the price.

**name** `String`

The merchant-set name. Null when unnamed; the countries then identify the market.

**pricingMode** `[MarketPricingMode!](/docs/api-reference/v3/reference/markets/market-pricing-mode)` *required*

How landed costs are turned into prices.

**shopCurrency** `String!` *required*

The ISO 4217 currency of the store's base prices, which the market's prices are converted from.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was last updated.

**regulationUrl** `String`

A link to the regulation or source the rule comes from, when known.

**resolutionNote** `String`

The note recorded when the rule was marked resolved. Null while open.

**resolvedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the rule was marked resolved. Null while open.

**resolvedBy** `[Actor](/docs/api-reference/v3/reference/common/actor)`

Who marked the rule resolved: a team member or an API token. Null while open, when an automation or a change before this field resolved it, or when the team member has left the team.

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

**status** `[ImportRestrictionStatus!](/docs/api-reference/v3/reference/markets/import-restriction-status)` *required*

Whether the merchant has marked the rule resolved.

**summary** `String!` *required*

A plain-language summary of what the rule requires.

**tier** `[ImportRestrictionTier!](/docs/api-reference/v3/reference/markets/import-restriction-tier)` *required*

The most severe tier at which any product in the catalog trips the rule.

## Example

```graphql theme={null}
mutation {
  importRestrictionResolve(id: "...", note: "...") {
    affectedProducts {
      nodes {
        barcodes
        createdAt
        description
        hsCode
        id
        originCountry
        physicalItem
        sku
        # ...
      }
      pageInfo { hasNextPage endCursor }
    }
    category
    countryCode
    id
    lastSeenAt
    regulationUrl
    resolutionNote
    resolvedAt
    # ...
  }
}
```


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