# Customization
source: https://developer.mastercard.com/open-finance-data/documentation/customization/index.md

Mastercard Open Finance Data enables you to customize your Flows using our Theming API. The Theming API provides the capability to leverage the merchant's brand to configure a merchant-themed Account Information Flow.

This enables you to offer enhanced branding consistency, improved consumer experience and easy Theme management for Account Information Flows.

The API is embedded directly into the customer's platform's backend, enabling them to customize and control the look and feel of any user journey, without needing to handle complex UI design.

#### Example of data access consent screen before customization {#example-of-data-access-consent-screen-before-customization}

![](https://static.developer.mastercard.com/content/open-finance-data/uploads/pis-ecommerce-without1.png)

#### Example of data access consent screen after customization {#example-of-data-access-consent-screen-after-customization}

![](https://static.developer.mastercard.com/content/open-finance-data/uploads/pis-ecommerce-with1.png)

Refer to the [Theming API Documentation](https://developer.mastercard.com/mastercard-open-banking-theming-api/documentation/#overview) to learn how to create Themes that can be applied to your Account Information Flows.

## High Level Theming Flow {#high-level-theming-flow}

For a detailed description of how to create Themes using Mastercard Open Finance Data Theming API, refer to the Theming API Documentation. A high level flow for creating and applying Themes to your Mastercard Open Finance Data Account Information Flows is described below.

#### Step 1 - Create a Theme {#step-1---create-a-theme}

* You can Create a Theme that can be used to customize your Account Information Flows by using the Theming APIs Create theme endpoint`(POST /themes`.
* When creating a new theme you can choose to modify the following aspects of the Mastercard Open Finance Data Account Information screens:
  * **The Primary Colour** The primary colour that will be applied to Call to actions in the Account Information Flow. Here you can choose a colour that aligns with the Merchants website to maintain a consistent user experience throughout the user journey.
  * **The Logo** The logo passed in while creating a Theme will appear on the Mastercard Open Finance Data Account Information screens. Here you can use the Merchants logo. This will make users feel more comfortable when being redirected from the Merchant site to the Mastercard Open Finance Data Account Information screens.
  * **The Font** The font that will be applied to text in the Account Information Flow. Here you can chose a font that aligns with the Merchants website to maintain a consistent user experience throughout the user journey.
* Once you have successfully created a new Theme the Theming API will return a `themeId`.

#### Step 2 - Account access with the customization defined in the creation of a Theme {#step-2---account-access-with-the-customization-defined-in-the-creation-of-a-theme}

* Create a new Account Information flow as normal. For more information on available Account Information Use Cases, refer to [Use Cases](https://developer.mastercard.com/open-finance-data/documentation/use-cases/index.md).
* When creating the new Account Information flow, insert the `themeId` that was returned by the Theming API.
* You may have many Merchants that use different Themes. To offer a customized Account Information Flow for each Merchant, you will need to create a Theme for each Merchant and pass in the `themeId` associated with that Merchant in each account information to insert the desired customization.

#### Step 3 - Manage your Themes {#step-3---manage-your-themes}

The Theming API offers several endpoints that can be used to manage your Themes.

* **Get themes** - The Get themes endpoint `GET /themes` can be used to fetch details of all of the Themes that you have previously created.
* **Get theme** - The Get theme endpoint `/GET themes/{theme_id}` can be used to fetch the details of a specific Theme by passing in a `themeId`.
* **Update theme** - The Update theme endpoint `PUT /themes/{theme_id}` can be used to update a previously created Theme by passing in the `themeId` and specifying the new Theme in the request body.
* **Delete theme** - The Delete theme endpoint `DELETE /themes/{theme_id})` can be used to delete a previously created Theme by passing in the `themeId`. Once a Theme has been deleted, it cannot be used again.
