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

# Creating and managing products

> Learn how to create, edit, approve, and publish products in Product Portal.

This guide walks you through the complete lifecycle of managing products in Product Portal — from creating your first product to publishing changes to production.

## Before you start

<Check>
  Make sure you have access to the [Fiskil Console](https://console.fiskil.com/) with appropriate permissions for [Product Portal](https://console.fiskil.com/data-holder/products).
  Access control is determined by a user's role in the [Team Settings / Members](https://console.fiskil.com/data-holder/settings/members) menu.
</Check>

<Info>
  All product changes follow a controlled workflow: create or edit in **Staging**, review and approve, then publish to **Production**.
  Some actions, like publishing changes to Production immediately, are available only to team owners.
</Info>

***

## Product lifecycle overview

Every product in Product Portal follows a consistent lifecycle:

<Steps>
  <Step title="Create or edit">
    Add a new product or make changes to an existing one. All changes start in draft mode.
  </Step>

  <Step title="Review and validate">
    Review your changes in the [Console](https://console.fiskil.com/). Validation errors are shown inline before you can proceed.
  </Step>

  <Step title="Deploy to Staging">
    During review, your changes are deployed to Staging environment. Verify the product data through the corresponding Staging API endpoint.
  </Step>

  <Step title="Approve and publish">
    Once validated, approve the changes and publish to Production. This makes the product available to data recipients.
  </Step>
</Steps>

***

## Creating a new product

<Steps>
  <Step title="Navigate to Product Portal">
    In the [Fiskil Console](https://console.fiskil.com/), go to **[Product Portal](https://console.fiskil.com/data-holder/products)** from the main navigation.
  </Step>

  <Step title="Click Add New Product">
    Select **+ Add New Product** to open the product form.
  </Step>

  <Step title="Complete required fields">
    Fill in the mandatory product details:

    | Field                | Description                                                          |
    | -------------------- | -------------------------------------------------------------------- |
    | **Product name**     | Product display name shown to customers, e.g. Credit Loan            |
    | **Product category** | Category from the regulated specification                            |
    | **Description**      | Short public description of the product                              |
    | **Brand name**       | Institution brand managing the product, typically official Bank name |

    <Note>
      See the [Products API reference](/api-reference/products/create-a-new-product) for a complete list of all available fields.
    </Note>
  </Step>

  <Step title="Add optional details">
    Expand additional sections to configure:

    * **Features** — capabilities like digital banking, offset accounts
    * **Eligibility** — who can apply for the product
    * **Constraints** — application constraints such as minimum balances or limit thresholds
    * **Fees** — charges and optional discounts
    * **Rates** — deposit or lending rates with tiers
    * **Bundles** — group products together
  </Step>

  <Step title="Save draft">
    Click **Save** to store your product as a draft. You can continue editing before deploying.
  </Step>
</Steps>

***

## Editing an existing product

<Steps>
  <Step title="Find the product">
    Use the search or filter options in [Product Portal](https://console.fiskil.com/data-holder/products) to locate the product you want to edit.
  </Step>

  <Step title="Open the product">
    Click on the product row to open the product detail view.
  </Step>

  <Step title="Click Edit">
    Select **Edit** to enable editing mode. This creates a new draft version of the product.

    <Warning>
      Changes are not visible to data recipients until you deploy and publish them.
    </Warning>
  </Step>

  <Step title="Make your changes">
    Update any fields as needed. The form validates your changes in real time.
  </Step>

  <Step title="Save and review">
    Save your changes and review the diff to confirm what has changed.
  </Step>
</Steps>

***

## Testing in Staging

Before publishing to production, you should validate your changes in Staging. Upon change request creation, the draft version is deployed to Staging API.

Use the built-in **Test API** feature to verify your product appears correctly:

1. Click **Test API** in the top-right corner of [Product Portal](https://console.fiskil.com/data-holder/products)
2. Select **Staging** as the environment
3. Click **Send Request** to view your products

<Tip>
  The [API Testing](/docs/product-portal/api-testing) feature lets you verify products without leaving the [Console](https://console.fiskil.com/). For more advanced testing, use [Postman](/docs/testing/postman).
</Tip>

If you find issues during review process, reject the proposed change and create a new one. New draft proposal will be redeployed to Staging.

***

## Approving and publishing to Production

Once your product is validated in Staging, you can publish it to Production.

<Steps>
  <Step title="Request approval">
    If your organisation uses approval workflows, submit the product for review.
  </Step>

  <Step title="Approve changes">
    An authorised approver reviews and approves the changes.

    <Note>
      Approval workflows are configurable. Contact the Fiskil team to set up approval rules for your organisation.
    </Note>
  </Step>

  <Step title="Publish to Production">
    Click **Publish to Production**. The product is now live and accessible to data recipients.

    <Check>
      Your product is now visible in the public Products API endpoint.
    </Check>
  </Step>
</Steps>

***

## Scheduling product updates

Product Portal supports scheduling changes to go live at a future date and time.

<Steps>
  <Step title="Prepare your changes">
    Edit the product and save your changes as a draft.
  </Step>

  <Step title="Set effective date">
    When deploying, select **Scheduled time** and choose the date and time for the changes to take effect.
  </Step>

  <Step title="Confirm schedule">
    The [Product Portal](https://console.fiskil.com/data-holder/products) homepage shows overview of scheduled deployments. You can cancel or modify the schedule before it executes.
  </Step>
</Steps>

<Info>
  Scheduled changes are applied automatically at the specified time. No manual action is required once scheduled.
</Info>

<Note>
  For team owners, it is possible to bypass scheduled time selection and apply approved changes immediately with `Approve and Apply` button on review page.
</Note>

***

## Discontinuing products

When a product is discontinued or no longer offered, first you need to update the **Effective To** date to indicate when the product is no longer available for new applications.

Once ensured the new **Effective To** date is live in Production, go to [Product Portal](https://console.fiskil.com/data-holder/products) and select **Delete** from the Actions column to delete product from active listings immediately.

All deleted products are retained by Fiskil for historical reference.

***

## Best practices

<CardGroup cols={2}>
  <Card title="Test in Staging first" icon="flask">
    Always verify products in Staging before publishing changes to Production.
  </Card>

  <Card title="Review before publishing" icon="magnifying-glass">
    Use the diff view to confirm changes before publishing to Production.
  </Card>

  <Card title="Document changes" icon="file-lines">
    Add notes when editing products to maintain a clear audit trail.
  </Card>
</CardGroup>

***

## Validation rules

Product Portal validates your data against the regulated specification. Common validation errors include:

| Error                          | Cause                        | Solution                          |
| ------------------------------ | ---------------------------- | --------------------------------- |
| **Missing required field**     | A mandatory field is empty   | Complete all required fields      |
| **Invalid enum value**         | Value not in allowed list    | Select from the dropdown options  |
| **Invalid URI format**         | URL is malformed             | Ensure URLs start with `https://` |
| **Conditional field required** | A dependent field is missing | See the field's conditional rules |

<Tip>
  Refer to the [Products API reference](/api-reference/products/create-a-new-product) for detailed validation rules for each field.
</Tip>

***

## Related resources

<CardGroup cols={2}>
  <Card title="Products API reference" icon="list" href="/api-reference/products/create-a-new-product">
    Complete guide to every field in Product Portal.
  </Card>

  <Card title="API Testing" icon="flask" href="/docs/product-portal/api-testing">
    Test your CDR Products endpoint directly from the Console.
  </Card>

  <Card title="Testing with Postman" icon="rocket" href="/docs/testing/postman">
    Verify your product data using Postman collections.
  </Card>
</CardGroup>
