{
  "openapi": "3.2.0",
  "info": {
    "title": "Prood Commerce API",
    "version": "1.0.0",
    "description": "Multi-tenant commerce HTTP API. Authenticate with `x-api-key` (org + scopes in key metadata), Agent Auth (Bearer JWT + capability grants), a Better Auth session cookie (dashboard), or resolve the tenant from the request `Host`. Agent discovery: `/.well-known/agent-configuration`."
  },
  "servers": [
    {
      "url": "https://prood.com/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Organization-scoped API key with scope metadata."
      },
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Agent Auth JWT with capability grants."
      },
      "sessionCookie": {
        "type": "apiKey",
        "in": "cookie",
        "name": "better-auth.session_token",
        "description": "Better Auth session (first-party dashboard)"
      },
      "storefrontHost": {
        "type": "apiKey",
        "in": "header",
        "name": "x-storefront-host",
        "description": "Storefront tenant host for storefront-scoped calls."
      },
      "checkoutSecret": {
        "type": "apiKey",
        "in": "header",
        "name": "x-checkout-secret",
        "description": "Shared secret used by the checkout service for payment webhook forwarding."
      },
      "stripeSignature": {
        "type": "apiKey",
        "in": "header",
        "name": "stripe-signature",
        "description": "Stripe webhook signature for direct Stripe callbacks."
      }
    }
  },
  "paths": {
    "/health": {
      "get": {
        "operationId": "getHealth",
        "summary": "Health check",
        "tags": [
          "Storefront"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "const": "ok"
                    }
                  },
                  "required": [
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/me": {
      "get": {
        "operationId": "getMe",
        "summary": "Resolved caller (tenant + scopes)",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "organizationId": {
                      "type": "string"
                    },
                    "scopes": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "storefront",
                          "staff",
                          "admin"
                        ]
                      }
                    },
                    "via": {
                      "type": "string",
                      "enum": [
                        "api-key",
                        "session",
                        "host",
                        "agent"
                      ]
                    }
                  },
                  "required": [
                    "organizationId",
                    "scopes",
                    "via"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/products": {
      "get": {
        "operationId": "listProducts",
        "summary": "Search / list products",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "sku": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              "slug": {
                                "type": "string"
                              },
                              "description": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "shortDescription": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "price": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      },
                                      "originalAmount": {
                                        "type": "number"
                                      },
                                      "discountPercent": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "primaryImage": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string"
                                      },
                                      "alt": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      },
                                      "height": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "alt"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "gallery": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "url": {
                                      "type": "string"
                                    },
                                    "alt": {
                                      "type": "string"
                                    },
                                    "width": {
                                      "type": "number"
                                    },
                                    "height": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "url",
                                    "alt"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "rating": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "average": {
                                        "type": "number"
                                      },
                                      "count": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "average",
                                      "count"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "variants": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "sku": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "name": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "price": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "amount": {
                                              "type": "number"
                                            },
                                            "currency": {
                                              "type": "string"
                                            },
                                            "formatted": {
                                              "type": "string"
                                            },
                                            "originalAmount": {
                                              "type": "number"
                                            },
                                            "discountPercent": {
                                              "type": "number"
                                            }
                                          },
                                          "required": [
                                            "amount",
                                            "currency",
                                            "formatted"
                                          ],
                                          "additionalProperties": false
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "inStock": {
                                      "type": "boolean"
                                    },
                                    "inventoryQuantity": {
                                      "type": [
                                        "number",
                                        "null"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "sku",
                                    "name",
                                    "price",
                                    "inStock",
                                    "inventoryQuantity"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "attributes": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "code": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    "value": {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "required": [
                                    "code",
                                    "name",
                                    "value"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "quantityLimit": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "categories": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    "slug": {
                                      "type": "string"
                                    },
                                    "description": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "image": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "url": {
                                              "type": "string"
                                            },
                                            "alt": {
                                              "type": "string"
                                            },
                                            "width": {
                                              "type": "number"
                                            },
                                            "height": {
                                              "type": "number"
                                            }
                                          },
                                          "required": [
                                            "url",
                                            "alt"
                                          ],
                                          "additionalProperties": false
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "parentId": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "productCount": {
                                      "type": [
                                        "number",
                                        "null"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "slug",
                                    "description",
                                    "image",
                                    "parentId",
                                    "productCount"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "inStock": {
                                "type": "boolean"
                              },
                              "vatIncluded": {
                                "type": "boolean"
                              },
                              "vatRate": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "tags": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "updatedAt": {
                                "type": "string"
                              },
                              "productType": {
                                "type": "string",
                                "enum": [
                                  "physical",
                                  "digital",
                                  "service",
                                  "event",
                                  "subscription"
                                ]
                              },
                              "requiresShipping": {
                                "type": "boolean"
                              },
                              "isDropshipped": {
                                "type": "boolean"
                              },
                              "status": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "required": [
                              "id",
                              "sku",
                              "name",
                              "slug",
                              "description",
                              "shortDescription",
                              "price",
                              "primaryImage",
                              "gallery",
                              "rating",
                              "variants",
                              "attributes",
                              "quantityLimit",
                              "categories",
                              "inStock",
                              "vatIncluded",
                              "vatRate",
                              "tags",
                              "createdAt",
                              "updatedAt",
                              "productType",
                              "requiresShipping",
                              "isDropshipped",
                              "status"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "total": {
                          "type": "number"
                        },
                        "page": {
                          "type": "number"
                        },
                        "perPage": {
                          "type": "number"
                        },
                        "hasMore": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "items",
                        "total",
                        "page",
                        "perPage",
                        "hasMore"
                      ],
                      "additionalProperties": false
                    },
                    "facets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "code": {
                            "type": "string"
                          },
                          "values": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "label": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "value": {
                                  "type": "string"
                                },
                                "count": {
                                  "type": "number"
                                },
                                "selected": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "label",
                                "value",
                                "count",
                                "selected"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "name",
                          "code",
                          "values"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "suggestions": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "products",
                    "facets",
                    "suggestions"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/products/{id}": {
      "get": {
        "operationId": "getProduct",
        "summary": "Get product by id",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shortDescription": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            },
                            "originalAmount": {
                              "type": "number"
                            },
                            "discountPercent": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "primaryImage": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "gallery": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          },
                          "width": {
                            "type": "number"
                          },
                          "height": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "url",
                          "alt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "average": {
                              "type": "number"
                            },
                            "count": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "average",
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "inventoryQuantity": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "price",
                          "inStock",
                          "inventoryQuantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "value": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quantityLimit": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "parentId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "productCount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "description",
                          "image",
                          "parentId",
                          "productCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "vatIncluded": {
                      "type": "boolean"
                    },
                    "vatRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "productType": {
                      "type": "string",
                      "enum": [
                        "physical",
                        "digital",
                        "service",
                        "event",
                        "subscription"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "isDropshipped": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "sku",
                    "name",
                    "slug",
                    "description",
                    "shortDescription",
                    "price",
                    "primaryImage",
                    "gallery",
                    "rating",
                    "variants",
                    "attributes",
                    "quantityLimit",
                    "categories",
                    "inStock",
                    "vatIncluded",
                    "vatRate",
                    "tags",
                    "createdAt",
                    "updatedAt",
                    "productType",
                    "requiresShipping",
                    "isDropshipped",
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/products/by-slug/{slug}": {
      "get": {
        "operationId": "getProductBySlug",
        "summary": "Get product by URL slug",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shortDescription": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            },
                            "originalAmount": {
                              "type": "number"
                            },
                            "discountPercent": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "primaryImage": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "gallery": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          },
                          "width": {
                            "type": "number"
                          },
                          "height": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "url",
                          "alt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "average": {
                              "type": "number"
                            },
                            "count": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "average",
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "inventoryQuantity": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "price",
                          "inStock",
                          "inventoryQuantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "value": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quantityLimit": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "parentId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "productCount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "description",
                          "image",
                          "parentId",
                          "productCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "vatIncluded": {
                      "type": "boolean"
                    },
                    "vatRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "productType": {
                      "type": "string",
                      "enum": [
                        "physical",
                        "digital",
                        "service",
                        "event",
                        "subscription"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "isDropshipped": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "sku",
                    "name",
                    "slug",
                    "description",
                    "shortDescription",
                    "price",
                    "primaryImage",
                    "gallery",
                    "rating",
                    "variants",
                    "attributes",
                    "quantityLimit",
                    "categories",
                    "inStock",
                    "vatIncluded",
                    "vatRate",
                    "tags",
                    "createdAt",
                    "updatedAt",
                    "productType",
                    "requiresShipping",
                    "isDropshipped",
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Product not found",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/categories": {
      "get": {
        "operationId": "listCategories",
        "summary": "List categories",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "parentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depth",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "slug": {
                        "type": "string"
                      },
                      "description": {
                        "anyOf": [
                          {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "image": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string"
                              },
                              "alt": {
                                "type": "string"
                              },
                              "width": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "url",
                              "alt"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "parentId": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "productCount": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "slug",
                      "description",
                      "image",
                      "parentId",
                      "productCount"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/store": {
      "get": {
        "operationId": "getStore",
        "summary": "Store metadata",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "logo": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "currencies": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "symbol": {
                            "type": "string"
                          },
                          "isDefault": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "code",
                          "symbol",
                          "isDefault"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "locales": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "direction": {
                            "type": "string",
                            "enum": [
                              "ltr",
                              "rtl"
                            ]
                          },
                          "isDefault": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "direction",
                          "isDefault"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "country": {
                      "type": "string"
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "canTakeOrders": {
                      "type": "boolean",
                      "description": "True when a payment provider is connected, or when that couldn't be checked. Paid orders are refused without one, whatever this says."
                    },
                    "paymentMethods": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "card",
                          "multibanco",
                          "mbway"
                        ]
                      },
                      "description": "How shoppers can pay, from the provider the store's checkout uses. Empty when that can't be read."
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "logo",
                    "currencies",
                    "locales",
                    "country",
                    "contactEmail",
                    "canTakeOrders",
                    "paymentMethods"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/countries": {
      "get": {
        "operationId": "listCountries",
        "summary": "Countries (shared reference data)",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string"
                      },
                      "iso3": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "name": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "flag": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "callingCode": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "currency": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "capital": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "code",
                      "iso3",
                      "name",
                      "flag",
                      "callingCode",
                      "currency",
                      "capital"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts": {
      "post": {
        "operationId": "createCart",
        "summary": "Create cart",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "responses": {
          "201": {
            "description": "Cart created",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}": {
      "get": {
        "operationId": "getCart",
        "summary": "Get cart",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}/items": {
      "post": {
        "operationId": "addCartItem",
        "summary": "Add cart item",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Item added",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "variantId": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "productId",
                  "quantity"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/carts/{id}/items/{itemId}": {
      "patch": {
        "operationId": "updateCartItem",
        "summary": "Update cart item quantity",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "quantity": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "quantity"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeCartItem",
        "summary": "Remove cart item",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}/coupon": {
      "post": {
        "operationId": "applyCartCoupon",
        "summary": "Apply coupon",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "code"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeCartCoupon",
        "summary": "Remove coupon",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}/shipping-methods": {
      "get": {
        "operationId": "listCartShippingMethods",
        "summary": "List shipping methods for cart",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "provider": {
                        "type": "string"
                      },
                      "fulfillmentType": {
                        "type": "string",
                        "enum": [
                          "shipping",
                          "local_delivery",
                          "pickup"
                        ]
                      },
                      "estimatedDays": {
                        "type": "object",
                        "properties": {
                          "min": {
                            "type": "number"
                          },
                          "max": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "min",
                          "max"
                        ],
                        "additionalProperties": false
                      },
                      "price": {
                        "type": "object",
                        "properties": {
                          "amount": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "formatted": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "amount",
                          "currency",
                          "formatted"
                        ],
                        "additionalProperties": false
                      },
                      "cashOnDelivery": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "provider",
                      "fulfillmentType",
                      "estimatedDays",
                      "price",
                      "cashOnDelivery"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}/payment-methods": {
      "get": {
        "operationId": "listCartPaymentMethods",
        "summary": "List payment methods for cart",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "name": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "provider": {
                        "type": "string"
                      },
                      "installments": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "count": {
                                "type": "number"
                              },
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "count",
                              "amount",
                              "currency"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "icon": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "type",
                      "name",
                      "provider",
                      "installments",
                      "icon"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Cart not found",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/carts/{id}/shipping-address": {
      "put": {
        "operationId": "setCartShippingAddress",
        "summary": "Set shipping address",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "phone": {
                    "type": "string"
                  },
                  "street": {
                    "type": "string",
                    "minLength": 1
                  },
                  "street2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "minLength": 1
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string",
                    "minLength": 1
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "firstName",
                  "lastName",
                  "street",
                  "city",
                  "country"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/carts/{id}/billing-address": {
      "put": {
        "operationId": "setCartBillingAddress",
        "summary": "Set billing address",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "phone": {
                    "type": "string"
                  },
                  "street": {
                    "type": "string",
                    "minLength": 1
                  },
                  "street2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "minLength": 1
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string",
                    "minLength": 1
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "firstName",
                  "lastName",
                  "street",
                  "city",
                  "country"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/carts/{id}/shipping-method": {
      "patch": {
        "operationId": "setCartShippingMethod",
        "summary": "Select shipping method",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "productSlug": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              },
                              "originalAmount": {
                                "type": "number"
                              },
                              "discountPercent": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "couponError": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "couponCode",
                    "couponError",
                    "requiresShipping",
                    "customerId",
                    "itemCount",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "methodId": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "methodId"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/carts/{id}/place-order": {
      "post": {
        "operationId": "placeOrder",
        "summary": "Place order from cart",
        "description": "Guests must send an email; a signed-in customer doesn't need to.",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Order created",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "placed",
                        "approved",
                        "fulfilled",
                        "cancelled"
                      ]
                    },
                    "paymentStatus": {
                      "type": "string",
                      "enum": [
                        "unpaid",
                        "authorized",
                        "paid",
                        "partially_refunded",
                        "refunded",
                        "voided",
                        "free"
                      ]
                    },
                    "fulfillmentStatus": {
                      "type": "string",
                      "enum": [
                        "unfulfilled",
                        "in_progress",
                        "fulfilled",
                        "not_required"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "partially_fulfilled",
                              "fulfilled",
                              "returned",
                              "download_ready",
                              "license_sent",
                              "access_granted",
                              "ticket_issued"
                            ]
                          },
                          "productType": {
                            "type": "string",
                            "enum": [
                              "physical",
                              "digital",
                              "service",
                              "event",
                              "subscription"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "variantName",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice",
                          "fulfillmentStatus",
                          "productType"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentProvider": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentTransactionId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentDetails": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "enum": [
                                "card",
                                "multibanco",
                                "mbway"
                              ]
                            },
                            "entity": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "reference": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "expiresAt": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "method",
                            "entity",
                            "reference",
                            "expiresAt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingNumber": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingUrl": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "placedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "approvedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "cancelledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fulfilledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "orderNumber",
                    "status",
                    "paymentStatus",
                    "fulfillmentStatus",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "paymentProvider",
                    "paymentTransactionId",
                    "paymentDetails",
                    "couponCode",
                    "trackingNumber",
                    "trackingUrl",
                    "note",
                    "customerId",
                    "contactEmail",
                    "requiresShipping",
                    "placedAt",
                    "approvedAt",
                    "cancelledAt",
                    "fulfilledAt",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "409": {
            "description": "`ORDERS_UNAVAILABLE`: the store has no usable payment provider, or reached its monthly order limit",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "`VALIDATION`: the request or cart is invalid, or `providerId` isn't connected to this store",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email",
                    "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                  },
                  "providerId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/orders": {
      "get": {
        "operationId": "listOrders",
        "summary": "List customer orders",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "orderNumber": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "placed",
                              "approved",
                              "fulfilled",
                              "cancelled"
                            ]
                          },
                          "paymentStatus": {
                            "type": "string",
                            "enum": [
                              "unpaid",
                              "authorized",
                              "paid",
                              "partially_refunded",
                              "refunded",
                              "voided",
                              "free"
                            ]
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "in_progress",
                              "fulfilled",
                              "not_required"
                            ]
                          },
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "productId": {
                                  "type": "string"
                                },
                                "variantId": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "variantName": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "image": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "url": {
                                          "type": "string"
                                        },
                                        "alt": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        },
                                        "height": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "url",
                                        "alt"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "quantity": {
                                  "type": "number"
                                },
                                "price": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "totalPrice": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "fulfillmentStatus": {
                                  "type": "string",
                                  "enum": [
                                    "unfulfilled",
                                    "partially_fulfilled",
                                    "fulfilled",
                                    "returned",
                                    "download_ready",
                                    "license_sent",
                                    "access_granted",
                                    "ticket_issued"
                                  ]
                                },
                                "productType": {
                                  "type": "string",
                                  "enum": [
                                    "physical",
                                    "digital",
                                    "service",
                                    "event",
                                    "subscription"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "productId",
                                "variantId",
                                "name",
                                "variantName",
                                "image",
                                "quantity",
                                "price",
                                "totalPrice",
                                "fulfillmentStatus",
                                "productType"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "totals": {
                            "type": "object",
                            "properties": {
                              "subtotal": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              "shipping": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "tax": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "discount": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "total": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "required": [
                              "subtotal",
                              "shipping",
                              "tax",
                              "discount",
                              "total"
                            ],
                            "additionalProperties": false
                          },
                          "shippingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "billingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "shippingMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "fulfillmentType": {
                                    "type": "string",
                                    "enum": [
                                      "shipping",
                                      "local_delivery",
                                      "pickup"
                                    ]
                                  },
                                  "estimatedDays": {
                                    "type": "object",
                                    "properties": {
                                      "min": {
                                        "type": "number"
                                      },
                                      "max": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "min",
                                      "max"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "price": {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "cashOnDelivery": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "id",
                                  "name",
                                  "provider",
                                  "fulfillmentType",
                                  "estimatedDays",
                                  "price",
                                  "cashOnDelivery"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "installments": {
                                    "anyOf": [
                                      {
                                        "type": "object",
                                        "properties": {
                                          "count": {
                                            "type": "number"
                                          },
                                          "amount": {
                                            "type": "number"
                                          },
                                          "currency": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "count",
                                          "amount",
                                          "currency"
                                        ],
                                        "additionalProperties": false
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "icon": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "id",
                                  "type",
                                  "name",
                                  "provider",
                                  "installments",
                                  "icon"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentProvider": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentTransactionId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentDetails": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "method": {
                                    "type": "string",
                                    "enum": [
                                      "card",
                                      "multibanco",
                                      "mbway"
                                    ]
                                  },
                                  "entity": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "reference": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "expiresAt": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "method",
                                  "entity",
                                  "reference",
                                  "expiresAt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "couponCode": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingNumber": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "customerId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "contactEmail": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "requiresShipping": {
                            "type": "boolean"
                          },
                          "placedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "approvedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "cancelledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fulfilledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "orderNumber",
                          "status",
                          "paymentStatus",
                          "fulfillmentStatus",
                          "items",
                          "totals",
                          "shippingAddress",
                          "billingAddress",
                          "shippingMethod",
                          "paymentMethod",
                          "paymentProvider",
                          "paymentTransactionId",
                          "paymentDetails",
                          "couponCode",
                          "trackingNumber",
                          "trackingUrl",
                          "note",
                          "customerId",
                          "contactEmail",
                          "requiresShipping",
                          "placedAt",
                          "approvedAt",
                          "cancelledAt",
                          "fulfilledAt",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "perPage": {
                      "type": "number"
                    },
                    "hasMore": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "items",
                    "total",
                    "page",
                    "perPage",
                    "hasMore"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}": {
      "get": {
        "operationId": "getOrder",
        "summary": "Get order by id",
        "description": "The order's address, payment and contact details need the customer who placed it or a store member. The email it was placed with adds the payment details a guest needs to pay.",
        "tags": [
          "Storefront"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          },
          {
            "storefrontHost": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "placed",
                        "approved",
                        "fulfilled",
                        "cancelled"
                      ]
                    },
                    "paymentStatus": {
                      "type": "string",
                      "enum": [
                        "unpaid",
                        "authorized",
                        "paid",
                        "partially_refunded",
                        "refunded",
                        "voided",
                        "free"
                      ]
                    },
                    "fulfillmentStatus": {
                      "type": "string",
                      "enum": [
                        "unfulfilled",
                        "in_progress",
                        "fulfilled",
                        "not_required"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "partially_fulfilled",
                              "fulfilled",
                              "returned",
                              "download_ready",
                              "license_sent",
                              "access_granted",
                              "ticket_issued"
                            ]
                          },
                          "productType": {
                            "type": "string",
                            "enum": [
                              "physical",
                              "digital",
                              "service",
                              "event",
                              "subscription"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "variantName",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice",
                          "fulfillmentStatus",
                          "productType"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentProvider": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentTransactionId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentDetails": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "enum": [
                                "card",
                                "multibanco",
                                "mbway"
                              ]
                            },
                            "entity": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "reference": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "expiresAt": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "method",
                            "entity",
                            "reference",
                            "expiresAt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingNumber": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingUrl": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "placedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "approvedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "cancelledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fulfilledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "orderNumber",
                    "status",
                    "paymentStatus",
                    "fulfillmentStatus",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "paymentProvider",
                    "paymentTransactionId",
                    "paymentDetails",
                    "couponCode",
                    "trackingNumber",
                    "trackingUrl",
                    "note",
                    "customerId",
                    "contactEmail",
                    "requiresShipping",
                    "placedAt",
                    "approvedAt",
                    "cancelledAt",
                    "fulfilledAt",
                    "createdAt",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/products": {
      "get": {
        "operationId": "adminListProducts",
        "summary": "List products (admin)",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 200
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "shortDescription": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "primaryImage": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "gallery": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string"
                                },
                                "alt": {
                                  "type": "string"
                                },
                                "width": {
                                  "type": "number"
                                },
                                "height": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "url",
                                "alt"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "rating": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "average": {
                                    "type": "number"
                                  },
                                  "count": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "average",
                                  "count"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "variants": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "sku": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "price": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "amount": {
                                          "type": "number"
                                        },
                                        "currency": {
                                          "type": "string"
                                        },
                                        "formatted": {
                                          "type": "string"
                                        },
                                        "originalAmount": {
                                          "type": "number"
                                        },
                                        "discountPercent": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "amount",
                                        "currency",
                                        "formatted"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "inStock": {
                                  "type": "boolean"
                                },
                                "inventoryQuantity": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "sku",
                                "name",
                                "price",
                                "inStock",
                                "inventoryQuantity"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "attributes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "code": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "value": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "code",
                                "name",
                                "value"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "quantityLimit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "categories": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "slug": {
                                  "type": "string"
                                },
                                "description": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "image": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "url": {
                                          "type": "string"
                                        },
                                        "alt": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        },
                                        "height": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "url",
                                        "alt"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "parentId": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "productCount": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "name",
                                "slug",
                                "description",
                                "image",
                                "parentId",
                                "productCount"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "vatIncluded": {
                            "type": "boolean"
                          },
                          "vatRate": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          },
                          "productType": {
                            "type": "string",
                            "enum": [
                              "physical",
                              "digital",
                              "service",
                              "event",
                              "subscription"
                            ]
                          },
                          "requiresShipping": {
                            "type": "boolean"
                          },
                          "isDropshipped": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "slug",
                          "description",
                          "shortDescription",
                          "price",
                          "primaryImage",
                          "gallery",
                          "rating",
                          "variants",
                          "attributes",
                          "quantityLimit",
                          "categories",
                          "inStock",
                          "vatIncluded",
                          "vatRate",
                          "tags",
                          "createdAt",
                          "updatedAt",
                          "productType",
                          "requiresShipping",
                          "isDropshipped",
                          "status"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "perPage": {
                      "type": "number"
                    },
                    "hasMore": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "items",
                    "total",
                    "page",
                    "perPage",
                    "hasMore"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "adminCreateProduct",
        "summary": "Create product",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "201": {
            "description": "Product created",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shortDescription": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            },
                            "originalAmount": {
                              "type": "number"
                            },
                            "discountPercent": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "primaryImage": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "gallery": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          },
                          "width": {
                            "type": "number"
                          },
                          "height": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "url",
                          "alt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "average": {
                              "type": "number"
                            },
                            "count": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "average",
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "inventoryQuantity": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "price",
                          "inStock",
                          "inventoryQuantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "value": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quantityLimit": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "parentId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "productCount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "description",
                          "image",
                          "parentId",
                          "productCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "vatIncluded": {
                      "type": "boolean"
                    },
                    "vatRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "productType": {
                      "type": "string",
                      "enum": [
                        "physical",
                        "digital",
                        "service",
                        "event",
                        "subscription"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "isDropshipped": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "sku",
                    "name",
                    "slug",
                    "description",
                    "shortDescription",
                    "price",
                    "primaryImage",
                    "gallery",
                    "rating",
                    "variants",
                    "attributes",
                    "quantityLimit",
                    "categories",
                    "inStock",
                    "vatIncluded",
                    "vatRate",
                    "tags",
                    "createdAt",
                    "updatedAt",
                    "productType",
                    "requiresShipping",
                    "isDropshipped",
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "shortDescription": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "price": {
                    "type": "number"
                  },
                  "compareAtPrice": {
                    "type": "number"
                  },
                  "sku": {
                    "type": "string"
                  },
                  "productType": {
                    "type": "string",
                    "enum": [
                      "physical",
                      "digital",
                      "service",
                      "event",
                      "subscription"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "archived"
                    ]
                  },
                  "inStock": {
                    "type": "boolean"
                  },
                  "inventoryQuantity": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "quantityLimit": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "vatIncluded": {
                    "type": "boolean"
                  },
                  "vatRate": {
                    "type": "number"
                  },
                  "requiresShipping": {
                    "type": "boolean"
                  },
                  "isDropshipped": {
                    "type": "boolean"
                  },
                  "categories": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "altText": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        "isPrimary": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sku": {
                          "type": "string"
                        },
                        "name": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "price": {
                          "type": "number"
                        },
                        "compareAtPrice": {
                          "type": "number"
                        },
                        "inStock": {
                          "type": "boolean"
                        },
                        "inventoryQuantity": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        "sortOrder": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "name": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "value": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "code",
                        "name",
                        "value"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/products/{id}": {
      "get": {
        "operationId": "adminGetProduct",
        "summary": "Get product (admin)",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shortDescription": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            },
                            "originalAmount": {
                              "type": "number"
                            },
                            "discountPercent": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "primaryImage": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "gallery": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          },
                          "width": {
                            "type": "number"
                          },
                          "height": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "url",
                          "alt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "average": {
                              "type": "number"
                            },
                            "count": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "average",
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "inventoryQuantity": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "price",
                          "inStock",
                          "inventoryQuantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "value": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quantityLimit": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "parentId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "productCount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "description",
                          "image",
                          "parentId",
                          "productCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "vatIncluded": {
                      "type": "boolean"
                    },
                    "vatRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "productType": {
                      "type": "string",
                      "enum": [
                        "physical",
                        "digital",
                        "service",
                        "event",
                        "subscription"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "isDropshipped": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "sku",
                    "name",
                    "slug",
                    "description",
                    "shortDescription",
                    "price",
                    "primaryImage",
                    "gallery",
                    "rating",
                    "variants",
                    "attributes",
                    "quantityLimit",
                    "categories",
                    "inStock",
                    "vatIncluded",
                    "vatRate",
                    "tags",
                    "createdAt",
                    "updatedAt",
                    "productType",
                    "requiresShipping",
                    "isDropshipped",
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "adminUpdateProduct",
        "summary": "Update product",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shortDescription": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "price": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            },
                            "originalAmount": {
                              "type": "number"
                            },
                            "discountPercent": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "primaryImage": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "gallery": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          },
                          "width": {
                            "type": "number"
                          },
                          "height": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "url",
                          "alt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "average": {
                              "type": "number"
                            },
                            "count": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "average",
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sku": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  },
                                  "originalAmount": {
                                    "type": "number"
                                  },
                                  "discountPercent": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "inStock": {
                            "type": "boolean"
                          },
                          "inventoryQuantity": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "sku",
                          "name",
                          "price",
                          "inStock",
                          "inventoryQuantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "value": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "code",
                          "name",
                          "value"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quantityLimit": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "slug": {
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "parentId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "productCount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "slug",
                          "description",
                          "image",
                          "parentId",
                          "productCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "vatIncluded": {
                      "type": "boolean"
                    },
                    "vatRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "productType": {
                      "type": "string",
                      "enum": [
                        "physical",
                        "digital",
                        "service",
                        "event",
                        "subscription"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "isDropshipped": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "sku",
                    "name",
                    "slug",
                    "description",
                    "shortDescription",
                    "price",
                    "primaryImage",
                    "gallery",
                    "rating",
                    "variants",
                    "attributes",
                    "quantityLimit",
                    "categories",
                    "inStock",
                    "vatIncluded",
                    "vatRate",
                    "tags",
                    "createdAt",
                    "updatedAt",
                    "productType",
                    "requiresShipping",
                    "isDropshipped",
                    "status"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "shortDescription": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "price": {
                    "type": "number"
                  },
                  "compareAtPrice": {
                    "type": "number"
                  },
                  "sku": {
                    "type": "string"
                  },
                  "productType": {
                    "type": "string",
                    "enum": [
                      "physical",
                      "digital",
                      "service",
                      "event",
                      "subscription"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "archived"
                    ]
                  },
                  "inStock": {
                    "type": "boolean"
                  },
                  "inventoryQuantity": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "quantityLimit": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "vatIncluded": {
                    "type": "boolean"
                  },
                  "vatRate": {
                    "type": "number"
                  },
                  "requiresShipping": {
                    "type": "boolean"
                  },
                  "isDropshipped": {
                    "type": "boolean"
                  },
                  "categories": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "altText": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        "isPrimary": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sku": {
                          "type": "string"
                        },
                        "name": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "price": {
                          "type": "number"
                        },
                        "compareAtPrice": {
                          "type": "number"
                        },
                        "inStock": {
                          "type": "boolean"
                        },
                        "inventoryQuantity": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        "sortOrder": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "name": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "value": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "code",
                        "name",
                        "value"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "adminDeleteProduct",
        "summary": "Delete product",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/categories": {
      "post": {
        "operationId": "adminCreateCategory",
        "summary": "Create category",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "201": {
            "description": "Category created",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "image": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "parentId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "productCount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "slug",
                    "description",
                    "image",
                    "parentId",
                    "productCount"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "image": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uri"
                      },
                      {
                        "type": "string",
                        "const": ""
                      }
                    ]
                  },
                  "parentId": {
                    "type": "string"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/categories/{id}": {
      "patch": {
        "operationId": "adminUpdateCategory",
        "summary": "Update category",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "image": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "alt": {
                              "type": "string"
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "url",
                            "alt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "parentId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "productCount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "slug",
                    "description",
                    "image",
                    "parentId",
                    "productCount"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "image": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uri"
                      },
                      {
                        "type": "string",
                        "const": ""
                      }
                    ]
                  },
                  "parentId": {
                    "type": "string"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "adminDeleteCategory",
        "summary": "Delete category",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/orders": {
      "get": {
        "operationId": "adminListOrders",
        "summary": "List orders (admin)",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 200
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "awaitingPaymentFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queue",
            "in": "query",
            "schema": {
              "description": "`open`: not fulfilled or cancelled yet. `to_fulfill`: open, paid and not shipped.",
              "type": "string",
              "enum": [
                "open",
                "to_fulfill"
              ]
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "createdAt",
                "total"
              ]
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "orderNumber": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "placed",
                              "approved",
                              "fulfilled",
                              "cancelled"
                            ]
                          },
                          "paymentStatus": {
                            "type": "string",
                            "enum": [
                              "unpaid",
                              "authorized",
                              "paid",
                              "partially_refunded",
                              "refunded",
                              "voided",
                              "free"
                            ]
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "in_progress",
                              "fulfilled",
                              "not_required"
                            ]
                          },
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "productId": {
                                  "type": "string"
                                },
                                "variantId": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "variantName": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "image": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "url": {
                                          "type": "string"
                                        },
                                        "alt": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        },
                                        "height": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "url",
                                        "alt"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "quantity": {
                                  "type": "number"
                                },
                                "price": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "totalPrice": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "fulfillmentStatus": {
                                  "type": "string",
                                  "enum": [
                                    "unfulfilled",
                                    "partially_fulfilled",
                                    "fulfilled",
                                    "returned",
                                    "download_ready",
                                    "license_sent",
                                    "access_granted",
                                    "ticket_issued"
                                  ]
                                },
                                "productType": {
                                  "type": "string",
                                  "enum": [
                                    "physical",
                                    "digital",
                                    "service",
                                    "event",
                                    "subscription"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "productId",
                                "variantId",
                                "name",
                                "variantName",
                                "image",
                                "quantity",
                                "price",
                                "totalPrice",
                                "fulfillmentStatus",
                                "productType"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "totals": {
                            "type": "object",
                            "properties": {
                              "subtotal": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              "shipping": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "tax": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "discount": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "total": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "required": [
                              "subtotal",
                              "shipping",
                              "tax",
                              "discount",
                              "total"
                            ],
                            "additionalProperties": false
                          },
                          "shippingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "billingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "shippingMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "fulfillmentType": {
                                    "type": "string",
                                    "enum": [
                                      "shipping",
                                      "local_delivery",
                                      "pickup"
                                    ]
                                  },
                                  "estimatedDays": {
                                    "type": "object",
                                    "properties": {
                                      "min": {
                                        "type": "number"
                                      },
                                      "max": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "min",
                                      "max"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "price": {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "cashOnDelivery": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "id",
                                  "name",
                                  "provider",
                                  "fulfillmentType",
                                  "estimatedDays",
                                  "price",
                                  "cashOnDelivery"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "installments": {
                                    "anyOf": [
                                      {
                                        "type": "object",
                                        "properties": {
                                          "count": {
                                            "type": "number"
                                          },
                                          "amount": {
                                            "type": "number"
                                          },
                                          "currency": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "count",
                                          "amount",
                                          "currency"
                                        ],
                                        "additionalProperties": false
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "icon": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "id",
                                  "type",
                                  "name",
                                  "provider",
                                  "installments",
                                  "icon"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentProvider": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentTransactionId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentDetails": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "method": {
                                    "type": "string",
                                    "enum": [
                                      "card",
                                      "multibanco",
                                      "mbway"
                                    ]
                                  },
                                  "entity": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "reference": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "expiresAt": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "method",
                                  "entity",
                                  "reference",
                                  "expiresAt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "couponCode": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingNumber": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "customerId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "contactEmail": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "requiresShipping": {
                            "type": "boolean"
                          },
                          "placedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "approvedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "cancelledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fulfilledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "orderNumber",
                          "status",
                          "paymentStatus",
                          "fulfillmentStatus",
                          "items",
                          "totals",
                          "shippingAddress",
                          "billingAddress",
                          "shippingMethod",
                          "paymentMethod",
                          "paymentProvider",
                          "paymentTransactionId",
                          "paymentDetails",
                          "couponCode",
                          "trackingNumber",
                          "trackingUrl",
                          "note",
                          "customerId",
                          "contactEmail",
                          "requiresShipping",
                          "placedAt",
                          "approvedAt",
                          "cancelledAt",
                          "fulfilledAt",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "perPage": {
                      "type": "number"
                    },
                    "hasMore": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "items",
                    "total",
                    "page",
                    "perPage",
                    "hasMore"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/orders/{id}": {
      "get": {
        "operationId": "adminGetOrder",
        "summary": "Get order (admin)",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "placed",
                        "approved",
                        "fulfilled",
                        "cancelled"
                      ]
                    },
                    "paymentStatus": {
                      "type": "string",
                      "enum": [
                        "unpaid",
                        "authorized",
                        "paid",
                        "partially_refunded",
                        "refunded",
                        "voided",
                        "free"
                      ]
                    },
                    "fulfillmentStatus": {
                      "type": "string",
                      "enum": [
                        "unfulfilled",
                        "in_progress",
                        "fulfilled",
                        "not_required"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "variantId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "variantName": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "image": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "alt": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "url",
                                  "alt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "price": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "totalPrice": {
                            "type": "object",
                            "properties": {
                              "amount": {
                                "type": "number"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "formatted": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "amount",
                              "currency",
                              "formatted"
                            ],
                            "additionalProperties": false
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "partially_fulfilled",
                              "fulfilled",
                              "returned",
                              "download_ready",
                              "license_sent",
                              "access_granted",
                              "ticket_issued"
                            ]
                          },
                          "productType": {
                            "type": "string",
                            "enum": [
                              "physical",
                              "digital",
                              "service",
                              "event",
                              "subscription"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "variantId",
                          "name",
                          "variantName",
                          "image",
                          "quantity",
                          "price",
                          "totalPrice",
                          "fulfillmentStatus",
                          "productType"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "totals": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        },
                        "shipping": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "tax": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "discount": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "number"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "formatted": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amount",
                            "currency",
                            "formatted"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "subtotal",
                        "shipping",
                        "tax",
                        "discount",
                        "total"
                      ],
                      "additionalProperties": false
                    },
                    "shippingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "billingAddress": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "phone": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "street": {
                              "type": "string"
                            },
                            "street2": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "city": {
                              "type": "string"
                            },
                            "state": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "country": {
                              "type": "string"
                            },
                            "postalCode": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "firstName",
                            "lastName",
                            "street",
                            "city",
                            "country"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "shippingMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "fulfillmentType": {
                              "type": "string",
                              "enum": [
                                "shipping",
                                "local_delivery",
                                "pickup"
                              ]
                            },
                            "estimatedDays": {
                              "type": "object",
                              "properties": {
                                "min": {
                                  "type": "number"
                                },
                                "max": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "min",
                                "max"
                              ],
                              "additionalProperties": false
                            },
                            "price": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "number"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "formatted": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount",
                                "currency",
                                "formatted"
                              ],
                              "additionalProperties": false
                            },
                            "cashOnDelivery": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "provider",
                            "fulfillmentType",
                            "estimatedDays",
                            "price",
                            "cashOnDelivery"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentMethod": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string"
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "provider": {
                              "type": "string"
                            },
                            "installments": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "count": {
                                      "type": "number"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "count",
                                    "amount",
                                    "currency"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "icon": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "type",
                            "name",
                            "provider",
                            "installments",
                            "icon"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "paymentProvider": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentTransactionId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentDetails": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "enum": [
                                "card",
                                "multibanco",
                                "mbway"
                              ]
                            },
                            "entity": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "reference": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "expiresAt": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "method",
                            "entity",
                            "reference",
                            "expiresAt"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "couponCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingNumber": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trackingUrl": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "customerId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "requiresShipping": {
                      "type": "boolean"
                    },
                    "placedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "approvedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "cancelledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fulfilledAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "refund": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "provider",
                            "manual"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "`provider`: Prood can send the refund. `manual`: refund in the payment account first. Either way, `recordOnly` records a refund already made there. Null when nothing can be refunded."
                    }
                  },
                  "required": [
                    "id",
                    "orderNumber",
                    "status",
                    "paymentStatus",
                    "fulfillmentStatus",
                    "items",
                    "totals",
                    "shippingAddress",
                    "billingAddress",
                    "shippingMethod",
                    "paymentMethod",
                    "paymentProvider",
                    "paymentTransactionId",
                    "paymentDetails",
                    "couponCode",
                    "trackingNumber",
                    "trackingUrl",
                    "note",
                    "customerId",
                    "contactEmail",
                    "requiresShipping",
                    "placedAt",
                    "approvedAt",
                    "cancelledAt",
                    "fulfilledAt",
                    "createdAt",
                    "updatedAt",
                    "refund"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/orders/{id}/cancel": {
      "post": {
        "operationId": "adminCancelOrder",
        "summary": "Cancel order",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "const": true
                    }
                  },
                  "required": [
                    "success"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "409": {
            "description": "The order changed while cancelling",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "note": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/orders/{id}/history": {
      "get": {
        "operationId": "adminGetOrderHistory",
        "summary": "Get order history",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "orderId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string"
                      },
                      "note": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "createdAt": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "orderId",
                      "action",
                      "note",
                      "createdAt"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/orders/{id}/fulfill": {
      "post": {
        "operationId": "adminFulfillOrder",
        "summary": "Fulfill order",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "const": true
                    }
                  },
                  "required": [
                    "success"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "trackingNumber": {
                    "type": "string"
                  },
                  "trackingUrl": {
                    "type": "string"
                  },
                  "note": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/orders/{id}/refund": {
      "post": {
        "operationId": "adminRefundOrder",
        "summary": "Refund order",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "const": true
                    }
                  },
                  "required": [
                    "success"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "note": {
                    "type": "string"
                  },
                  "recordOnly": {
                    "description": "Record a refund already sent from the payment account. Prood moves no money.",
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/customers": {
      "get": {
        "operationId": "adminListCustomers",
        "summary": "List customers",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 200
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortField",
            "in": "query",
            "schema": {
              "description": "`createdAt`: when the customer was added. `spent`: what they've paid across their orders, less refunds.",
              "type": "string",
              "enum": [
                "createdAt",
                "spent"
              ]
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "email": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "firstName": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "lastName": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "phone": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "addresses": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "firstName": {
                                  "type": "string"
                                },
                                "lastName": {
                                  "type": "string"
                                },
                                "phone": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "street": {
                                  "type": "string"
                                },
                                "street2": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "city": {
                                  "type": "string"
                                },
                                "state": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "country": {
                                  "type": "string"
                                },
                                "postalCode": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "isDefault": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "id",
                                "firstName",
                                "lastName",
                                "phone",
                                "street",
                                "street2",
                                "city",
                                "state",
                                "country",
                                "postalCode",
                                "isDefault"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "defaultAddressId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          },
                          "orderCount": {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          "spent": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "id",
                          "email",
                          "firstName",
                          "lastName",
                          "phone",
                          "addresses",
                          "defaultAddressId",
                          "createdAt",
                          "updatedAt",
                          "orderCount",
                          "spent"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "perPage": {
                      "type": "number"
                    },
                    "hasMore": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "items",
                    "total",
                    "page",
                    "perPage",
                    "hasMore"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/customers/{id}": {
      "get": {
        "operationId": "adminGetCustomer",
        "summary": "Get customer",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "firstName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "phone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "addresses": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "firstName": {
                            "type": "string"
                          },
                          "lastName": {
                            "type": "string"
                          },
                          "phone": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "street": {
                            "type": "string"
                          },
                          "street2": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "city": {
                            "type": "string"
                          },
                          "state": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "country": {
                            "type": "string"
                          },
                          "postalCode": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "isDefault": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "id",
                          "firstName",
                          "lastName",
                          "phone",
                          "street",
                          "street2",
                          "city",
                          "state",
                          "country",
                          "postalCode",
                          "isDefault"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "defaultAddressId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "orderCount": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    },
                    "spent": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "id",
                    "email",
                    "firstName",
                    "lastName",
                    "phone",
                    "addresses",
                    "defaultAddressId",
                    "createdAt",
                    "updatedAt",
                    "orderCount",
                    "spent"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/admin/store": {
      "get": {
        "operationId": "adminGetStore",
        "summary": "Store settings",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "logo": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "favicon": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "currency": {
                      "type": "string"
                    },
                    "locale": {
                      "type": "string"
                    },
                    "timezone": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    },
                    "supportedCurrencies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "supportedLocales": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contactPhone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "socialLinks": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "currencyLocked": {
                      "type": "boolean"
                    },
                    "url": {
                      "description": "Public origin of the store: its primary verified domain, or its slug subdomain. Null if it couldn't be read.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "logo",
                    "favicon",
                    "currency",
                    "locale",
                    "timezone",
                    "country",
                    "supportedCurrencies",
                    "supportedLocales",
                    "contactEmail",
                    "contactPhone",
                    "address",
                    "socialLinks",
                    "currencyLocked",
                    "url"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "adminUpdateStore",
        "summary": "Update store settings",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "logo": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "favicon": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "currency": {
                      "type": "string"
                    },
                    "locale": {
                      "type": "string"
                    },
                    "timezone": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    },
                    "supportedCurrencies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "supportedLocales": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "contactEmail": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contactPhone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "socialLinks": {
                      "anyOf": [
                        {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "currencyLocked": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "logo",
                    "favicon",
                    "currency",
                    "locale",
                    "timezone",
                    "country",
                    "supportedCurrencies",
                    "supportedLocales",
                    "contactEmail",
                    "contactPhone",
                    "address",
                    "socialLinks",
                    "currencyLocked"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "description": {
                    "anyOf": [
                      {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Shown on the store. Send null to remove it."
                  },
                  "logo": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uri"
                      },
                      {
                        "type": "string",
                        "const": ""
                      }
                    ]
                  },
                  "favicon": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Za-z]{3}$"
                  },
                  "locale": {
                    "type": "string",
                    "enum": [
                      "en",
                      "pt",
                      "es"
                    ]
                  },
                  "timezone": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "contactEmail": {
                    "description": "Shown on the store and to customers. Send null to remove it.",
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "email",
                        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "contactPhone": {
                    "description": "Send null to remove it.",
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\+?[\\d\\s().-]+$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "address": {
                    "type": "string"
                  },
                  "socialLinks": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/inventory": {
      "post": {
        "operationId": "adminUpdateInventory",
        "summary": "Update inventory",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "const": true
                    }
                  },
                  "required": [
                    "success"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "The body isn't valid JSON",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "variantId": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "adjustment": {
                    "type": "string",
                    "enum": [
                      "set",
                      "increment",
                      "decrement"
                    ]
                  }
                },
                "required": [
                  "productId",
                  "quantity"
                ],
                "additionalProperties": false
              }
            }
          }
        }
      }
    },
    "/admin/dashboard": {
      "get": {
        "operationId": "adminGetDashboard",
        "summary": "Dashboard stats",
        "tags": [
          "Admin"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "totalProducts": {
                      "type": "number"
                    },
                    "activeProducts": {
                      "type": "number"
                    },
                    "totalOrders": {
                      "type": "number"
                    },
                    "paidOrders": {
                      "type": "number",
                      "description": "Orders that reached paid, even if later refunded."
                    },
                    "totalRevenue": {
                      "type": "number"
                    },
                    "totalCustomers": {
                      "type": "number"
                    },
                    "last30Days": {
                      "type": "object",
                      "properties": {
                        "orders": {
                          "type": "number",
                          "description": "Orders placed in the period."
                        },
                        "revenue": {
                          "type": "number",
                          "description": "What those orders brought in, less refunds so far."
                        }
                      },
                      "required": [
                        "orders",
                        "revenue"
                      ],
                      "additionalProperties": false,
                      "description": "The 30 days up to now."
                    },
                    "prior30Days": {
                      "type": "object",
                      "properties": {
                        "orders": {
                          "type": "number",
                          "description": "Orders placed in the period."
                        },
                        "revenue": {
                          "type": "number",
                          "description": "What those orders brought in, less refunds so far."
                        }
                      },
                      "required": [
                        "orders",
                        "revenue"
                      ],
                      "additionalProperties": false,
                      "description": "The 30 days before those."
                    },
                    "recentOrders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "orderNumber": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "placed",
                              "approved",
                              "fulfilled",
                              "cancelled"
                            ]
                          },
                          "paymentStatus": {
                            "type": "string",
                            "enum": [
                              "unpaid",
                              "authorized",
                              "paid",
                              "partially_refunded",
                              "refunded",
                              "voided",
                              "free"
                            ]
                          },
                          "fulfillmentStatus": {
                            "type": "string",
                            "enum": [
                              "unfulfilled",
                              "in_progress",
                              "fulfilled",
                              "not_required"
                            ]
                          },
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "productId": {
                                  "type": "string"
                                },
                                "variantId": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "type": "object",
                                  "propertyNames": {
                                    "type": "string"
                                  },
                                  "additionalProperties": {
                                    "type": "string"
                                  }
                                },
                                "variantName": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "image": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "url": {
                                          "type": "string"
                                        },
                                        "alt": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        },
                                        "height": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "url",
                                        "alt"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "quantity": {
                                  "type": "number"
                                },
                                "price": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "totalPrice": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "currency",
                                    "formatted"
                                  ],
                                  "additionalProperties": false
                                },
                                "fulfillmentStatus": {
                                  "type": "string",
                                  "enum": [
                                    "unfulfilled",
                                    "partially_fulfilled",
                                    "fulfilled",
                                    "returned",
                                    "download_ready",
                                    "license_sent",
                                    "access_granted",
                                    "ticket_issued"
                                  ]
                                },
                                "productType": {
                                  "type": "string",
                                  "enum": [
                                    "physical",
                                    "digital",
                                    "service",
                                    "event",
                                    "subscription"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "productId",
                                "variantId",
                                "name",
                                "variantName",
                                "image",
                                "quantity",
                                "price",
                                "totalPrice",
                                "fulfillmentStatus",
                                "productType"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "totals": {
                            "type": "object",
                            "properties": {
                              "subtotal": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              },
                              "shipping": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "tax": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "discount": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "total": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "currency": {
                                    "type": "string"
                                  },
                                  "formatted": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "currency",
                                  "formatted"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "required": [
                              "subtotal",
                              "shipping",
                              "tax",
                              "discount",
                              "total"
                            ],
                            "additionalProperties": false
                          },
                          "shippingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "billingAddress": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "phone": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "street": {
                                    "type": "string"
                                  },
                                  "street2": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "city": {
                                    "type": "string"
                                  },
                                  "state": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "country": {
                                    "type": "string"
                                  },
                                  "postalCode": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "firstName",
                                  "lastName",
                                  "street",
                                  "city",
                                  "country"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "shippingMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "fulfillmentType": {
                                    "type": "string",
                                    "enum": [
                                      "shipping",
                                      "local_delivery",
                                      "pickup"
                                    ]
                                  },
                                  "estimatedDays": {
                                    "type": "object",
                                    "properties": {
                                      "min": {
                                        "type": "number"
                                      },
                                      "max": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "min",
                                      "max"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "price": {
                                    "type": "object",
                                    "properties": {
                                      "amount": {
                                        "type": "number"
                                      },
                                      "currency": {
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount",
                                      "currency",
                                      "formatted"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "cashOnDelivery": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "id",
                                  "name",
                                  "provider",
                                  "fulfillmentType",
                                  "estimatedDays",
                                  "price",
                                  "cashOnDelivery"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentMethod": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "object",
                                    "propertyNames": {
                                      "type": "string"
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  },
                                  "provider": {
                                    "type": "string"
                                  },
                                  "installments": {
                                    "anyOf": [
                                      {
                                        "type": "object",
                                        "properties": {
                                          "count": {
                                            "type": "number"
                                          },
                                          "amount": {
                                            "type": "number"
                                          },
                                          "currency": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "count",
                                          "amount",
                                          "currency"
                                        ],
                                        "additionalProperties": false
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "icon": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "id",
                                  "type",
                                  "name",
                                  "provider",
                                  "installments",
                                  "icon"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "paymentProvider": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentTransactionId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "paymentDetails": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "method": {
                                    "type": "string",
                                    "enum": [
                                      "card",
                                      "multibanco",
                                      "mbway"
                                    ]
                                  },
                                  "entity": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "reference": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  },
                                  "expiresAt": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "method",
                                  "entity",
                                  "reference",
                                  "expiresAt"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "couponCode": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingNumber": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "trackingUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "customerId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "contactEmail": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "requiresShipping": {
                            "type": "boolean"
                          },
                          "placedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "approvedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "cancelledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fulfilledAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "orderNumber",
                          "status",
                          "paymentStatus",
                          "fulfillmentStatus",
                          "items",
                          "totals",
                          "shippingAddress",
                          "billingAddress",
                          "shippingMethod",
                          "paymentMethod",
                          "paymentProvider",
                          "paymentTransactionId",
                          "paymentDetails",
                          "couponCode",
                          "trackingNumber",
                          "trackingUrl",
                          "note",
                          "customerId",
                          "contactEmail",
                          "requiresShipping",
                          "placedAt",
                          "approvedAt",
                          "cancelledAt",
                          "fulfilledAt",
                          "createdAt",
                          "updatedAt"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "ordersByStatus": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "number"
                      }
                    },
                    "canTakeOrders": {
                      "type": "boolean",
                      "description": "True when a payment provider is connected, or when that couldn't be checked. Paid orders are refused without one, whatever this says."
                    }
                  },
                  "required": [
                    "totalProducts",
                    "activeProducts",
                    "totalOrders",
                    "paidOrders",
                    "totalRevenue",
                    "totalCustomers",
                    "last30Days",
                    "prior30Days",
                    "recentOrders",
                    "ordersByStatus",
                    "canTakeOrders"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/webhooks/payments/{provider}": {
      "post": {
        "operationId": "paymentWebhook",
        "summary": "Payment webhook (checkout service)",
        "tags": [
          "Webhooks"
        ],
        "security": [
          {
            "checkoutSecret": []
          },
          {
            "stripeSignature": []
          }
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "received": {
                      "type": "boolean",
                      "const": true
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "applied",
                        "duplicate",
                        "amount_mismatch",
                        "order_cancelled",
                        "stale",
                        "second_payment",
                        "ignored"
                      ]
                    }
                  },
                  "required": [
                    "received",
                    "result"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "paymentWebhookGet",
        "summary": "Payment webhook GET (Ifthenpay)",
        "tags": [
          "Webhooks"
        ],
        "security": [
          {
            "checkoutSecret": []
          },
          {
            "stripeSignature": []
          }
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "received": {
                      "type": "boolean",
                      "const": true
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "applied",
                        "duplicate",
                        "amount_mismatch",
                        "order_cancelled",
                        "stale",
                        "second_payment",
                        "ignored"
                      ]
                    }
                  },
                  "required": [
                    "received",
                    "result"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "401": {
            "description": "No valid credentials. Send your API key in the `x-api-key` header. Create one in your dashboard, under API keys.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Each API key can make 600 requests a minute. The `Retry-After` header says how many seconds to wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "path": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "path",
                          "message"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    }
  }
}