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

# Start your brand again

> Empties the draft so the editor starts again from the Flow look. Answers the draft as it was before. What is published does not change, and your uploaded files and published history stay. 404 `branding_draft_empty` when the draft is already empty, 412 `concurrent_change` when somebody saved since the `If-Match` you sent, or at the same moment. `canChange` says whether you can change the brand; one-organisation administrators can view only.



## OpenAPI

````yaml /api-reference/specs/administration.json delete /customer/branding/draft
openapi: 3.0.1
info:
  title: Administration API
  description: >-
    Manage your Flow Payroll account: the organisations it owns, the people who
    can sign in to it, the API tokens it holds, its brand, and a feed of recent
    administration activity. Every resource is scoped to the account your
    credentials belong to, so no request ever names a customer and the
    `X-Org-Id` header is not used.
  version: v1
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1/administration
security:
  - X-Auth-Token: []
tags:
  - name: Customer
    description: >-
      Your account: the customer every other resource on this API belongs to.
      Read it and rename it.
  - name: Organisations
    description: >-
      The organisations your account owns: list them with headcounts and your
      access to each, get one in full, and add one or several at a time.
  - name: Users
    description: >-
      The people who can sign in to your account: list, invite (one or many),
      resend invitations, and manage each person's direct grants and
      account-wide access.
  - name: API tokens
    description: >-
      The client credentials your integrations authenticate with: create (the
      secret is shown once), rename, rotate, revoke, and manage which
      organisations each token reaches.
  - name: Activity
    description: Recent administration actions in your account, newest first.
paths:
  /customer/branding/draft:
    delete:
      tags:
        - Branding
      summary: Start your brand again
      description: >-
        Empties the draft so the editor starts again from the Flow look. Answers
        the draft as it was before. What is published does not change, and your
        uploaded files and published history stay. 404 `branding_draft_empty`
        when the draft is already empty, 412 `concurrent_change` when somebody
        saved since the `If-Match` you sent, or at the same moment. `canChange`
        says whether you can change the brand; one-organisation administrators
        can view only.
      operationId: DiscardBrandingDraft
      parameters:
        - name: If-Match
          in: header
          description: >-
            Optional: the draft's `ETag` as you last read it. Sent, the change
            is refused with 412 `concurrent_change` when somebody saved since.
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The draft's current version as a strong entity tag, such as
                `"5"`. Send it as `If-Match` to change it.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandingDraftResponseResponseBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '412':
          description: Precondition Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
components:
  schemas:
    BrandingDraftResponseResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/BrandingDraftResponseContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    ObjectResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/ObjectContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    MessageWithTokenResponse:
      type: object
      properties:
        text:
          type: string
        token:
          type: string
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    BrandingDraftResponseContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BrandingDraftResponse'
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssue:
      type: object
      properties:
        field:
          type: string
        reason:
          type: string
        reasonToken:
          type: string
        reasonTokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    ObjectContentResponse:
      type: object
      properties:
        data:
          nullable: true
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
        value:
          nullable: true
      additionalProperties: false
    BrandingDraftResponse:
      type: object
      properties:
        settings:
          $ref: '#/components/schemas/BrandingSettingsResponse'
        previews:
          $ref: '#/components/schemas/BrandingAssetPreviewsResponse'
        entitlement:
          $ref: '#/components/schemas/BrandingEntitlementResponse'
        version:
          type: integer
          description: Send it back unchanged; it detects two people editing at once.
          format: int64
        updatedDate:
          type: string
        updatedBy:
          type: string
        canChange:
          type: boolean
          description: >-
            Whether you can change the brand. One-organisation administrators
            can view only.
      additionalProperties: false
      description: The editable copy. Nothing anyone sees changes until it is published.
    ContentMetadataResponse:
      type: object
      properties:
        dateFormat:
          type: string
        dateTimeFormat:
          type: string
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    BrandingSettingsResponse:
      type: object
      properties:
        productName:
          type: string
          description: 2 to 40 characters. Shown in titles, emails and documents.
          nullable: true
        primaryColour:
          type: string
          description: Hex colour, `#RRGGBB`.
          nullable: true
        primaryForegroundColour:
          type: string
          description: >-
            Optional; derived when null. Must reach WCAG AA 4.5:1 on the primary
            colour.
          nullable: true
        accentColour:
          type: string
          nullable: true
        fontSource:
          enum:
            - Curated
            - Uploaded
          type: string
          description: Where the app font comes from.
        fontCuratedKey:
          type: string
          description: >-
            One of FlowPayroll.Administration.Api.Enums.CuratedFontKeys when
            FontSource is `Curated`.
          nullable: true
        fontFamily:
          type: string
          description: Display family name of an uploaded font.
          nullable: true
        fontRegularAssetId:
          type: string
          nullable: true
        fontMediumAssetId:
          type: string
          nullable: true
        fontBoldAssetId:
          type: string
          nullable: true
        fontLicenceConfirmedBy:
          type: string
          description: Who confirmed the account holds a web licence for the uploaded font.
          nullable: true
        fontLicenceConfirmedDate:
          type: string
          nullable: true
        logoAssetId:
          type: string
          description: The account logo (SVG), from `POST /customer/branding/assets`.
          nullable: true
        iconAssetId:
          type: string
          description: The square icon (SVG) the favicon set is derived from.
          nullable: true
        supportEmail:
          type: string
          nullable: true
        supportUrl:
          type: string
          nullable: true
        privacyUrl:
          type: string
          nullable: true
        termsUrl:
          type: string
          nullable: true
        helpLinksFallback:
          enum:
            - Hide
            - FlowGuides
          type: string
          description: What a help link does when the account has no support website.
        emailFromName:
          type: string
          nullable: true
        emailFromAddress:
          type: string
          nullable: true
        emailSenderOverrides:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EmailSenderResponse'
        emailReplyTo:
          type: string
          nullable: true
        emailFooterText:
          type: string
          nullable: true
        legalFooter:
          type: string
          description: Registered name, number and office. Up to 300 characters.
          nullable: true
        documentsShowLogo:
          type: boolean
        documentsUseBrandColour:
          type: boolean
        appShowsProductName:
          type: boolean
        signInShowsProductName:
          type: boolean
        emailsShowProductName:
          type: boolean
        documentsShowProductName:
          type: boolean
        logoDarkAssetId:
          type: string
          description: The logo on a dark background; the light one is used when null.
          nullable: true
        iconDarkAssetId:
          type: string
          description: The icon on a dark background; the light one is used when null.
          nullable: true
        loadingStyle:
          enum:
            - Spinner
            - Icon
            - Animation
          type: string
          description: What the app shows while it waits.
        loadingAnimationAssetId:
          type: string
          description: The animated SVG for `Animation`.
          nullable: true
        loadingAnimationDarkAssetId:
          type: string
          description: The animation on a dark background; the light one is used when null.
          nullable: true
        emailButtonShape:
          enum:
            - Rounded
            - Square
            - Pill
          type: string
          description: The corners of the buttons in emails.
        emailHeaderStyle:
          enum:
            - Plain
            - BrandBar
          type: string
          description: How the top of each email looks.
      additionalProperties: false
      description: >-
        The fields an account sets for its brand. Flat on purpose: the draft
        PATCH is a JSON Merge Patch of

        exactly this shape, so a field reads and writes under the same name.
    BrandingAssetPreviewsResponse:
      type: object
      properties:
        logoSvgUrl:
          type: string
          nullable: true
        iconSvgUrl:
          type: string
          nullable: true
        logoDarkSvgUrl:
          type: string
          nullable: true
        iconDarkSvgUrl:
          type: string
          nullable: true
        loadingAnimationSvgUrl:
          type: string
          nullable: true
        loadingAnimationDarkSvgUrl:
          type: string
          nullable: true
      additionalProperties: false
      description: >-
        Short-lived links to the draft's own files, for the editor's preview.
        Each is null when its file is not set.
    BrandingEntitlementResponse:
      type: object
      properties:
        whiteLabelEnabled:
          type: boolean
        poweredByFlow:
          type: boolean
        domainAllowance:
          type: integer
          description: How many partner domains the account may have.
          format: int32
        sendingDomainAllowance:
          type: integer
          description: How many sending domains the account may have.
          format: int32
      additionalProperties: false
      description: >-
        What Flow has switched on for the account. Read-only here; Flow
        operators set it.
    EmailSenderResponse:
      type: object
      properties:
        fromName:
          type: string
          nullable: true
        fromAddress:
          type: string
          nullable: true
        replyTo:
          type: string
          nullable: true
      additionalProperties: false
      description: 'One email''s own sender: a null field uses the account''s default.'
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      description: FlowPayroll JWT (raw token, no Bearer prefix)
      name: X-Auth-Token
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.