{
    "schemes": [],
    "swagger": "2.0",
    "info": {
        "description": "This service manages Brand voices",
        "title": "BrandVoiceService",
        "contact": {},
        "version": "1.0"
    },
    "host": "",
    "basePath": "",
    "paths": {
        "/static-values": {
            "get": {
                "description": "Returns all static values used for brand voice configuration like formats, rules and preferences",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "StaticValues"
                ],
                "summary": "Get static values",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved static values",
                        "schema": {
                            "$ref": "#/definitions/staticvalues.StaticValues"
                        }
                    }
                }
            }
        },
        "/v1/brand-voices": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve a list of brand voices.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Private"
                ],
                "summary": "List brand voices",
                "parameters": [
                    {
                        "type": "string",
                        "example": "20,12,92",
                        "description": "Filter by imported personality ids",
                        "name": "importedFromChatPersonalityIds",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response with list of brand voices",
                        "schema": {
                            "$ref": "#/definitions/brandvoice.BrandVoicePaginationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not found: no matching brand voices"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voice-file-imports": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "FileImport"
                ],
                "summary": "Creates a file import that converts the content into a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateBrandVoiceFileImportRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/fileimport.CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully  created brand voice import",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceImportResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voice-limits": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve details of a brand voice limits.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Returns brand voice limits",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved brand voice limit",
                        "schema": {
                            "$ref": "#/definitions/brandvoicelimit.LimitResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voice-text-imports": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TextImport"
                ],
                "summary": "Creates a text import that converts it into a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "BrandVoiceTextImport Creation Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/textimport.CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully  created brand voice import",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceImportResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voice-url-imports": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UrlImport"
                ],
                "summary": "Creates an UrlImport that parses the content of the given page and converts it into a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "BrandVoiceUrlImport creation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/urlimport.CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created brand voice import",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceImportResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve a paginated list of brand voices based on filtering criteria such as name, country, language, owner, and workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "List brand voices",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"BrandName\"",
                        "description": "Filter by brand voice name",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "\"BrandName\"",
                        "description": "Filter by brand voice name, brand name and URL",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "\"us\"",
                        "description": "Filter by country (ISO Alpha-2 code)",
                        "name": "country",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "\"en\"",
                        "description": "Filter by language (ISO Alpha-2 code)",
                        "name": "language",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "example": 10420,
                        "description": "Filter by customer ID",
                        "name": "ownerLegacyCustomerId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "20,12,92",
                        "description": "Filter by imported personality ids",
                        "name": "importedFromChatPersonalityIds",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "default": true,
                        "description": "Include related data",
                        "name": "withRelations",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "default": true,
                        "description": "Include default brand voice first",
                        "name": "includeDefaultFirst",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "updated_at",
                        "description": "Sort: empty, most_recent, updated_at, name",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "ASC",
                        "description": "Sort: ASC, DESC",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page",
                        "name": "page",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Page size (1-100)",
                        "name": "size",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response with list of brand voices",
                        "schema": {
                            "$ref": "#/definitions/brandvoice.BrandVoicePaginationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not found: no matching brand voices"
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Create a new brand voice for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Create a new brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Brand voice creation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceCreatable"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoice"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve details of a brand voice by its ID for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Find a brand voice by ID",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand voice ID",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoice"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Update the details of a brand voice by ID for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Update a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand voice ID",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Brand voice update request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceUpdatable"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoice"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Delete a brand voice by its ID for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Delete a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand voice ID",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted brand voice"
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/calculate-contradiction": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Calculates brand voice contradiction and saves the result.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Calculates brand voice contradiction",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand voice ID",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Calculate contradiction request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/brandvoicecontradiction.CalculateContradiction"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully calculated contradiction for brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoice"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/ds-prompt": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Returns DS formatted brand voice by its ID for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Converts a brand voice into the format which is needed as input by datascience",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand voice ID",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned response",
                        "schema": {
                            "$ref": "#/definitions/brandvoice.BrandVoiceDataScienceResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/duplicate": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Duplicate a new brand voice for the given workspace.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Duplicate a brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Brand Voice ID to duplicate",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Duplication request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/brandvoice.DuplicationCreatable"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully duplicated brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoice"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/upgrade": {
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Converts a legacy brand voice to the new format using its creation source text",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoice"
                ],
                "summary": "Upgrade a legacy brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Brand Voice ID to upgrade",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Upgrade request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/brandvoiceupgrade.CreateCmd"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Successfully started brand voice upgrade"
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/usage": {
            "put": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Create a documented usage of a brand voice which is used to determine the most recently used brand voice.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BrandVoiceUsage"
                ],
                "summary": "Creates a usage of brand voice",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "77b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "BrandVoice ID (uuid4)",
                        "name": "brandVoiceId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The usage was successfully stored for brand voice",
                        "schema": {
                            "$ref": "#/definitions/models.BrandVoiceUsage"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand voice not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brands": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve a paginated list of brands for the given workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Brand"
                ],
                "summary": "List brands",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Page size",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/brand.BrandPage"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Create a new brand for the given workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Brand"
                ],
                "summary": "Create a new brand",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Brand creation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.BrandUpdatable"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created brand",
                        "schema": {
                            "$ref": "#/definitions/models.Brand"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/brands/{brandId}": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Retrieve details of a brand by its ID for the given workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Brand"
                ],
                "summary": "Get brand by ID",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand ID",
                        "name": "brandId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved brand",
                        "schema": {
                            "$ref": "#/definitions/models.Brand"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand not found"
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Update a brand by its ID for the given workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Brand"
                ],
                "summary": "Update a brand",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand ID",
                        "name": "brandId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Brand update request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.BrandUpdatable"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated brand",
                        "schema": {
                            "$ref": "#/definitions/models.Brand"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand not found"
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Delete a brand by its ID for the given workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Brand"
                ],
                "summary": "Delete a brand",
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "\"67890\"",
                        "description": "Brand ID",
                        "name": "brandId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted brand"
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Brand not found"
                    }
                }
            }
        },
        "/v1/workspaces/{workspaceId}/customers/{customerId}/default-brand-voices": {
            "get": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CustomerDefaultBrandVoice"
                ],
                "summary": "List the default brand voices of the given customer",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "1",
                        "description": "Legacy Customer ID",
                        "name": "customerId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "example": "en",
                        "description": "Country",
                        "name": "country",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "us",
                        "description": "Language",
                        "name": "language",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully added a default brand voice for the given customer",
                        "schema": {
                            "$ref": "#/definitions/customerdefaultbv.CustomerDefaultBrandVoicePage"
                        }
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Authorization": []
                    },
                    {
                        "GatewayAuthorization": []
                    }
                ],
                "description": "Sets brand voice as default for the provided locale for the given workspace and customer.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CustomerDefaultBrandVoice"
                ],
                "summary": "Sets brand voice as default for the provided locale",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "default": "27b01216-dc39-4cf4-9681-18443a6ea78e",
                        "description": "Workspace ID (uuid4)",
                        "name": "workspaceId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "1",
                        "description": "Legacy Customer ID",
                        "name": "customerId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Customer Default Brand voice create cmd",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/models.CustomerDefaultBrandVoiceUpdatable"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully added default brand voice"
                    },
                    "400": {
                        "description": "Bad request: validation errors",
                        "schema": {
                            "$ref": "#/definitions/models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        }
    },
    "definitions": {
        "brand.BrandPage": {
            "type": "object",
            "required": [
                "data",
                "page"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Brand"
                    }
                },
                "page": {
                    "$ref": "#/definitions/nfpage.Page"
                }
            }
        },
        "brandvoice.BrandVoiceDataScienceResponse": {
            "type": "object",
            "required": [
                "country",
                "id",
                "importedFromChatPersonalityId",
                "language",
                "legacy",
                "name",
                "newDefinition",
                "oldDefinition"
            ],
            "properties": {
                "country": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "importedFromChatPersonalityId": {
                    "type": "integer"
                },
                "language": {
                    "type": "string"
                },
                "legacy": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "newDefinition": {
                    "$ref": "#/definitions/brandvoice.DataSciencePromptDefinition"
                },
                "oldDefinition": {
                    "type": "string"
                }
            }
        },
        "brandvoice.BrandVoicePaginationResponse": {
            "type": "object",
            "required": [
                "data",
                "page"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.BrandVoice"
                    }
                },
                "page": {
                    "$ref": "#/definitions/nfpage.Page"
                }
            }
        },
        "brandvoice.DataSciencePromptDefinition": {
            "type": "object",
            "required": [
                "abbreviations",
                "additional_rules",
                "brand_information",
                "brand_voice",
                "emojiUsage",
                "gendering",
                "glossary",
                "settings"
            ],
            "properties": {
                "abbreviations": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "additional_rules": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "brand_information": {
                    "$ref": "#/definitions/brandvoiceimport.DSBrandInformation"
                },
                "brand_voice": {
                    "$ref": "#/definitions/brandvoiceimport.DSBrandVoice"
                },
                "emojiUsage": {
                    "$ref": "#/definitions/brandvoiceimport.DSEmojiUsage"
                },
                "gendering": {
                    "description": "ContentExamples DSContentExamples `json:\"content_examples\"`",
                    "allOf": [
                        {
                            "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                        }
                    ]
                },
                "glossary": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "settings": {
                    "$ref": "#/definitions/brandvoiceimport.DSBrandSettings"
                }
            }
        },
        "brandvoice.DuplicationCreatable": {
            "type": "object",
            "properties": {
                "newName": {
                    "type": "string",
                    "maxLength": 50
                }
            }
        },
        "brandvoicecontradiction.CalculateContradiction": {
            "type": "object",
            "required": [
                "audienceModelId"
            ],
            "properties": {
                "audienceModelId": {
                    "type": "string",
                    "example": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
                }
            }
        },
        "brandvoiceimport.DSBrandInformation": {
            "type": "object",
            "required": [
                "brand_info_values",
                "brand_name",
                "contact_details",
                "website"
            ],
            "properties": {
                "brand_info_values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "brand_name": {
                    "type": "string"
                },
                "contact_details": {
                    "$ref": "#/definitions/brandvoiceimport.DSContactDetails"
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "brandvoiceimport.DSBrandSettings": {
            "type": "object",
            "required": [
                "currencyFormat",
                "dateFormat",
                "numberFormat",
                "phoneNumberFormat",
                "timeFormat"
            ],
            "properties": {
                "currencyFormat": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "dateFormat": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "numberFormat": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "phoneNumberFormat": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "timeFormat": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                }
            }
        },
        "brandvoiceimport.DSBrandVoice": {
            "type": "object",
            "required": [
                "general_tone",
                "language_preferences",
                "voice_description"
            ],
            "properties": {
                "general_tone": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "number",
                        "format": "float64"
                    }
                },
                "language_preferences": {
                    "$ref": "#/definitions/brandvoiceimport.DSLanguagePref"
                },
                "voice_description": {
                    "type": "string"
                }
            }
        },
        "brandvoiceimport.DSContactDetails": {
            "type": "object",
            "required": [
                "address",
                "email",
                "phones",
                "social_media_links"
            ],
            "properties": {
                "address": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "phones": {
                    "type": "string"
                },
                "social_media_links": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "brandvoiceimport.DSEmojiUsage": {
            "type": "object",
            "required": [
                "additional_restrictions",
                "options",
                "selected_option"
            ],
            "properties": {
                "additional_restrictions": {
                    "type": "object",
                    "required": [
                        "no_aggressive_or_controverse_emojis"
                    ],
                    "properties": {
                        "no_aggressive_or_controverse_emojis": {
                            "type": "boolean"
                        }
                    }
                },
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "selected_option": {
                    "type": "string"
                }
            }
        },
        "brandvoiceimport.DSLanguagePref": {
            "type": "object",
            "required": [
                "activeVsPassive",
                "contentLocale",
                "headlinePunctuation",
                "hyphenationRules",
                "industry_jargon",
                "perspective_and_pronoun_usage",
                "vocabulary"
            ],
            "properties": {
                "activeVsPassive": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "contentLocale": {
                    "type": "string"
                },
                "headlinePunctuation": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOptions"
                },
                "hyphenationRules": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOptions"
                },
                "industry_jargon": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOption"
                },
                "perspective_and_pronoun_usage": {
                    "$ref": "#/definitions/brandvoiceimport.DSSelectedOptions"
                },
                "vocabulary": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "brandvoiceimport.DSSelectedOption": {
            "type": "object",
            "required": [
                "options",
                "selected_option"
            ],
            "properties": {
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "selected_option": {
                    "type": "string"
                }
            }
        },
        "brandvoiceimport.DSSelectedOptions": {
            "type": "object",
            "required": [
                "options",
                "selected_options"
            ],
            "properties": {
                "options": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "selected_options": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "brandvoicelimit.LimitConfiguration": {
            "type": "object",
            "required": [
                "available",
                "currentUsage",
                "isUnlimited",
                "limit"
            ],
            "properties": {
                "available": {
                    "type": "boolean"
                },
                "currentUsage": {
                    "type": "integer"
                },
                "isUnlimited": {
                    "type": "boolean"
                },
                "limit": {
                    "type": "integer"
                }
            }
        },
        "brandvoicelimit.LimitResponse": {
            "type": "object",
            "required": [
                "create"
            ],
            "properties": {
                "create": {
                    "$ref": "#/definitions/brandvoicelimit.LimitConfiguration"
                }
            }
        },
        "brandvoiceupgrade.CreateCmd": {
            "type": "object",
            "required": [
                "audienceModelId"
            ],
            "properties": {
                "audienceModelId": {
                    "type": "string",
                    "example": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
                }
            }
        },
        "customerdefaultbv.CustomerDefaultBrandVoicePage": {
            "type": "object",
            "required": [
                "data",
                "page"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.CustomerDefaultBrandVoice"
                    }
                },
                "page": {
                    "$ref": "#/definitions/nfpage.Page"
                }
            }
        },
        "fileimport.CreateRequest": {
            "type": "object",
            "required": [
                "audienceModelId",
                "country",
                "fileContent",
                "filename",
                "language",
                "mimeType"
            ],
            "properties": {
                "audienceModelId": {
                    "type": "string",
                    "example": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "fileContent": {
                    "type": "string"
                },
                "filename": {
                    "type": "string"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "mimeType": {
                    "type": "string",
                    "example": "application/pdf"
                }
            }
        },
        "models.Brand": {
            "type": "object",
            "required": [
                "address",
                "createdAt",
                "createdByUserId",
                "email",
                "facebookLink",
                "id",
                "instagramLink",
                "legacy",
                "linkedinLink",
                "name",
                "ownerLegacyCustomerId",
                "phones",
                "updatedAt",
                "values",
                "website"
            ],
            "properties": {
                "address": {
                    "type": "string",
                    "maxLength": 500,
                    "example": "Germany, Berlin, ..."
                },
                "createdAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "createdByUserId": {
                    "type": "string",
                    "example": "b0920767-2e30-48d3-80ce-268810bc433a"
                },
                "email": {
                    "type": "string",
                    "example": "test@neuroflash.com"
                },
                "facebookLink": {
                    "type": "string",
                    "example": "https://facebook.com/test"
                },
                "id": {
                    "type": "string",
                    "example": "113c0b32-ed6c-4421-b7da-d1faf238eb56"
                },
                "instagramLink": {
                    "type": "string",
                    "example": "https://instagram.com/test"
                },
                "legacy": {
                    "description": "while this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first",
                    "type": "boolean",
                    "example": false
                },
                "linkedinLink": {
                    "type": "string",
                    "example": "https://linkedin.com/test"
                },
                "name": {
                    "type": "string",
                    "maxLength": 200,
                    "example": "neuroflash"
                },
                "ownerLegacyCustomerId": {
                    "type": "integer",
                    "example": 32
                },
                "phones": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "+00000000",
                        "+11111111"
                    ]
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "proactivity",
                        "stability"
                    ]
                },
                "website": {
                    "type": "string",
                    "example": "https://test.com"
                }
            }
        },
        "models.BrandUpdatable": {
            "type": "object",
            "required": [
                "address",
                "email",
                "facebookLink",
                "instagramLink",
                "linkedinLink",
                "name",
                "phones",
                "values",
                "website"
            ],
            "properties": {
                "address": {
                    "type": "string",
                    "maxLength": 500,
                    "example": "Germany, Berlin, ..."
                },
                "email": {
                    "type": "string",
                    "example": "test@neuroflash.com"
                },
                "facebookLink": {
                    "type": "string",
                    "example": "https://facebook.com/test"
                },
                "instagramLink": {
                    "type": "string",
                    "example": "https://instagram.com/test"
                },
                "linkedinLink": {
                    "type": "string",
                    "example": "https://linkedin.com/test"
                },
                "name": {
                    "type": "string",
                    "maxLength": 200,
                    "example": "neuroflash"
                },
                "phones": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "+00000000",
                        "+11111111"
                    ]
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "proactivity",
                        "stability"
                    ]
                },
                "website": {
                    "type": "string",
                    "example": "https://test.com"
                }
            }
        },
        "models.BrandVoice": {
            "type": "object",
            "required": [
                "_embedded",
                "abbreviationRules",
                "active",
                "activeVoice",
                "advancedRules",
                "brand",
                "completenessRating",
                "contentExamples",
                "contradictionMessage",
                "country",
                "createdAt",
                "createdByUserId",
                "creationSourceDocumentID",
                "creationSourceText",
                "creationSourceType",
                "creationSourceURL",
                "currencyFormat",
                "dateFormat",
                "description",
                "donts",
                "emojiUsage",
                "gendering",
                "generalTone",
                "glossaries",
                "headlinePunctuation",
                "hyphenationRules",
                "id",
                "importedFromChatPersonalityId",
                "industryJargon",
                "isContradictory",
                "language",
                "legacy",
                "name",
                "numberFormat",
                "ownerLegacyCustomerID",
                "personal",
                "perspective",
                "phoneNumberFormat",
                "thumbnailBase64",
                "thumbnailUrl",
                "timeFormat",
                "updatedAt",
                "useControversialEmojis",
                "useHeaderPunctuation",
                "useHyphens",
                "vocabulary",
                "workspaceId"
            ],
            "properties": {
                "_embedded": {
                    "description": "context information depending on the customer that made the request",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.BrandVoiceEmbedded"
                        }
                    ]
                },
                "abbreviationRules": {
                    "type": "string",
                    "example": "use_freely"
                },
                "active": {
                    "type": "boolean"
                },
                "activeVoice": {
                    "type": "boolean"
                },
                "advancedRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "brand": {
                    "description": "TODO: remove this field. Read can be done via embedded and write should be done via the brand endpoints",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.BrandUpdatable"
                        }
                    ]
                },
                "completenessRating": {
                    "type": "integer",
                    "example": 80
                },
                "contentExamples": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ContentExample"
                    }
                },
                "contradictionMessage": {
                    "type": "string",
                    "example": "Some contradiction message"
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "createdByUserId": {
                    "type": "string",
                    "example": "b0920767-2e30-48d3-80ce-268810bc433a"
                },
                "creationSourceDocumentID": {
                    "type": "string",
                    "maxLength": 36
                },
                "creationSourceText": {
                    "type": "string",
                    "example": "very interesting text that was used to import this brand voice"
                },
                "creationSourceType": {
                    "type": "string",
                    "maxLength": 30,
                    "enum": [
                        "text",
                        "manual",
                        "document",
                        "url",
                        "duplication"
                    ],
                    "example": "manual"
                },
                "creationSourceURL": {
                    "type": "string",
                    "maxLength": 500,
                    "example": "https://test.com"
                },
                "currencyFormat": {
                    "type": "string",
                    "example": "number_space_symbol"
                },
                "dateFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "description": {
                    "type": "string",
                    "example": "Description of Brand Voice"
                },
                "donts": {
                    "type": "string"
                },
                "emojiUsage": {
                    "type": "string",
                    "example": "no_emojis"
                },
                "gendering": {
                    "type": "string",
                    "example": "gender_neutral"
                },
                "generalTone": {
                    "$ref": "#/definitions/models.GormMap"
                },
                "glossaries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Glossary"
                    }
                },
                "headlinePunctuation": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "title_case"
                    ]
                },
                "hyphenationRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "allow_hyphenation_brand_name"
                    ]
                },
                "id": {
                    "type": "string",
                    "example": "113c0b32-ed6c-4421-b7da-d1faf238eb56"
                },
                "importedFromChatPersonalityId": {
                    "type": "integer"
                },
                "industryJargon": {
                    "type": "string",
                    "example": "no_jargon"
                },
                "isContradictory": {
                    "type": "boolean",
                    "example": true
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "legacy": {
                    "description": "while this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first\n-\u003e this conversion should also update the brand to be non-legacy",
                    "type": "boolean",
                    "example": false
                },
                "name": {
                    "type": "string",
                    "maxLength": 50,
                    "example": "My Brand Voice"
                },
                "numberFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "ownerLegacyCustomerID": {
                    "type": "integer",
                    "example": 123
                },
                "personal": {
                    "type": "boolean"
                },
                "perspective": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "first_person_singular"
                    ]
                },
                "phoneNumberFormat": {
                    "type": "string",
                    "example": "international_e164"
                },
                "thumbnailBase64": {
                    "description": "base64 encoded image\nTODO: remove this field and extract thumbnail into its own entity",
                    "type": "string"
                },
                "thumbnailUrl": {
                    "type": "string",
                    "example": "https://storage.googleapis.com/test/test.png"
                },
                "timeFormat": {
                    "type": "string",
                    "example": "24h"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "useControversialEmojis": {
                    "type": "boolean"
                },
                "useHeaderPunctuation": {
                    "type": "boolean"
                },
                "useHyphens": {
                    "type": "boolean"
                },
                "vocabulary": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ChatFlash",
                        "image generation"
                    ]
                },
                "workspaceId": {
                    "type": "string",
                    "example": "27b01216-dc39-4cf4-9681-18443a6ea78e"
                }
            }
        },
        "models.BrandVoiceCreatable": {
            "type": "object",
            "required": [
                "abbreviationRules",
                "active",
                "activeVoice",
                "advancedRules",
                "brand",
                "contentExamples",
                "country",
                "creationSourceDocumentID",
                "creationSourceText",
                "creationSourceType",
                "creationSourceURL",
                "currencyFormat",
                "dateFormat",
                "description",
                "donts",
                "emojiUsage",
                "gendering",
                "generalTone",
                "glossaries",
                "headlinePunctuation",
                "hyphenationRules",
                "industryJargon",
                "language",
                "name",
                "numberFormat",
                "personal",
                "perspective",
                "phoneNumberFormat",
                "thumbnailBase64",
                "timeFormat",
                "useControversialEmojis",
                "useHeaderPunctuation",
                "useHyphens",
                "vocabulary"
            ],
            "properties": {
                "abbreviationRules": {
                    "type": "string",
                    "example": "use_freely"
                },
                "active": {
                    "type": "boolean"
                },
                "activeVoice": {
                    "type": "boolean"
                },
                "advancedRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "brand": {
                    "description": "TODO: remove this field. Read can be done via embedded and write should be done via the brand endpoints",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.BrandUpdatable"
                        }
                    ]
                },
                "contentExamples": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ContentExample"
                    }
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "creationSourceDocumentID": {
                    "type": "string",
                    "maxLength": 36
                },
                "creationSourceText": {
                    "type": "string",
                    "example": "very interesting text that was used to import this brand voice"
                },
                "creationSourceType": {
                    "type": "string",
                    "maxLength": 30,
                    "enum": [
                        "text",
                        "manual",
                        "document",
                        "url",
                        "duplication"
                    ],
                    "example": "manual"
                },
                "creationSourceURL": {
                    "type": "string",
                    "maxLength": 500,
                    "example": "https://test.com"
                },
                "currencyFormat": {
                    "type": "string",
                    "example": "number_space_symbol"
                },
                "dateFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "description": {
                    "type": "string",
                    "example": "Description of Brand Voice"
                },
                "donts": {
                    "type": "string"
                },
                "emojiUsage": {
                    "type": "string",
                    "example": "no_emojis"
                },
                "gendering": {
                    "type": "string",
                    "example": "gender_neutral"
                },
                "generalTone": {
                    "$ref": "#/definitions/models.GormMap"
                },
                "glossaries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Glossary"
                    }
                },
                "headlinePunctuation": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "title_case"
                    ]
                },
                "hyphenationRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "allow_hyphenation_brand_name"
                    ]
                },
                "industryJargon": {
                    "type": "string",
                    "example": "no_jargon"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "name": {
                    "type": "string",
                    "maxLength": 50,
                    "example": "My Brand Voice"
                },
                "numberFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "personal": {
                    "type": "boolean"
                },
                "perspective": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "first_person_singular"
                    ]
                },
                "phoneNumberFormat": {
                    "type": "string",
                    "example": "international_e164"
                },
                "thumbnailBase64": {
                    "description": "base64 encoded image\nTODO: remove this field and extract thumbnail into its own entity",
                    "type": "string"
                },
                "timeFormat": {
                    "type": "string",
                    "example": "24h"
                },
                "useControversialEmojis": {
                    "type": "boolean"
                },
                "useHeaderPunctuation": {
                    "type": "boolean"
                },
                "useHyphens": {
                    "type": "boolean"
                },
                "vocabulary": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ChatFlash",
                        "image generation"
                    ]
                }
            }
        },
        "models.BrandVoiceEmbedded": {
            "type": "object",
            "required": [
                "brand",
                "permissions"
            ],
            "properties": {
                "brand": {
                    "$ref": "#/definitions/models.Brand"
                },
                "permissions": {
                    "$ref": "#/definitions/models.Permission"
                }
            }
        },
        "models.BrandVoiceImportResponse": {
            "type": "object",
            "required": [
                "brand",
                "brandVoice"
            ],
            "properties": {
                "brand": {
                    "$ref": "#/definitions/models.BrandUpdatable"
                },
                "brandVoice": {
                    "$ref": "#/definitions/models.BrandVoiceCreatable"
                }
            }
        },
        "models.BrandVoiceUpdatable": {
            "type": "object",
            "required": [
                "abbreviationRules",
                "active",
                "activeVoice",
                "advancedRules",
                "brand",
                "contentExamples",
                "country",
                "currencyFormat",
                "dateFormat",
                "description",
                "donts",
                "emojiUsage",
                "gendering",
                "generalTone",
                "glossaries",
                "headlinePunctuation",
                "hyphenationRules",
                "industryJargon",
                "language",
                "name",
                "numberFormat",
                "personal",
                "perspective",
                "phoneNumberFormat",
                "thumbnailBase64",
                "timeFormat",
                "useControversialEmojis",
                "useHeaderPunctuation",
                "useHyphens",
                "vocabulary"
            ],
            "properties": {
                "abbreviationRules": {
                    "type": "string",
                    "example": "use_freely"
                },
                "active": {
                    "type": "boolean"
                },
                "activeVoice": {
                    "type": "boolean"
                },
                "advancedRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "brand": {
                    "description": "TODO: remove this field. Read can be done via embedded and write should be done via the brand endpoints",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.BrandUpdatable"
                        }
                    ]
                },
                "contentExamples": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ContentExample"
                    }
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "currencyFormat": {
                    "type": "string",
                    "example": "number_space_symbol"
                },
                "dateFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "description": {
                    "type": "string",
                    "example": "Description of Brand Voice"
                },
                "donts": {
                    "type": "string"
                },
                "emojiUsage": {
                    "type": "string",
                    "example": "no_emojis"
                },
                "gendering": {
                    "type": "string",
                    "example": "gender_neutral"
                },
                "generalTone": {
                    "$ref": "#/definitions/models.GormMap"
                },
                "glossaries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.Glossary"
                    }
                },
                "headlinePunctuation": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "title_case"
                    ]
                },
                "hyphenationRules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "allow_hyphenation_brand_name"
                    ]
                },
                "industryJargon": {
                    "type": "string",
                    "example": "no_jargon"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "name": {
                    "type": "string",
                    "maxLength": 50,
                    "example": "My Brand Voice"
                },
                "numberFormat": {
                    "type": "string",
                    "example": "EN"
                },
                "personal": {
                    "type": "boolean"
                },
                "perspective": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "first_person_singular"
                    ]
                },
                "phoneNumberFormat": {
                    "type": "string",
                    "example": "international_e164"
                },
                "thumbnailBase64": {
                    "description": "base64 encoded image\nTODO: remove this field and extract thumbnail into its own entity",
                    "type": "string"
                },
                "timeFormat": {
                    "type": "string",
                    "example": "24h"
                },
                "useControversialEmojis": {
                    "type": "boolean"
                },
                "useHeaderPunctuation": {
                    "type": "boolean"
                },
                "useHyphens": {
                    "type": "boolean"
                },
                "vocabulary": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ChatFlash",
                        "image generation"
                    ]
                }
            }
        },
        "models.BrandVoiceUsage": {
            "type": "object",
            "required": [
                "brandVoiceId",
                "createdAt",
                "createdByUserId",
                "id",
                "updatedAt",
                "usageCount",
                "workspaceId"
            ],
            "properties": {
                "brandVoiceId": {
                    "type": "string",
                    "maxLength": 36,
                    "example": "27b01216-dc39-4cf4-9681-18443a6ea78e"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "createdByUserId": {
                    "type": "string",
                    "example": "b0920767-2e30-48d3-80ce-268810bc433a"
                },
                "id": {
                    "type": "string",
                    "example": "113c0b32-ed6c-4421-b7da-d1faf238eb56"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "usageCount": {
                    "type": "integer",
                    "example": 100
                },
                "workspaceId": {
                    "type": "string",
                    "example": "27b01216-dc39-4cf4-9681-18443a6ea78e"
                }
            }
        },
        "models.ContentExample": {
            "type": "object",
            "required": [
                "content",
                "source",
                "url"
            ],
            "properties": {
                "content": {
                    "type": "string",
                    "example": "instagram post content"
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "website",
                        "instagram",
                        "facebook",
                        "linkedin",
                        "blog",
                        "newsletter",
                        "other"
                    ],
                    "example": "instagram"
                },
                "url": {
                    "type": "string",
                    "example": "https://instagram.com/test"
                }
            }
        },
        "models.CustomerDefaultBrandVoice": {
            "type": "object",
            "required": [
                "_embedded",
                "brandVoiceId",
                "country",
                "createdAt",
                "createdByUserId",
                "id",
                "language",
                "legacyCustomerId",
                "updatedAt",
                "workspaceId"
            ],
            "properties": {
                "_embedded": {
                    "$ref": "#/definitions/models.DefaultCustomerBrandVoiceEmbedded"
                },
                "brandVoiceId": {
                    "type": "string",
                    "maxLength": 36,
                    "example": "27b01216-dc39-4cf4-9681-18443a6ea78e"
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "createdByUserId": {
                    "type": "string",
                    "example": "b0920767-2e30-48d3-80ce-268810bc433a"
                },
                "id": {
                    "type": "string",
                    "example": "113c0b32-ed6c-4421-b7da-d1faf238eb56"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "legacyCustomerId": {
                    "type": "integer"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2025-01-14T16:20:59Z"
                },
                "workspaceId": {
                    "type": "string"
                }
            }
        },
        "models.CustomerDefaultBrandVoiceUpdatable": {
            "type": "object",
            "required": [
                "brandVoiceId"
            ],
            "properties": {
                "brandVoiceId": {
                    "type": "string",
                    "maxLength": 36,
                    "example": "27b01216-dc39-4cf4-9681-18443a6ea78e"
                }
            }
        },
        "models.DefaultCustomerBrandVoiceEmbedded": {
            "type": "object",
            "required": [
                "brandVoice"
            ],
            "properties": {
                "brandVoice": {
                    "$ref": "#/definitions/models.BrandVoice"
                }
            }
        },
        "models.ErrorResponse": {
            "type": "object",
            "required": [
                "errors"
            ],
            "properties": {
                "errors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "models.Glossary": {
            "type": "object",
            "required": [
                "extended",
                "shortcut"
            ],
            "properties": {
                "extended": {
                    "type": "string",
                    "maxLength": 250,
                    "example": "For your information"
                },
                "shortcut": {
                    "type": "string",
                    "example": "FYI"
                }
            }
        },
        "models.GormMap": {
            "type": "object",
            "additionalProperties": {
                "type": "number",
                "format": "float64"
            }
        },
        "models.Permission": {
            "type": "object",
            "required": [
                "canDelete",
                "canDuplicate",
                "canUpdate",
                "canView"
            ],
            "properties": {
                "canDelete": {
                    "type": "boolean",
                    "example": false
                },
                "canDuplicate": {
                    "type": "boolean",
                    "example": false
                },
                "canUpdate": {
                    "type": "boolean",
                    "example": false
                },
                "canView": {
                    "type": "boolean",
                    "example": false
                }
            }
        },
        "nfpage.Page": {
            "type": "object",
            "required": [
                "currentPage",
                "size",
                "totalElements",
                "totalPages"
            ],
            "properties": {
                "currentPage": {
                    "type": "integer",
                    "example": 2
                },
                "size": {
                    "type": "integer",
                    "example": 10
                },
                "totalElements": {
                    "type": "integer",
                    "example": 35
                },
                "totalPages": {
                    "type": "integer",
                    "example": 4
                }
            }
        },
        "staticvalues.StaticValue": {
            "type": "object",
            "required": [
                "category",
                "default",
                "label",
                "value"
            ],
            "properties": {
                "category": {
                    "type": "string"
                },
                "default": {
                    "type": "boolean"
                },
                "label": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "staticvalues.StaticValues": {
            "type": "object",
            "required": [
                "abbreviationRules",
                "activeVsPassive",
                "currencyFormat",
                "dateFormat",
                "emojiUsage",
                "gendering",
                "headlinePunctuation",
                "hyphenationRules",
                "industryJargon",
                "numberFormat",
                "perspective",
                "phoneNumberFormat",
                "timeFormat"
            ],
            "properties": {
                "abbreviationRules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "activeVsPassive": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "currencyFormat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "dateFormat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "emojiUsage": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "gendering": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "headlinePunctuation": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "hyphenationRules": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "industryJargon": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "numberFormat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "perspective": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "phoneNumberFormat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                },
                "timeFormat": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/staticvalues.StaticValue"
                    }
                }
            }
        },
        "textimport.CreateRequest": {
            "type": "object",
            "required": [
                "audienceModelId",
                "country",
                "language",
                "text"
            ],
            "properties": {
                "audienceModelId": {
                    "type": "string",
                    "example": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "text": {
                    "type": "string"
                }
            }
        },
        "urlimport.CreateRequest": {
            "type": "object",
            "required": [
                "audienceModelId",
                "country",
                "language",
                "url"
            ],
            "properties": {
                "audienceModelId": {
                    "type": "string",
                    "default": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
                },
                "country": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "us"
                },
                "language": {
                    "type": "string",
                    "maxLength": 2,
                    "example": "en"
                },
                "url": {
                    "type": "string",
                    "example": "https://neuroflash.com"
                }
            }
        }
    },
    "securityDefinitions": {
        "Authorization": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        },
        "GatewayAuthorization": {
            "type": "apiKey",
            "name": "x-gateway-token",
            "in": "header"
        }
    }
}