{
  "components": {
    "securitySchemes": {
      "customerToken": {
        "description": "A customer access token from the public auth endpoints",
        "scheme": "bearer",
        "type": "http"
      },
      "publishableKey": {
        "description": "pk_… — origin-bound, anonymous read surface",
        "in": "header",
        "name": "Teculiar-Key",
        "type": "apiKey"
      },
      "secretKey": {
        "description": "sk_… — server-side only; rejected if an Origin header is present",
        "in": "header",
        "name": "Teculiar-Key",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "Generated from @PublicRoute declarations — do not edit by hand. Regenerate with `node scripts/api-contract-check.ts --write`.",
    "title": "Teculiar Public API",
    "version": "v1"
  },
  "openapi": "3.1.0",
  "paths": {
    "/auth/2fa/disable": {
      "post": {
        "operationId": "AuthController_disableTwoFactor",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "password": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "password"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "enabled": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Turn two-factor off",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/2fa/setup": {
      "get": {
        "operationId": "AuthController_setupTwoFactor",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "qr": {},
                    "secret": {},
                    "uri": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Begin two-factor setup",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/2fa/status": {
      "get": {
        "operationId": "AuthController_twoFactorStatus",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "enabled": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:read"
            ]
          }
        ],
        "summary": "Whether two-factor is enabled",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/2fa/verify": {
      "post": {
        "operationId": "AuthController_verifyTwoFactor",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "code": {
                    "maxLength": 6,
                    "minLength": 6,
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "enabled": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Confirm two-factor setup",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/login": {
      "post": {
        "operationId": "AuthController_login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "password": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "admin",
                      "client"
                    ],
                    "type": "string"
                  },
                  "totpCode": {
                    "description": "The six digits from the authenticator, when two-factor is on.",
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "password"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accessToken": {},
                    "refreshToken": {},
                    "tokenType": {},
                    "user": {
                      "properties": {
                        "email": {},
                        "id": {},
                        "roles": {}
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "auth:write"
            ]
          }
        ],
        "summary": "Sign a customer in and return bearer tokens",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/logout": {
      "post": {
        "operationId": "AuthController_logout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "refreshToken": {
                    "minLength": 24,
                    "type": "string"
                  }
                },
                "required": [
                  "refreshToken"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "ok": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "auth:write"
            ]
          }
        ],
        "summary": "Revoke a refresh token",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/password-reset/confirm": {
      "post": {
        "operationId": "AuthController_confirmPasswordReset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "password": {
                    "type": "string"
                  },
                  "token": {
                    "type": "string"
                  }
                },
                "required": [
                  "password",
                  "token"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "ok": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "auth:write"
            ]
          }
        ],
        "summary": "Complete a password reset",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/password-reset/request": {
      "post": {
        "operationId": "AuthController_requestPasswordReset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "admin",
                      "client"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "email"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "ok": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "auth:write"
            ]
          }
        ],
        "summary": "Request a password-reset email",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/refresh": {
      "post": {
        "operationId": "AuthController_refresh",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "refreshToken": {
                    "minLength": 24,
                    "type": "string"
                  }
                },
                "required": [
                  "refreshToken"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accessToken": {},
                    "refreshToken": {},
                    "tokenType": {},
                    "user": {
                      "properties": {
                        "email": {},
                        "id": {},
                        "roles": {}
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "auth:write"
            ]
          }
        ],
        "summary": "Exchange a refresh token for a new access token",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/auth/register": {
      "post": {
        "operationId": "AuthController_register",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "address": {
                    "type": "object"
                  },
                  "companyName": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "customerType": {
                    "enum": [
                      "INDIVIDUAL",
                      "BUSINESS"
                    ],
                    "type": "string"
                  },
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "name": {
                    "minLength": 2,
                    "type": "string"
                  },
                  "password": {
                    "minLength": 12,
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "vatId": {
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "name",
                  "password"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accessToken": {},
                    "refreshToken": {},
                    "tokenType": {},
                    "user": {
                      "properties": {
                        "email": {},
                        "id": {},
                        "roles": {}
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "auth:write"
            ]
          }
        ],
        "summary": "Register a customer account",
        "tags": [
          "auth"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "auth:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/add-funds": {
      "post": {
        "operationId": "BillingController_addFunds",
        "parameters": [
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "amountCents": {
                    "minimum": 1,
                    "type": "integer"
                  },
                  "iban": {
                    "type": "string"
                  },
                  "method": {
                    "enum": [
                      "CREDIT_CARD",
                      "PAYPAL",
                      "SEPA",
                      "CRYPTO",
                      "BANK_TRANSFER",
                      "IDEAL"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "amountCents",
                  "method"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "amountCents": {},
                    "checkoutUrl": {},
                    "currency": {},
                    "invoiceId": {},
                    "invoiceNumber": {},
                    "orderId": {},
                    "paymentRedirectUrl": {},
                    "redirectUrl": {},
                    "status": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "payments:write"
            ]
          }
        ],
        "summary": "Top up the customer's account balance",
        "tags": [
          "billing"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "payments:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices": {
      "get": {
        "operationId": "BillingController_listInvoices",
        "parameters": [
          {
            "description": "Only invoices in this status.",
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "currency": {},
                      "customerSnapshot": {},
                      "discountCents": {},
                      "dueAt": {},
                      "finalInvoiceNumber": {},
                      "footerLines": {},
                      "id": {},
                      "invoiceNumber": {},
                      "issuedAt": {},
                      "items": {
                        "items": {
                          "properties": {
                            "billingCycle": {},
                            "description": {},
                            "discountCents": {},
                            "id": {},
                            "quantity": {},
                            "servicePeriodEnd": {},
                            "servicePeriodStart": {},
                            "subtotalCents": {},
                            "taxAmountCents": {},
                            "taxRate": {},
                            "totalCents": {},
                            "type": {},
                            "unitAmountCents": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "lastPaymentErrorAt": {},
                      "lastPaymentErrorCode": {},
                      "locale": {},
                      "paidAt": {},
                      "paymentAttempts": {},
                      "paymentMethodLabel": {},
                      "reverseCharge": {},
                      "sellerSnapshot": {},
                      "status": {},
                      "subtotalCents": {},
                      "taxAmountCents": {},
                      "taxReason": {},
                      "totalCents": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:read"
            ]
          }
        ],
        "summary": "List the customer's invoices",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices/{id}": {
      "get": {
        "operationId": "BillingController_getInvoice",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "currency": {},
                    "customerSnapshot": {},
                    "discountCents": {},
                    "dueAt": {},
                    "finalInvoiceNumber": {},
                    "footerLines": {},
                    "id": {},
                    "invoiceNumber": {},
                    "issuedAt": {},
                    "items": {
                      "items": {
                        "properties": {
                          "billingCycle": {},
                          "description": {},
                          "discountCents": {},
                          "id": {},
                          "quantity": {},
                          "servicePeriodEnd": {},
                          "servicePeriodStart": {},
                          "subtotalCents": {},
                          "taxAmountCents": {},
                          "taxRate": {},
                          "totalCents": {},
                          "type": {},
                          "unitAmountCents": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "lastPaymentErrorAt": {},
                    "lastPaymentErrorCode": {},
                    "locale": {},
                    "paidAt": {},
                    "paymentAttempts": {},
                    "paymentMethodLabel": {},
                    "reverseCharge": {},
                    "sellerSnapshot": {},
                    "status": {},
                    "subtotalCents": {},
                    "taxAmountCents": {},
                    "taxReason": {},
                    "totalCents": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:read"
            ]
          }
        ],
        "summary": "Read one invoice",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices/{id}/html": {
      "get": {
        "operationId": "BillingController_invoiceHtml",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:read"
            ]
          }
        ],
        "summary": "Render an invoice as HTML",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices/{id}/pay": {
      "post": {
        "operationId": "BillingController_payInvoice",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "cancelUrl": {
                    "description": "Where the buyer ends up after a cancelled payment. Same rule as returnUrl.",
                    "type": "string"
                  },
                  "iban": {
                    "type": "string"
                  },
                  "method": {
                    "enum": [
                      "CREDIT_CARD",
                      "PAYPAL",
                      "SEPA",
                      "CRYPTO",
                      "BANK_TRANSFER",
                      "IDEAL"
                    ],
                    "type": "string"
                  },
                  "paymentMethodId": {
                    "type": "string"
                  },
                  "returnUrl": {
                    "description": "Where the buyer ends up after the payment is confirmed, with order and result added. Must be a verified host of the store or an origin of the key.",
                    "type": "string"
                  },
                  "useAccountBalance": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "method"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "attemptStatus": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "currency": {
                      "type": "string"
                    },
                    "dueAt": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "invoiceNumber": {
                      "type": "string"
                    },
                    "paidAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "paymentRedirectUrl": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "providerReference": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "status": {
                      "type": "string"
                    },
                    "subtotalCents": {
                      "type": "integer"
                    },
                    "taxAmountCents": {
                      "type": "integer"
                    },
                    "totalCents": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:pay"
            ]
          }
        ],
        "summary": "Pay an invoice",
        "tags": [
          "billing"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:pay",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices/{id}/payment-methods": {
      "get": {
        "operationId": "BillingController_invoicePaymentMethods",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "flow": {},
                      "method": {},
                      "title": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:pay"
            ]
          }
        ],
        "summary": "List the payment methods that can pay one invoice",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:pay",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/invoices/{id}/pdf": {
      "get": {
        "operationId": "BillingController_invoicePdf",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "invoices:read"
            ]
          }
        ],
        "summary": "Download an invoice PDF",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "invoices:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/billing/payment-methods": {
      "get": {
        "operationId": "BillingController_listPaymentMethods",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "automatic": {},
                      "brand": {},
                      "default": {},
                      "expiryMonth": {},
                      "expiryYear": {},
                      "id": {},
                      "label": {},
                      "last4": {},
                      "status": {},
                      "type": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "payment-methods:read"
            ]
          }
        ],
        "summary": "List the customer's saved payment methods",
        "tags": [
          "billing"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "payment-methods:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/announcements": {
      "get": {
        "operationId": "CmsController_listAnnouncements",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "body": {},
                      "excerpt": {},
                      "hiddenAt": {},
                      "id": {},
                      "isRead": {},
                      "locale": {},
                      "publishedAt": {},
                      "readAt": {},
                      "title": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:read"
            ]
          }
        ],
        "summary": "List announcements for the signed-in customer",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/announcements/{id}/hide": {
      "post": {
        "operationId": "CmsController_hideAnnouncement",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "announcementId": {},
                    "hiddenAt": {},
                    "readAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Hide an announcement for this customer",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/announcements/{id}/read": {
      "post": {
        "operationId": "CmsController_markAnnouncementRead",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "announcementId": {},
                    "hiddenAt": {},
                    "readAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Mark an announcement as read",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/blog-categories": {
      "get": {
        "operationId": "CmsController_listBlogCategories",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "id": {},
                      "locale": {},
                      "name": {},
                      "slug": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "List blog categories",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/blog-tags": {
      "get": {
        "operationId": "CmsController_listBlogTags",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "id": {},
                      "locale": {},
                      "name": {},
                      "slug": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "List blog tags",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/pages/{locale}/{slug}": {
      "get": {
        "operationId": "CmsController_getPage",
        "parameters": [
          {
            "in": "path",
            "name": "locale",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "authorName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "categories": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "content": {
                      "type": "object"
                    },
                    "excerpt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "featureImage": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": "string"
                    },
                    "locale": {
                      "type": "string"
                    },
                    "publishedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "seoDescription": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "seoTitle": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "slug": {
                      "type": "string"
                    },
                    "tags": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "title": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read a published CMS page",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/post-tags": {
      "get": {
        "operationId": "CmsController_listPostTags",
        "parameters": [
          {
            "description": "How many tags, most used first.",
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {},
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "List blog post tags",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/posts": {
      "get": {
        "operationId": "CmsController_listPosts",
        "parameters": [
          {
            "description": "Tag slug.",
            "in": "query",
            "name": "tag",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "authorName": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "categories": {
                        "items": {
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "slug": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "content": {
                        "type": "object"
                      },
                      "excerpt": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "featureImage": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "id": {
                        "type": "string"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "publishedAt": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "seoDescription": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "seoTitle": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "slug": {
                        "type": "string"
                      },
                      "tags": {
                        "items": {
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "slug": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "title": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "List published blog posts",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/cms/posts/{locale}/{slug}": {
      "get": {
        "operationId": "CmsController_getPost",
        "parameters": [
          {
            "in": "path",
            "name": "locale",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "authorName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "categories": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "content": {
                      "type": "object"
                    },
                    "excerpt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "featureImage": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": "string"
                    },
                    "locale": {
                      "type": "string"
                    },
                    "publishedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "seoDescription": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "seoTitle": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "slug": {
                      "type": "string"
                    },
                    "tags": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "title": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read a published blog post",
        "tags": [
          "cms"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/domains/search": {
      "get": {
        "operationId": "OrdersController_searchDomain",
        "parameters": [
          {
            "description": "The name to look up, with its extension.",
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Registration years to price.",
            "in": "query",
            "name": "years",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "false skips the other-extension suggestions (default true).",
            "in": "query",
            "name": "suggestions",
            "schema": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "action": {},
                    "available": {},
                    "domain": {},
                    "price": {},
                    "productId": {},
                    "suggestions": {
                      "items": {
                        "properties": {
                          "action": {},
                          "available": {},
                          "domain": {},
                          "price": {},
                          "productId": {},
                          "tld": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "tld": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "domains:search"
            ]
          }
        ],
        "summary": "Check domain availability and price",
        "tags": [
          "domains"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "domains:search",
        "x-teculiar-since": "2026-09"
      }
    },
    "/knowledgebase": {
      "get": {
        "operationId": "KnowledgebaseController_listPublic",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "body": {},
                      "excerpt": {},
                      "id": {},
                      "keywords": {},
                      "seoDescription": {},
                      "seoTitle": {},
                      "slug": {},
                      "title": {},
                      "updatedAt": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read published knowledgebase articles",
        "tags": [
          "knowledgebase"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/knowledgebase/{slug}": {
      "get": {
        "operationId": "KnowledgebaseController_getPublic",
        "parameters": [
          {
            "in": "path",
            "name": "slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "body": {},
                    "excerpt": {},
                    "id": {},
                    "keywords": {},
                    "seoDescription": {},
                    "seoTitle": {},
                    "slug": {},
                    "title": {},
                    "updatedAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read published knowledgebase articles",
        "tags": [
          "knowledgebase"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/knowledgebase/suggest": {
      "get": {
        "operationId": "KnowledgebaseController_suggest",
        "parameters": [
          {
            "description": "What the visitor has typed so far.",
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "body": {},
                      "excerpt": {},
                      "id": {},
                      "keywords": {},
                      "seoDescription": {},
                      "seoTitle": {},
                      "slug": {},
                      "title": {},
                      "updatedAt": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read published knowledgebase articles",
        "tags": [
          "knowledgebase"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/orders/{id}": {
      "get": {
        "operationId": "OrdersController_order",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "createdAt": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "items": {
                        "properties": {
                          "amountCents": {
                            "type": "integer"
                          },
                          "billingCycle": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "setupFeeCents": {
                            "type": "integer"
                          },
                          "status": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "subtotalCents": {
                      "type": "integer"
                    },
                    "taxAmountCents": {
                      "type": "integer"
                    },
                    "totalCents": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "orders:read"
            ]
          }
        ],
        "summary": "Read one order",
        "tags": [
          "orders"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "orders:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/orders/{id}/pay": {
      "post": {
        "operationId": "OrdersController_pay",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "cancelUrl": {
                    "description": "Where the buyer ends up after a cancelled payment. Same rule as returnUrl.",
                    "type": "string"
                  },
                  "iban": {
                    "type": "string"
                  },
                  "method": {
                    "enum": [
                      "CREDIT_CARD",
                      "PAYPAL",
                      "SEPA",
                      "CRYPTO",
                      "BANK_TRANSFER",
                      "IDEAL"
                    ],
                    "type": "string"
                  },
                  "paymentMethodId": {
                    "type": "string"
                  },
                  "returnUrl": {
                    "description": "Where the buyer ends up after the payment is confirmed, with order and result added. Must be a verified host of the store or an origin of the key.",
                    "type": "string"
                  }
                },
                "required": [
                  "method",
                  "paymentMethodId"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "invoice": {
                      "properties": {
                        "attemptStatus": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "currency": {
                          "type": "string"
                        },
                        "dueAt": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "invoiceNumber": {
                          "type": "string"
                        },
                        "paidAt": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymentRedirectUrl": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "providerReference": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "status": {
                          "type": "string"
                        },
                        "subtotalCents": {
                          "type": "integer"
                        },
                        "taxAmountCents": {
                          "type": "integer"
                        },
                        "totalCents": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "order": {
                      "properties": {
                        "id": {},
                        "status": {}
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "payments:write"
            ]
          }
        ],
        "summary": "Pay for an order",
        "tags": [
          "orders"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "payments:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/orders/{id}/status": {
      "get": {
        "operationId": "OrdersController_checkoutProgress",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The statusToken that checkout answered with.",
            "in": "query",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "items": {
                      "items": {
                        "properties": {
                          "externalId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "links": {
                            "items": {
                              "properties": {
                                "kind": {
                                  "type": "string"
                                },
                                "url": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "productName": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "status": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "checkout:write"
            ]
          }
        ],
        "summary": "Read a checkout's progress with its status token",
        "tags": [
          "orders"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "checkout:write",
        "x-teculiar-since": "2026-10"
      }
    },
    "/orders/checkout": {
      "post": {
        "operationId": "OrdersController_checkout",
        "parameters": [
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "currency": {
                    "description": "ISO 4217 code the buyer is charged in; an unserved one falls back to the store's main currency.",
                    "pattern": "^[A-Za-z]{3}$",
                    "type": "string"
                  },
                  "customer": {
                    "properties": {
                      "address": {
                        "type": "object"
                      },
                      "companyName": {
                        "type": "string"
                      },
                      "countryCode": {
                        "type": "string"
                      },
                      "customerType": {
                        "enum": [
                          "INDIVIDUAL",
                          "BUSINESS"
                        ],
                        "type": "string"
                      },
                      "email": {
                        "format": "email",
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "password": {
                        "description": "For a new account.",
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      },
                      "vatId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name",
                      "email"
                    ],
                    "type": "object"
                  },
                  "items": {
                    "items": {
                      "properties": {
                        "addOnIds": {
                          "description": "Add-ons, one of each. addOns wins when both are sent.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "addOns": {
                          "description": "Add-ons with how many of each.",
                          "items": {
                            "properties": {
                              "addOnId": {
                                "type": "string"
                              },
                              "quantity": {
                                "maximum": 99,
                                "minimum": 1,
                                "type": "integer"
                              }
                            },
                            "required": [
                              "addOnId"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "configuration": {
                          "description": "Values for the product's order fields.",
                          "type": "object"
                        },
                        "domainName": {
                          "description": "For a domain line: the name to register or transfer.",
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "productPriceId": {
                          "description": "The price (billing cycle) to buy; the cheapest is used when absent.",
                          "type": "string"
                        },
                        "quantity": {
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "locale": {
                    "description": "Language code, e.g. en or de. Names and messages come back in it.",
                    "type": "string"
                  }
                },
                "required": [
                  "items",
                  "customer"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "invoice": {
                      "properties": {
                        "attemptStatus": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "currency": {
                          "type": "string"
                        },
                        "dueAt": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "invoiceNumber": {
                          "type": "string"
                        },
                        "paidAt": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymentRedirectUrl": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "providerReference": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "status": {
                          "type": "string"
                        },
                        "subtotalCents": {
                          "type": "integer"
                        },
                        "taxAmountCents": {
                          "type": "integer"
                        },
                        "totalCents": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "order": {
                      "properties": {
                        "id": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "statusToken": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "checkout:write"
            ]
          }
        ],
        "summary": "Place an order (guest or signed-in)",
        "tags": [
          "orders"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "checkout:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/orders/preview": {
      "post": {
        "operationId": "OrdersController_preview",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "currency": {
                    "description": "ISO 4217 code the buyer is charged in; an unserved one falls back to the store's main currency.",
                    "pattern": "^[A-Za-z]{3}$",
                    "type": "string"
                  },
                  "customer": {
                    "description": "Only what a price depends on.",
                    "properties": {
                      "countryCode": {
                        "type": "string"
                      },
                      "customerType": {
                        "enum": [
                          "INDIVIDUAL",
                          "BUSINESS"
                        ],
                        "type": "string"
                      },
                      "vatId": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "items": {
                    "items": {
                      "properties": {
                        "addOnIds": {
                          "description": "Add-ons, one of each. addOns wins when both are sent.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "addOns": {
                          "description": "Add-ons with how many of each.",
                          "items": {
                            "properties": {
                              "addOnId": {
                                "type": "string"
                              },
                              "quantity": {
                                "maximum": 99,
                                "minimum": 1,
                                "type": "integer"
                              }
                            },
                            "required": [
                              "addOnId"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "configuration": {
                          "description": "Values for the product's order fields.",
                          "type": "object"
                        },
                        "domainName": {
                          "description": "For a domain line: the name to register or transfer.",
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "productPriceId": {
                          "description": "The price (billing cycle) to buy; the cheapest is used when absent.",
                          "type": "string"
                        },
                        "quantity": {
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "locale": {
                    "description": "Language code, e.g. en or de. Names and messages come back in it.",
                    "type": "string"
                  }
                },
                "required": [
                  "items"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "createdAt": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "dueTodayCents": {
                      "type": "integer"
                    },
                    "id": {
                      "type": "string"
                    },
                    "items": {
                      "items": {
                        "properties": {
                          "amountCents": {
                            "type": "integer"
                          },
                          "billingCycle": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "setupFeeCents": {
                            "type": "integer"
                          },
                          "status": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "subtotalCents": {
                      "type": "integer"
                    },
                    "taxAmountCents": {
                      "type": "integer"
                    },
                    "totalCents": {
                      "type": "integer"
                    },
                    "vatPercent": {
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "checkout:write"
            ]
          }
        ],
        "summary": "Price an order server-side before checkout",
        "tags": [
          "orders"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "checkout:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/platform/domains/check": {
      "get": {
        "operationId": "OwnDomainsController_check",
        "parameters": [
          {
            "description": "The domain to check, as typed (besthost.com).",
            "in": "query",
            "name": "host",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "available": {
                      "type": "boolean"
                    },
                    "host": {
                      "type": "string"
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "Check whether a domain can be connected to a new system",
        "tags": [
          "platform"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-10"
      }
    },
    "/platform/names/check": {
      "get": {
        "operationId": "SystemNamesController_check",
        "parameters": [
          {
            "description": "The system name to check, as typed.",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "available": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "string"
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "rules": {
                      "properties": {
                        "maxLength": {
                          "type": "integer"
                        },
                        "minLength": {
                          "type": "integer"
                        },
                        "pattern": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "suggestions": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "Check whether a system name can be claimed",
        "tags": [
          "platform"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-10"
      }
    },
    "/platform/plans": {
      "get": {
        "operationId": "PlansController_list",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "ceilingProfile": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      },
                      "features": {
                        "properties": {
                          "help": {
                            "type": "string"
                          },
                          "ownHosts": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "paidModulesIncluded": {
                            "type": "boolean"
                          },
                          "poweredBy": {
                            "type": "boolean"
                          }
                        },
                        "type": "object"
                      },
                      "key": {
                        "type": "string"
                      },
                      "limits": {
                        "properties": {
                          "activeClients": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "moduleConnections": {
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "staffSeats": {
                            "type": "integer"
                          },
                          "systems": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "monthlyCents": {
                        "type": "integer"
                      },
                      "name": {
                        "type": "string"
                      },
                      "summary": {
                        "type": "string"
                      },
                      "yearlyCents": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "List the Teculiar plans with their prices, limits and features",
        "tags": [
          "platform"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-10"
      }
    },
    "/products": {
      "get": {
        "operationId": "ProductsController_listProducts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "addOns": {
                        "items": {
                          "properties": {
                            "amountCents": {
                              "type": "integer"
                            },
                            "billingCycle": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "description": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "descriptionTranslations": {
                              "type": "object"
                            },
                            "id": {
                              "type": "string"
                            },
                            "maxQuantity": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nameTranslations": {
                              "type": "object"
                            },
                            "recurring": {
                              "type": "boolean"
                            },
                            "setupFeeCents": {
                              "type": "integer"
                            },
                            "slug": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "category": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "configurationFields": {
                        "items": {
                          "properties": {
                            "checkUrl": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "help": {
                              "type": "object"
                            },
                            "key": {
                              "type": "string"
                            },
                            "label": {
                              "type": "object"
                            },
                            "maxLength": {
                              "type": [
                                "integer",
                                "null"
                              ]
                            },
                            "pattern": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "type": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "description": {
                        "type": "string"
                      },
                      "descriptionTranslations": {
                        "type": "object"
                      },
                      "domainRequirement": {
                        "type": "string"
                      },
                      "family": {
                        "type": "string"
                      },
                      "featured": {
                        "type": "boolean"
                      },
                      "freeDomainBillingCycle": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "freeDomainTerm": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "id": {
                        "type": "string"
                      },
                      "minimumPriceCents": {
                        "type": "integer"
                      },
                      "name": {
                        "type": "string"
                      },
                      "nameTranslations": {
                        "type": "object"
                      },
                      "prices": {
                        "items": {
                          "properties": {
                            "amountCents": {
                              "type": "integer"
                            },
                            "billingCycle": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "id": {
                              "type": "string"
                            },
                            "setupFeeCents": {
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "sortOrder": {
                        "type": "integer"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "List products",
        "tags": [
          "products"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services": {
      "get": {
        "operationId": "ProductsController_listServices",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "autoRenew": {},
                      "billingCycle": {},
                      "bundledDomains": {
                        "items": {
                          "properties": {
                            "autoRenew": {},
                            "domain": {},
                            "expiresAt": {},
                            "id": {},
                            "status": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "cancelAt": {},
                      "cancelledAt": {},
                      "createdAt": {},
                      "domainRecords": {
                        "items": {
                          "properties": {
                            "autoRenew": {},
                            "domain": {},
                            "expiresAt": {},
                            "id": {},
                            "nameservers": {},
                            "nextDueAt": {},
                            "recurringAmountCents": {},
                            "registrationDate": {},
                            "registrationPeriodYears": {},
                            "status": {},
                            "type": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "id": {},
                      "nextDueAt": {},
                      "product": {
                        "properties": {
                          "category": {
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "slug": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "description": {},
                          "id": {},
                          "name": {},
                          "nameTranslations": {},
                          "slug": {},
                          "type": {}
                        },
                        "type": "object"
                      },
                      "productPrice": {
                        "properties": {
                          "amountCents": {
                            "type": "integer"
                          },
                          "billingCycle": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "setupFeeCents": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "recurringAmountCents": {},
                      "renewsAt": {},
                      "serviceAddOns": {
                        "items": {
                          "properties": {
                            "addOn": {
                              "properties": {
                                "id": {},
                                "name": {},
                                "slug": {}
                              },
                              "type": "object"
                            },
                            "id": {},
                            "quantity": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "setupFeeCents": {},
                      "startedAt": {},
                      "status": {},
                      "suspendedAt": {},
                      "terminatedAt": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "List the customer's services",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}": {
      "get": {
        "operationId": "ProductsController_getService",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "autoRenew": {},
                    "billingCycle": {},
                    "bundledDomains": {
                      "items": {
                        "properties": {
                          "autoRenew": {},
                          "domain": {},
                          "expiresAt": {},
                          "id": {},
                          "status": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "cancelAt": {},
                    "cancelledAt": {},
                    "createdAt": {},
                    "domainRecords": {
                      "items": {
                        "properties": {
                          "autoRenew": {},
                          "domain": {},
                          "expiresAt": {},
                          "id": {},
                          "nameservers": {},
                          "nextDueAt": {},
                          "recurringAmountCents": {},
                          "registrationDate": {},
                          "registrationPeriodYears": {},
                          "status": {},
                          "type": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "id": {},
                    "nextDueAt": {},
                    "product": {
                      "properties": {
                        "category": {
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "slug": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "description": {},
                        "id": {},
                        "name": {},
                        "nameTranslations": {},
                        "slug": {},
                        "type": {}
                      },
                      "type": "object"
                    },
                    "productPrice": {
                      "properties": {
                        "amountCents": {
                          "type": "integer"
                        },
                        "billingCycle": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "setupFeeCents": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "recurringAmountCents": {},
                    "renewsAt": {},
                    "serviceAddOns": {
                      "items": {
                        "properties": {
                          "addOn": {
                            "properties": {
                              "id": {},
                              "name": {},
                              "slug": {}
                            },
                            "type": "object"
                          },
                          "id": {},
                          "quantity": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "setupFeeCents": {},
                    "startedAt": {},
                    "status": {},
                    "suspendedAt": {},
                    "terminatedAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "Read one service, including its domain records",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/actions": {
      "get": {
        "operationId": "ModuleActionsController_list",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "fields": {
                        "items": {},
                        "type": "array"
                      },
                      "id": {},
                      "label": {},
                      "method": {},
                      "module": {},
                      "path": {},
                      "risk": {},
                      "scope": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "List the module actions a service offers",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/actions/{action}": {
      "get": {
        "operationId": "ModuleActionsController_read",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "action",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accepted": {},
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {},
                    "message": {},
                    "transferCode": {},
                    "url": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "Run a read action of a service's module",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      },
      "post": {
        "operationId": "ModuleActionsController_manage",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "action",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": {
                  "type": "string"
                },
                "properties": {},
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accepted": {},
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {},
                    "message": {},
                    "transferCode": {},
                    "url": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Run an action of a service's module",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/auto-renew": {
      "patch": {
        "operationId": "ProductsController_setServiceAutoRenew",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "autoRenew": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "autoRenew"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "autoRenew": {},
                    "cancelAt": {},
                    "id": {},
                    "status": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Turn a service's auto-renew on or off",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/cancel": {
      "post": {
        "operationId": "ProductsController_cancelService",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "cancelDomains": {
                    "description": "Also cancel the domains on the service.",
                    "type": "boolean"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "reasonText": {
                    "type": "string"
                  },
                  "timing": {
                    "description": "When the cancellation takes effect.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "cancelDomains": {},
                    "createdAt": {},
                    "decidedAt": {},
                    "declineReason": {},
                    "effectiveAt": {},
                    "id": {},
                    "reason": {},
                    "reasonText": {},
                    "serviceId": {},
                    "status": {},
                    "timing": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Request cancellation of a service",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/cancellation-request": {
      "get": {
        "operationId": "ProductsController_serviceCancellationRequest",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "cancelDomains": {},
                    "createdAt": {},
                    "decidedAt": {},
                    "declineReason": {},
                    "effectiveAt": {},
                    "id": {},
                    "reason": {},
                    "reasonText": {},
                    "serviceId": {},
                    "status": {},
                    "timing": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "The cancellation request waiting on a service, if any",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/change-plan": {
      "post": {
        "operationId": "ProductsController_changeServicePlan",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "productPriceId": {
                    "description": "The price to move to, from plan-options.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accepted": {},
                    "effective": {},
                    "invoiceId": {},
                    "invoiceNumber": {},
                    "productPriceId": {},
                    "serviceId": {},
                    "status": {},
                    "totalCents": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Change a service's plan",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/domain-actions/{action}": {
      "post": {
        "operationId": "ModuleActionsController_domain",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "action",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": {
                  "type": "string"
                },
                "properties": {},
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accepted": {},
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {},
                    "message": {},
                    "transferCode": {},
                    "url": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "domains:manage"
            ]
          }
        ],
        "summary": "Run an action of a domain's registrar module",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "domains:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/domain-lock": {
      "get": {
        "operationId": "ProductsController_serviceDomainLock",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "Read the transfer lock on a domain service",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      },
      "post": {
        "operationId": "ProductsController_setServiceDomainLock",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "locked": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "locked"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {},
                    "transferCode": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "domains:manage"
            ]
          }
        ],
        "summary": "Lock or unlock a domain for transfer",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "domains:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/plan-options": {
      "get": {
        "operationId": "ProductsController_planOptions",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "amountCents": {},
                      "billingCycle": {},
                      "direction": {},
                      "productName": {},
                      "productPriceId": {},
                      "prorationCents": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:read"
            ]
          }
        ],
        "summary": "Plans this service can change to",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/renew-domain": {
      "post": {
        "operationId": "ProductsController_renewDomain",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "years": {
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "required": [
                  "years"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "domain": {},
                    "invoiceId": {},
                    "invoiceNumber": {},
                    "status": {},
                    "totalCents": {},
                    "years": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "domains:manage"
            ]
          }
        ],
        "summary": "Renew the domain attached to a service",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "domains:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/restart": {
      "post": {
        "operationId": "ProductsController_restartService",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "message": {},
                    "ok": {},
                    "status": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Restart a service",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/resume": {
      "post": {
        "operationId": "ProductsController_resumeServiceCancellation",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "autoRenew": {},
                    "cancelAt": {},
                    "id": {},
                    "status": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "services:manage"
            ]
          }
        ],
        "summary": "Withdraw a cancellation request, or undo a scheduled cancellation",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "services:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/services/{id}/transfer-code": {
      "get": {
        "operationId": "ProductsController_serviceDomainTransferCode",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "domain": {},
                    "lockCheckedAt": {},
                    "locked": {},
                    "transferCode": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "domains:manage"
            ]
          }
        ],
        "summary": "Read the transfer (EPP) code for an unlocked domain",
        "tags": [
          "services"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "domains:manage",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/domain-prices": {
      "get": {
        "operationId": "OrdersController_storefrontDomainPrices",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "action": {},
                      "amountCents": {},
                      "currency": {},
                      "suggested": {},
                      "tld": {},
                      "years": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "List TLD registration and transfer prices",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/embed": {
      "get": {
        "operationId": "EmbedConfigController_config",
        "parameters": [
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "brand",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "accent",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "onAccent",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "background",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "surface",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "text",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "muted",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "line",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "danger",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "success",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "radius",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "font",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "headingFont",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "density",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "scheme",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used only where the store has saved no value of its own.",
            "in": "query",
            "name": "logoUrl",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "appearance": {},
                    "css": {},
                    "embedBaseUrl": {},
                    "embedPath": {},
                    "features": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read the embed origin, feature toggles and brand theme for this tenant",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/i18n": {
      "get": {
        "operationId": "BillingStorefrontController_i18n",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "cookieDomain": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "currencies": {
                      "properties": {
                        "list": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "main": {
                          "type": "string"
                        },
                        "rates": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "fallback": {
                      "type": "string"
                    },
                    "installed": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "languages": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "main": {
                      "type": "string"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "serverTime": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "Languages this store serves, plus the packs installed on the platform",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/inquiries": {
      "post": {
        "operationId": "StorefrontInquiriesController_createInquiry",
        "parameters": [
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "_honey": {
                    "description": "A hidden trap field; leave it empty. A filled one is dropped as spam.",
                    "type": "string"
                  },
                  "email": {
                    "format": "email",
                    "maxLength": 200,
                    "type": "string"
                  },
                  "message": {
                    "maxLength": 5000,
                    "minLength": 10,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "minLength": 1,
                    "type": "string"
                  },
                  "phone": {
                    "maxLength": 30,
                    "type": "string"
                  },
                  "source": {
                    "enum": [
                      "contact",
                      "inquiry"
                    ],
                    "type": "string"
                  },
                  "subject": {
                    "maxLength": 200,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "email",
                  "subject",
                  "message"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {},
                    "publicId": {},
                    "status": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "inquiries:write"
            ]
          }
        ],
        "summary": "Submit a public contact enquiry",
        "tags": [
          "storefront"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "inquiries:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/modules": {
      "get": {
        "operationId": "ModuleLibraryController_list",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "capabilities": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "description": {
                        "type": "string"
                      },
                      "families": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "hasPanel": {
                        "type": "boolean"
                      },
                      "kind": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "pricing": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "List the platform's module library",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-10"
      }
    },
    "/storefront/modules/{name}": {
      "get": {
        "operationId": "ModuleLibraryController_one",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "capabilities": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "description": {
                      "type": "string"
                    },
                    "doc": {
                      "properties": {
                        "language": {
                          "type": "string"
                        },
                        "markdown": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "families": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "hasPanel": {
                      "type": "boolean"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "pricing": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "Read one module with its guide",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-10"
      }
    },
    "/storefront/page/{key}": {
      "get": {
        "operationId": "CustomizerStorefrontController_page",
        "parameters": [
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "component": {},
                    "key": {},
                    "mainLocale": {},
                    "publishedLayout": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read a published Customizer page by key",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/payment-gateways": {
      "get": {
        "operationId": "BillingStorefrontController_paymentGateways",
        "parameters": [
          {
            "description": "Language code, e.g. en or de. Names and messages come back in it.",
            "in": "query",
            "name": "locale",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "ISO 4217 code the buyer is charged in; an unserved one falls back to the store's main currency.",
            "in": "query",
            "name": "currency",
            "schema": {
              "pattern": "^[A-Za-z]{3}$",
              "type": "string"
            }
          },
          {
            "description": "The basket total in the store's main currency, for method rules.",
            "in": "query",
            "name": "baseTotalCents",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The buyer's country code, for method rules.",
            "in": "query",
            "name": "country",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma list of the basket's product families, for method rules.",
            "in": "query",
            "name": "families",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "flow": {},
                      "method": {},
                      "title": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "payment-methods:read"
            ]
          }
        ],
        "summary": "List enabled payment methods; credentials are never exposed",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "payment-methods:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/products": {
      "get": {
        "operationId": "OrdersController_homepageProducts",
        "parameters": [
          {
            "description": "Category slug.",
            "in": "query",
            "name": "category",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "addOns": {
                        "items": {
                          "properties": {
                            "amountCents": {
                              "type": "integer"
                            },
                            "billingCycle": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "description": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "descriptionTranslations": {
                              "type": "object"
                            },
                            "id": {
                              "type": "string"
                            },
                            "maxQuantity": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nameTranslations": {
                              "type": "object"
                            },
                            "recurring": {
                              "type": "boolean"
                            },
                            "setupFeeCents": {
                              "type": "integer"
                            },
                            "slug": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "category": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "configurationFields": {
                        "items": {
                          "properties": {
                            "checkUrl": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "help": {
                              "type": "object"
                            },
                            "key": {
                              "type": "string"
                            },
                            "label": {
                              "type": "object"
                            },
                            "maxLength": {
                              "type": [
                                "integer",
                                "null"
                              ]
                            },
                            "pattern": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "type": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "description": {
                        "type": "string"
                      },
                      "descriptionTranslations": {
                        "type": "object"
                      },
                      "domainRequirement": {
                        "type": "string"
                      },
                      "family": {
                        "type": "string"
                      },
                      "featured": {
                        "type": "boolean"
                      },
                      "freeDomainBillingCycle": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "freeDomainTerm": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "id": {
                        "type": "string"
                      },
                      "minimumPriceCents": {
                        "type": "integer"
                      },
                      "name": {
                        "type": "string"
                      },
                      "nameTranslations": {
                        "type": "object"
                      },
                      "prices": {
                        "items": {
                          "properties": {
                            "amountCents": {
                              "type": "integer"
                            },
                            "billingCycle": {
                              "type": "string"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "id": {
                              "type": "string"
                            },
                            "setupFeeCents": {
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "sortOrder": {
                        "type": "integer"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "List active products, optionally by category",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/redirects": {
      "get": {
        "operationId": "RedirectsStorefrontController_active",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "from": {},
                      "permanent": {},
                      "to": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "List the storefront's configured URL redirects",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/settings": {
      "get": {
        "operationId": "BillingStorefrontController_settings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "companyAddress": {},
                    "companyCity": {},
                    "companyCountry": {},
                    "companyEmail": {},
                    "companyName": {},
                    "companyPhone": {},
                    "companyVatNumber": {},
                    "companyZip": {},
                    "currencyConfig": {},
                    "faviconUrl": {},
                    "installedLanguages": {},
                    "languages": {},
                    "metaDescription": {},
                    "ogTitleSuffix": {},
                    "siteLogoDarkUrl": {},
                    "siteLogoUrl": {},
                    "siteName": {},
                    "siteUrl": {},
                    "taxCountries": {},
                    "termsUrl": {},
                    "uploads": {},
                    "vatPercent": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "catalog:read"
            ]
          }
        ],
        "summary": "Read public checkout settings including VAT percent",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "catalog:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/storefront/theme": {
      "get": {
        "operationId": "ThemeStorefrontController_active",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "cookieDomain": {},
                    "footer": {},
                    "header": {},
                    "languages": {},
                    "menus": {},
                    "pages": {},
                    "theme": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "publishableKey": [
              "content:read"
            ]
          }
        ],
        "summary": "Read the active theme, menus and footer for rendering",
        "tags": [
          "storefront"
        ],
        "x-teculiar-auth": "none",
        "x-teculiar-scope": "content:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets": {
      "get": {
        "operationId": "TicketsController_listTickets",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Department id.",
            "in": "query",
            "name": "department",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "attachments": {
                        "items": {
                          "properties": {
                            "createdAt": {},
                            "expiresAt": {},
                            "fileName": {},
                            "id": {},
                            "mimeType": {},
                            "removedReason": {},
                            "sizeBytes": {},
                            "storageKey": {},
                            "url": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "createdAt": {},
                      "department": {
                        "properties": {
                          "color": {},
                          "id": {},
                          "name": {},
                          "slug": {}
                        },
                        "type": "object"
                      },
                      "id": {},
                      "paid": {},
                      "priority": {},
                      "publicId": {},
                      "replies": {
                        "items": {
                          "properties": {
                            "attachments": {
                              "items": {
                                "properties": {
                                  "createdAt": {},
                                  "expiresAt": {},
                                  "fileName": {},
                                  "id": {},
                                  "mimeType": {},
                                  "removedReason": {},
                                  "sizeBytes": {},
                                  "storageKey": {},
                                  "url": {}
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "body": {},
                            "createdAt": {},
                            "id": {},
                            "system": {},
                            "user": {
                              "properties": {
                                "avatarUrl": {},
                                "id": {},
                                "name": {}
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "service": {
                        "properties": {
                          "id": {},
                          "product": {
                            "properties": {
                              "id": {},
                              "name": {},
                              "type": {}
                            },
                            "type": "object"
                          },
                          "status": {}
                        },
                        "type": "object"
                      },
                      "status": {},
                      "subject": {},
                      "updatedAt": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:read"
            ]
          }
        ],
        "summary": "List the customer's tickets",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:read",
        "x-teculiar-since": "2026-09"
      },
      "post": {
        "operationId": "TicketsController_createTicket",
        "parameters": [
          {
            "description": "A unique value per intended request (1 to 200 of A-Z a-z 0-9 - _). A retry with the same key and body returns the first answer instead of repeating the work.",
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "pattern": "^[A-Za-z0-9_-]{1,200}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "departmentId": {
                    "type": "string"
                  },
                  "paid": {
                    "description": "An URGENT ticket needs a paid ticket credit: without paid, it is refused.",
                    "type": "boolean"
                  },
                  "priority": {
                    "enum": [
                      "LOW",
                      "NORMAL",
                      "HIGH",
                      "URGENT"
                    ],
                    "type": "string"
                  },
                  "serviceId": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string"
                  }
                },
                "required": [
                  "subject",
                  "body",
                  "departmentId"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "attachments": {
                      "items": {
                        "properties": {
                          "createdAt": {},
                          "expiresAt": {},
                          "fileName": {},
                          "id": {},
                          "mimeType": {},
                          "removedReason": {},
                          "sizeBytes": {},
                          "storageKey": {},
                          "url": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "createdAt": {},
                    "department": {
                      "properties": {
                        "color": {},
                        "id": {},
                        "name": {},
                        "slug": {}
                      },
                      "type": "object"
                    },
                    "id": {},
                    "paid": {},
                    "priority": {},
                    "publicId": {},
                    "replies": {
                      "items": {
                        "properties": {
                          "attachments": {
                            "items": {
                              "properties": {
                                "createdAt": {},
                                "expiresAt": {},
                                "fileName": {},
                                "id": {},
                                "mimeType": {},
                                "removedReason": {},
                                "sizeBytes": {},
                                "storageKey": {},
                                "url": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "body": {},
                          "createdAt": {},
                          "id": {},
                          "system": {},
                          "user": {
                            "properties": {
                              "avatarUrl": {},
                              "id": {},
                              "name": {}
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "service": {
                      "properties": {
                        "id": {},
                        "product": {
                          "properties": {
                            "id": {},
                            "name": {},
                            "type": {}
                          },
                          "type": "object"
                        },
                        "status": {}
                      },
                      "type": "object"
                    },
                    "status": {},
                    "subject": {},
                    "updatedAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:write"
            ]
          }
        ],
        "summary": "Open a support ticket",
        "tags": [
          "tickets"
        ],
        "x-idempotent": true,
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets/{id}": {
      "get": {
        "operationId": "TicketsController_getTicket",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "attachments": {
                      "items": {
                        "properties": {
                          "createdAt": {},
                          "expiresAt": {},
                          "fileName": {},
                          "id": {},
                          "mimeType": {},
                          "removedReason": {},
                          "sizeBytes": {},
                          "storageKey": {},
                          "url": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "createdAt": {},
                    "department": {
                      "properties": {
                        "color": {},
                        "id": {},
                        "name": {},
                        "slug": {}
                      },
                      "type": "object"
                    },
                    "id": {},
                    "paid": {},
                    "priority": {},
                    "publicId": {},
                    "replies": {
                      "items": {
                        "properties": {
                          "attachments": {
                            "items": {
                              "properties": {
                                "createdAt": {},
                                "expiresAt": {},
                                "fileName": {},
                                "id": {},
                                "mimeType": {},
                                "removedReason": {},
                                "sizeBytes": {},
                                "storageKey": {},
                                "url": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "body": {},
                          "createdAt": {},
                          "id": {},
                          "system": {},
                          "user": {
                            "properties": {
                              "avatarUrl": {},
                              "id": {},
                              "name": {}
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "service": {
                      "properties": {
                        "id": {},
                        "product": {
                          "properties": {
                            "id": {},
                            "name": {},
                            "type": {}
                          },
                          "type": "object"
                        },
                        "status": {}
                      },
                      "type": "object"
                    },
                    "status": {},
                    "subject": {},
                    "updatedAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:read"
            ]
          }
        ],
        "summary": "Read one ticket with its replies",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets/{id}/attachments": {
      "post": {
        "operationId": "TicketsController_uploadAttachments",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "description": "Up to 5 files of the allowed types.",
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "replyId": {
                    "description": "Attach to this reply instead of the ticket.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "createdAt": {},
                      "expiresAt": {},
                      "fileName": {},
                      "id": {},
                      "mimeType": {},
                      "removedReason": {},
                      "sizeBytes": {},
                      "storageKey": {},
                      "url": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:write"
            ]
          }
        ],
        "summary": "Attach files to a ticket or reply",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets/{id}/close": {
      "post": {
        "operationId": "TicketsController_closeTicket",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "attachments": {
                      "items": {
                        "properties": {
                          "createdAt": {},
                          "expiresAt": {},
                          "fileName": {},
                          "id": {},
                          "mimeType": {},
                          "removedReason": {},
                          "sizeBytes": {},
                          "storageKey": {},
                          "url": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "createdAt": {},
                    "department": {
                      "properties": {
                        "color": {},
                        "id": {},
                        "name": {},
                        "slug": {}
                      },
                      "type": "object"
                    },
                    "id": {},
                    "paid": {},
                    "priority": {},
                    "publicId": {},
                    "replies": {
                      "items": {
                        "properties": {
                          "attachments": {
                            "items": {
                              "properties": {
                                "createdAt": {},
                                "expiresAt": {},
                                "fileName": {},
                                "id": {},
                                "mimeType": {},
                                "removedReason": {},
                                "sizeBytes": {},
                                "storageKey": {},
                                "url": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "body": {},
                          "createdAt": {},
                          "id": {},
                          "system": {},
                          "user": {
                            "properties": {
                              "avatarUrl": {},
                              "id": {},
                              "name": {}
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "service": {
                      "properties": {
                        "id": {},
                        "product": {
                          "properties": {
                            "id": {},
                            "name": {},
                            "type": {}
                          },
                          "type": "object"
                        },
                        "status": {}
                      },
                      "type": "object"
                    },
                    "status": {},
                    "subject": {},
                    "updatedAt": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:write"
            ]
          }
        ],
        "summary": "Close a ticket",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets/{id}/replies": {
      "post": {
        "operationId": "TicketsController_createReply",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "internal": {
                    "description": "Staff notes only; a customer who sets it is refused.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "body"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "attachments": {
                      "items": {
                        "properties": {
                          "createdAt": {},
                          "expiresAt": {},
                          "fileName": {},
                          "id": {},
                          "mimeType": {},
                          "removedReason": {},
                          "sizeBytes": {},
                          "storageKey": {},
                          "url": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "body": {},
                    "createdAt": {},
                    "id": {},
                    "system": {},
                    "user": {
                      "properties": {
                        "avatarUrl": {},
                        "id": {},
                        "name": {}
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:write"
            ]
          }
        ],
        "summary": "Reply to a ticket",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/tickets/departments": {
      "get": {
        "operationId": "TicketsController_departments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "color": {},
                      "id": {},
                      "name": {},
                      "slug": {}
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "tickets:read"
            ]
          }
        ],
        "summary": "List the departments a ticket can be opened against",
        "tags": [
          "tickets"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "tickets:read",
        "x-teculiar-since": "2026-09"
      }
    },
    "/users/me": {
      "get": {
        "operationId": "UsersController_me",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "address": {},
                    "balanceCents": {},
                    "countryCode": {},
                    "currency": {},
                    "currencyUpdatedAt": {},
                    "customerNumber": {},
                    "customerType": {},
                    "email": {},
                    "id": {},
                    "locale": {},
                    "localeUpdatedAt": {},
                    "name": {},
                    "phone": {},
                    "vatId": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:read"
            ]
          }
        ],
        "summary": "Read the signed-in customer's profile",
        "tags": [
          "users"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:read",
        "x-teculiar-since": "2026-09"
      },
      "patch": {
        "operationId": "UsersController_updateMe",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "address": {
                    "type": "object"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "currency": {
                    "description": "The currency the customer is billed in; must be one the store lists.",
                    "type": "string"
                  },
                  "customerType": {
                    "enum": [
                      "INDIVIDUAL",
                      "BUSINESS"
                    ],
                    "type": "string"
                  },
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "locale": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "vatId": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "address": {},
                    "balanceCents": {},
                    "countryCode": {},
                    "currency": {},
                    "currencyUpdatedAt": {},
                    "customerNumber": {},
                    "customerType": {},
                    "email": {},
                    "id": {},
                    "locale": {},
                    "localeUpdatedAt": {},
                    "name": {},
                    "phone": {},
                    "vatId": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:write"
            ]
          }
        ],
        "summary": "Update the signed-in customer's profile",
        "tags": [
          "users"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:write",
        "x-teculiar-since": "2026-09"
      }
    },
    "/users/me/export": {
      "get": {
        "operationId": "UsersController_exportMe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "domains": {
                      "items": {
                        "properties": {
                          "autoRenew": {},
                          "domain": {},
                          "expiresAt": {},
                          "id": {},
                          "nameservers": {},
                          "nextDueAt": {},
                          "recurringAmountCents": {},
                          "registrationDate": {},
                          "registrationPeriodYears": {},
                          "status": {},
                          "type": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "exportedAt": {},
                    "invoices": {
                      "items": {
                        "properties": {
                          "currency": {},
                          "customerSnapshot": {},
                          "discountCents": {},
                          "dueAt": {},
                          "finalInvoiceNumber": {},
                          "footerLines": {},
                          "id": {},
                          "invoiceNumber": {},
                          "issuedAt": {},
                          "items": {
                            "items": {
                              "properties": {
                                "billingCycle": {},
                                "description": {},
                                "discountCents": {},
                                "id": {},
                                "quantity": {},
                                "servicePeriodEnd": {},
                                "servicePeriodStart": {},
                                "subtotalCents": {},
                                "taxAmountCents": {},
                                "taxRate": {},
                                "totalCents": {},
                                "type": {},
                                "unitAmountCents": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "lastPaymentErrorAt": {},
                          "lastPaymentErrorCode": {},
                          "locale": {},
                          "paidAt": {},
                          "paymentAttempts": {},
                          "paymentMethodLabel": {},
                          "reverseCharge": {},
                          "sellerSnapshot": {},
                          "status": {},
                          "subtotalCents": {},
                          "taxAmountCents": {},
                          "taxReason": {},
                          "totalCents": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "orders": {
                      "items": {
                        "properties": {
                          "createdAt": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "items": {
                            "items": {
                              "properties": {
                                "amountCents": {
                                  "type": "integer"
                                },
                                "billingCycle": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "id": {
                                  "type": "string"
                                },
                                "setupFeeCents": {
                                  "type": "integer"
                                },
                                "status": {
                                  "type": "string"
                                },
                                "type": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "orderNumber": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "subtotalCents": {
                            "type": "integer"
                          },
                          "taxAmountCents": {
                            "type": "integer"
                          },
                          "totalCents": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "profile": {
                      "properties": {
                        "address": {},
                        "balanceCents": {},
                        "countryCode": {},
                        "currency": {},
                        "currencyUpdatedAt": {},
                        "customerNumber": {},
                        "customerType": {},
                        "email": {},
                        "id": {},
                        "locale": {},
                        "localeUpdatedAt": {},
                        "name": {},
                        "phone": {},
                        "vatId": {}
                      },
                      "type": "object"
                    },
                    "services": {
                      "items": {
                        "properties": {
                          "autoRenew": {},
                          "billingCycle": {},
                          "bundledDomains": {
                            "items": {
                              "properties": {
                                "autoRenew": {},
                                "domain": {},
                                "expiresAt": {},
                                "id": {},
                                "status": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "cancelAt": {},
                          "cancelledAt": {},
                          "createdAt": {},
                          "domainRecords": {
                            "items": {
                              "properties": {
                                "autoRenew": {},
                                "domain": {},
                                "expiresAt": {},
                                "id": {},
                                "nameservers": {},
                                "nextDueAt": {},
                                "recurringAmountCents": {},
                                "registrationDate": {},
                                "registrationPeriodYears": {},
                                "status": {},
                                "type": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "id": {},
                          "nextDueAt": {},
                          "product": {
                            "properties": {
                              "category": {
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "slug": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "description": {},
                              "id": {},
                              "name": {},
                              "nameTranslations": {},
                              "slug": {},
                              "type": {}
                            },
                            "type": "object"
                          },
                          "productPrice": {
                            "properties": {
                              "amountCents": {
                                "type": "integer"
                              },
                              "billingCycle": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string"
                              },
                              "setupFeeCents": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "recurringAmountCents": {},
                          "renewsAt": {},
                          "serviceAddOns": {
                            "items": {
                              "properties": {
                                "addOn": {
                                  "properties": {
                                    "id": {},
                                    "name": {},
                                    "slug": {}
                                  },
                                  "type": "object"
                                },
                                "id": {},
                                "quantity": {}
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "setupFeeCents": {},
                          "startedAt": {},
                          "status": {},
                          "suspendedAt": {},
                          "terminatedAt": {}
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "userId": {}
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          }
        },
        "security": [
          {
            "customerToken": [
              "customers:read"
            ]
          }
        ],
        "summary": "Export everything this account holds",
        "tags": [
          "users"
        ],
        "x-teculiar-auth": "customer",
        "x-teculiar-scope": "customers:read",
        "x-teculiar-since": "2026-09"
      }
    }
  },
  "servers": [
    {
      "description": "A tenant's own API host",
      "url": "https://api.{tenantDomain}/api/v1"
    },
    {
      "description": "Zero-setup tenant host",
      "url": "https://{tenant}.teculiar.net/api/v1"
    }
  ]
}
