> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Brand

> Creates a new brand configuration.

You can have only one brand configured for a project.

> 📘 White Labelling
>
> The white labelling settings which can be found in Project Settings > Brand Details and which are available only for Enterprise clients as a separate service can be configured only in the user interface.



## OpenAPI

````yaml /openapi/management.json post /management/v1/projects/{projectId}/branding
openapi: 3.0.1
info:
  title: Voucherify API - Management
  version: v2018-08-01
  description: >-
    Voucherify promotion engine REST API. Please see
    https://docs.voucherify.io/docs for more details.
  contact:
    name: Voucherify Team
    url: https://www.voucherify.io/contact-support
    email: support@voucherify.io
  termsOfService: https://www.voucherify.io/legal/subscription-agreement
  license:
    name: MIT
    url: https://github.com/voucherifyio/voucherify-js-sdk/blob/main/LICENSE
servers:
  - url: https://{cluster}.voucherify.io
    description: Base URL
    variables:
      cluster:
        default: api
        enum:
          - api
          - us1.api
          - as1.api
          - download
          - us1.download
          - as1.download
security: []
paths:
  /management/v1/projects/{projectId}/branding:
    parameters:
      - schema:
          $ref: '#/components/schemas/ParameterProjectId'
        in: path
        name: projectId
        description: Provide the unique identifier of the project.
        required: true
    post:
      tags:
        - Management
      summary: Create Brand
      description: >-
        Creates a new brand configuration.


        You can have only one brand configured for a project.


        > 📘 White Labelling

        >

        > The white labelling settings which can be found in Project Settings >
        Brand Details and which are available only for Enterprise clients as a
        separate service can be configured only in the user interface.
      operationId: create-brand
      parameters: []
      requestBody:
        description: Defines a brand configuration.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagementProjectsBrandingCreateRequestBody'
            examples:
              Example:
                value:
                  brand:
                    name: Voucherify PSA
                    privacy_policy_url: null
                    terms_of_use_url: null
                    permission_reminder: >-
                      You are receiving this email because you opted in at our
                      website.
                    website_url: voucherify.io
                  address:
                    street: Porcelanowa 23
                    city: Katowice
                    postal: 43-246
                    state: null
                    country: Poland
                  contact:
                    email: support@voucherify.io
                    phone: null
                  cockpits:
                    campaigns_overview_enabled: false
                    loyalty_enabled: true
                    gift_cards_enabled: true
                    coupons_enabled: true
                    referrals_enabled: true
                    theme: default
                    use_custom_double_opt_in_redirect_url: false
                    custom_double_opt_in_redirect_url: null
        required: true
      responses:
        '200':
          description: Returns the details about the brand configuration.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ManagementProjectsBrandingCreateResponseBody
              examples:
                Example:
                  value:
                    id: brd_0eb55234024e226d9d
                    brand:
                      name: Voucherify PSA
                      privacy_policy_url: null
                      terms_of_use_url: null
                      permission_reminder: >-
                        You are receiving this email because you opted in at our
                        website.
                      website_url: voucherify.io
                    address:
                      street: Porcelanowa 23
                      city: Katowice
                      postal: 43-246
                      state: null
                      country: Poland
                    contact:
                      email: support@voucherify.io
                      phone: null
                    cockpits:
                      campaigns_overview_enabled: false
                      loyalty_enabled: true
                      gift_cards_enabled: true
                      coupons_enabled: true
                      referrals_enabled: true
                      theme: default
                      use_custom_double_opt_in_redirect_url: false
                      custom_double_opt_in_redirect_url: null
        '400':
          description: Returns an error if the payload has incorrect values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e_400_invalid_payload'
              examples:
                Invalid payload:
                  value:
                    statusCode: 400
                    error: Bad Request
                    message: Invalid request payload JSON format
        '401':
          description: Returns an error if an invalid token was provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Unauthorized:
                  value:
                    code: 401
                    message: Unauthorized
                    key: unauthorized
        '402':
          description: >-
            Returns an error if the current plan does not include the Management
            API feature.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPaymentRequired'
              examples:
                Example:
                  value:
                    code: 402
                    message: Payment required
                    details: >-
                      Your current plan does not include a feature required to
                      perform this operation.
                    key: missing_required_feature
        '404':
          description: Returns an error when a resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Resource not found:
                  value:
                    code: 404
                    message: Resource not found
                    details: Cannot find project with id proj_5itvmU7
        '409':
          description: Returns an error if the brand has been already configured.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Resource not found:
                  value:
                    code: 409
                    key: branding_exist
                    message: Branding exist
                    details: Cannot exist more than one branding for given project
                    request_id: v-0ead51b4ff49d9319d
      security:
        - X-Management-Id: []
          X-Management-Token: []
components:
  schemas:
    ParameterProjectId:
      type: string
      example: proj_TrlkLiH4
    ManagementProjectsBrandingCreateRequestBody:
      type: object
      title: Create Brand Request
      description: >-
        Request body schema for **POST**
        `/management/v1/projects/{projectId}/branding`.
      properties:
        brand:
          type: object
          title: Brand
          description: Defines basic brand details.
          properties:
            name:
              type: string
              description: Defines brand name.
            privacy_policy_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's privacy policy. It must be a
                valid URL format.
            terms_of_use_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's terms of use.  It must be a valid
                URL format.
            permission_reminder:
              type: string
              nullable: true
              default: >-
                You are receiving this email because you opted in at our
                website.
              description: >-
                Defines the message that is displayed to customers who opted in
                an email newsletter.
            website_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's website. It must be a valid URL
                format.
          required:
            - name
        address:
          type: object
          title: Address
          description: Defines the address details.
          properties:
            street:
              type: string
              description: Defines the brand's street.
            city:
              type: string
              description: Defines the brand's city.
            postal:
              type: string
              nullable: true
              description: Defines the brand's postal code.
            state:
              type: string
              description: Defines the brand's state or similar administrative area.
            country:
              type: string
              description: Defines the brand's country.
          required:
            - street
            - city
            - postal
            - country
        contact:
          type: object
          title: Contact
          description: Defines contact details.
          properties:
            email:
              type: string
              description: >-
                Defines the brand's email address. It must be a valid email
                format.
            phone:
              type: string
              nullable: true
              description: Defines the brand's phone number.
          required:
            - email
        cockpits:
          type: object
          title: Cockpit
          description: Defines customer cockpit details.
          properties:
            campaigns_overview_enabled:
              type: boolean
              default: false
              nullable: true
              description: Enables the campaign overview for customers.
            loyalty_enabled:
              type: boolean
              default: true
              nullable: true
              description: Enables the loyalty campaign overview for customers.
            gift_cards_enabled:
              type: boolean
              default: true
              nullable: true
              description: Enables the gift card overview for customers.
            coupons_enabled:
              type: boolean
              default: true
              nullable: true
              description: Enables the discount coupon overview for customers.
            referrals_enabled:
              type: boolean
              default: true
              nullable: true
              description: Enables the referral campaign overview for customers.
            theme:
              type: string
              default: default
              description: Determines the color scheme of the customer cockpit.
              enum:
                - blue
                - dark-green
                - default
                - green
                - grey
                - orange
                - purple
                - red
            use_custom_double_opt_in_redirect_url:
              type: boolean
              default: false
              nullable: true
              description: Enables the double opt-in option. It must be a valid URL format.
            custom_double_opt_in_redirect_url:
              type: string
              nullable: true
              description: >-
                Defines the URL for the double opt-in consent. It must be a
                valid URL format.
      required:
        - brand
        - address
        - contact
    ManagementProjectsBrandingCreateResponseBody:
      type: object
      title: Management Projects Branding Create Response Body
      description: >-
        Response body schema for **POST**
        `/management/v1/projects/{projectId}/branding`.
      allOf:
        - $ref: '#/components/schemas/ManagementProjectsBranding'
    e_400_invalid_payload:
      title: Invalid Payload
      type: object
      description: 'Error: Bad Request &rarr; Invalid Payload'
      properties:
        code:
          type: integer
          default: 400
          description: Error's HTTP status code.
        key:
          type: string
          default: invalid_payload
          description: Short string describing the kind of error which occurred.
        message:
          type: string
          default: Invalid payload
          description: A human-readable message providing a short description of the error.
        details:
          type: string
          description: A human-readable message providing more details about the error.
        request_id:
          type: string
          example: v-0a884c6be8c3756f42
          description: >-
            This ID is useful when troubleshooting and/or finding the root cause
            of an error response by our support team.
    Error:
      title: Error Object
      type: object
      description: Error details
      properties:
        code:
          type: integer
          description: Error's HTTP status code.
        key:
          type: string
          description: Short string describing the kind of error which occurred.
        message:
          type: string
          description: A human-readable message providing a short description of the error.
        details:
          type: string
          description: A human-readable message providing more details about the error.
        request_id:
          type: string
          example: v-0a885062c80375740f
          description: >-
            This ID is useful when troubleshooting and/or finding the root cause
            of an error response by our support team.
        resource_id:
          type: string
          description: >-
            Unique resource ID that can be used in another endpoint to get more
            details.
          example: rf_0c5d710a87c8a31f86
        resource_type:
          type: string
          description: The resource type.
          example: voucher
        error:
          type: object
          description: Includes additional information about the error.
          properties:
            message:
              type: string
              description: The message configured by the user in a validation rule.
      required:
        - code
        - message
    ErrorPaymentRequired:
      title: Payment Required Error
      type: object
      description: 'Error: Payment required - the current plan does not include the feature.'
      properties:
        code:
          type: integer
          description: Error's HTTP status code.
        message:
          type: string
          description: A human-readable message providing a short description of the error.
        details:
          type: string
          description: A human-readable message providing more details about the error.
        key:
          type: string
          description: Short string describing the kind of error which occurred.
      required:
        - code
        - message
        - details
        - key
    ManagementProjectsBranding:
      type: object
      title: Brand Response
      description: Response brand schema.
      properties:
        id:
          type: string
          description: Unique identifier of the brand configuration.
        brand:
          type: object
          title: Brand
          description: Defines basic brand details.
          properties:
            name:
              type: string
              description: Defines brand name.
            privacy_policy_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's privacy policy. It must be a
                valid URL format.
            terms_of_use_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's terms of use.  It must be a valid
                URL format.
            permission_reminder:
              type: string
              description: >-
                Defines the message that is displayed to customers who opted in
                an email newsletter.
            website_url:
              type: string
              nullable: true
              description: >-
                Defines the URL to the brand's website. It must be a valid URL
                format.
          required:
            - name
            - privacy_policy_url
            - terms_of_use_url
            - permission_reminder
            - website_url
        address:
          type: object
          title: Address
          description: Defines the address details.
          properties:
            street:
              type: string
              description: Defines the brand's street.
            city:
              type: string
              description: Defines the brand's city.
            postal:
              type: string
              nullable: true
              description: Defines the brand's postal code.
            state:
              type: string
              description: Defines the brand's state or similar administrative area.
            country:
              type: string
              description: Defines the brand's country.
          required:
            - street
            - city
            - postal
            - state
            - country
        contact:
          type: object
          title: Contact
          description: Defines contact details.
          properties:
            email:
              type: string
              description: >-
                Defines the brand's email address. It must be a valid email
                format.
            phone:
              type: string
              nullable: true
              description: Defines the brand's phone number.
          required:
            - email
            - phone
        cockpits:
          type: object
          title: Cockpit
          description: Defines customer cockpit details.
          properties:
            campaigns_overview_enabled:
              type: boolean
              description: Enables the campaign overview for customers.
            loyalty_enabled:
              type: boolean
              description: Enables the loyalty campaign overview for customers.
            gift_cards_enabled:
              type: boolean
              description: Enables the gift card overview for customers.
            coupons_enabled:
              type: boolean
              description: Enables the discount coupon overview for customers.
            referrals_enabled:
              type: boolean
              description: Enables the referral campaign overview for customers.
            theme:
              type: string
              description: Determines the color scheme of the customer cockpit.
              enum:
                - blue
                - dark-green
                - default
                - green
                - grey
                - orange
                - purple
                - red
            use_custom_double_opt_in_redirect_url:
              type: boolean
              description: Enables the double opt-in option. It must be a valid URL format.
            custom_double_opt_in_redirect_url:
              type: string
              nullable: true
              description: >-
                Defines the URL for the double opt-in consent. It must be a
                valid URL format.
          required:
            - campaigns_overview_enabled
            - loyalty_enabled
            - gift_cards_enabled
            - coupons_enabled
            - referrals_enabled
            - theme
            - use_custom_double_opt_in_redirect_url
            - custom_double_opt_in_redirect_url
      required:
        - id
        - brand
        - address
        - contact
        - cockpits
  securitySchemes:
    X-Management-Id:
      type: apiKey
      name: X-Management-Id
      in: header
    X-Management-Token:
      type: apiKey
      name: X-Management-Token
      in: header

````