[**@wocart/storefront v3.1.0**](../../README)

***

[@wocart/storefront](../../README) / [index](../README) / DomainError

# Interface: DomainError

The error shape every SDK failure normalizes to. Keeping
category, retry safety, and side-effect outcome together prevents a generic
retry from duplicating orders, OTP requests, reviews, or abandonment writes.

## Properties

### category

> `readonly` **category**: [`DomainErrorCategory`](../type-aliases/DomainErrorCategory)

***

### code

> `readonly` **code**: `string`

***

### fieldIssues?

> `readonly` `optional` **fieldIssues?**: readonly [`DomainFieldIssue`](DomainFieldIssue)[]

***

### message

> `readonly` **message**: `string`

***

### operation

> `readonly` **operation**: `string`

***

### requestId?

> `readonly` `optional` **requestId?**: `string`

Correlation id the server logged this failure under (`context.requestId`).
The only diagnostic a theme may safely surface — it never carries customer
data, and it is how a support request is traced back to one server log line.

***

### retryable

> `readonly` **retryable**: `boolean`

***

### retryAfterSeconds?

> `readonly` `optional` **retryAfterSeconds?**: `number`

***

### sideEffect

> `readonly` **sideEffect**: [`SideEffectOutcome`](../type-aliases/SideEffectOutcome)
