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

# Get started

> Complete end-to-end configuration guide for integrating with Finastra Fusion Essence through FusionFabric.cloud

export const VendorApiVersionTag = ({versions, label = "Supports"}) => {
  useEffect(() => {
    if (!versions || versions.length === 0) {
      return undefined;
    }
    const findAndSegmentStart = (reference, target) => {
      let i = 0;
      while (i < reference.length && i < target.length && reference[i] === target[i]) {
        i += 1;
      }
      let start = i;
      while (start > 0 && (/[0-9.vR]/).test(target[start - 1])) {
        start -= 1;
      }
      return start;
    };
    const formatText = () => {
      const suffix = " operations";
      if (versions.length === 1) {
        return `${label} ${versions[0]}${suffix}`;
      }
      const [first, ...rest] = versions;
      const last = rest[rest.length - 1];
      const andStart = findAndSegmentStart(first, last);
      const lead = first.slice(0, andStart);
      if (versions.length === 2) {
        return `${label} ${first} and ${last.slice(andStart)}${suffix}`;
      }
      const stems = versions.map(version => version.slice(andStart));
      return `${label} ${lead}${stems.slice(0, -1).join(", ")}, and ${stems[stems.length - 1]}${suffix}`;
    };
    const text = formatText();
    const mountCallout = () => {
      const title = document.querySelector("#page-title");
      const header = title?.closest("header") ?? document.querySelector("#header");
      if (!title || !header || !header.contains(title)) {
        return null;
      }
      let titleBlock = title;
      while (titleBlock.parentElement && titleBlock.parentElement !== header) {
        titleBlock = titleBlock.parentElement;
      }
      let callout = header.querySelector("[data-vendor-api-version-callout='true']");
      if (!callout) {
        callout = document.createElement("div");
        callout.dataset.vendorApiVersionCallout = "true";
        callout.className = "vendor-api-version-callout";
        titleBlock.insertAdjacentElement("afterend", callout);
      }
      callout.replaceChildren();
      const textEl = document.createElement("span");
      textEl.className = "vendor-api-version-text";
      textEl.textContent = text;
      callout.appendChild(textEl);
      return callout;
    };
    let callout = mountCallout();
    if (callout) {
      return () => {
        callout?.remove();
      };
    }
    const observer = new MutationObserver(() => {
      callout = mountCallout();
      if (callout) {
        observer.disconnect();
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });
    return () => {
      observer.disconnect();
      callout?.remove();
    };
  }, [versions, label]);
  return null;
};

export const vendorApiVersions = ["Customer Onboarding v1.1.5", "Account Information v1.1.0", "Current & Savings Account Onboarding v1.1.4", "Term Deposit Onboarding v1.2.9"];

<VendorApiVersionTag versions={vendorApiVersions} />

Follow the steps in [Get started with connectors](/connectors/getting-started) before proceeding.

## Prerequisites

* An active [FusionFabric.cloud](https://developer.fusionfabric.cloud/) tenant (sandbox or production) with API subscriptions for the retail banking packs used by your journeys.
* Network connectivity between FFDC or Essence and Grand Central iPaaS. For more information, see [Network connectivity](/platform/network-connectivity).
* OAuth2 client credentials (`client-id`, `client-secret`) and a token URL from your FFDC app registration.

### OAuth credentials (SOPS)

The following table lists SOPS secrets for FFDC client credentials. Set `finastra.oauth.tokenUrl` in the connector `values.yaml` file, not in SOPS.

| Secret                   | Description              |
| :----------------------- | :----------------------- |
| `finastra-client-id`     | FFDC OAuth client ID     |
| `finastra-client-secret` | FFDC OAuth client secret |

Test and development `gc-finastra` values files omit these SOPS secret names. The connectors forward `Authorization` and `Ocp-Apim-Subscription-Key` when the gateway uses subscription-key forwarding.

***

## Configure the connector

To configure the Finastra Essence connectors, follow these steps:

1. Configure outbound connectivity to `api.fusionfabric.cloud` (or your regional FFDC or Essence host). For more information, see [Network connectivity](/platform/network-connectivity).

2. Configure Finastra authentication. Use **OAuth2 client credentials** against your FFDC token URL. Store `finastra-client-id` and `finastra-client-secret` in SOPS. For more information, see [How to create SOPS](/platform/developer-guides/build/configure-connector).

3. Configure the environment in `gc-applications-live`. Configure connectors under `values/gc-finastra/`. Use these connector artifacts and values files:

   * `gc-finastra-party-connector`: `party-v2.values.yaml` for party operations
   * `gc-finastra-deposit-connector`: `deposit-v0.values.yaml` for deposit accounts
   * `gc-finastra-deposit-transaction-connector`: `deposit-transaction-v0.values.yaml` for deposit transactions

   For the full property list for each connector, including defaults and descriptions, see [Reference](/connectors/core-banking/finastra-essence/reference).

4. Set the property keys the connectors read. Set `finastra.base.url` and the Essence path properties listed in [Reference](/connectors/core-banking/finastra-essence/reference). Confirm values against your environment `values.yaml` file. Don't copy sandbox paths into production without validation. For example:

   ```yaml theme={"system"}
   # gc-applications-live/runtimes/<env>/values/gc-finastra/party-v2.values.yaml
   connector:
     existingSecretName: finastra   # SOPS: finastra-client-id, finastra-client-secret
     properties:
       # finastra.oauth.tokenUrl: https://api.fusionfabric.cloud/login/v1/sandbox/oidc/token
       finastra.party.path: /bfweb/retail/v1/party
       finastra.party-search.path: /bfweb/retail/v1/party/partysearch
     traits:
       knativeservice:
         minScale: 0
       logging:
         level: INFO
   ```

   ```yaml theme={"system"}
   # deposit-v0.values.yaml
   connector:
     properties:
       finastra.create-casa.path: /bfweb/retail/v1/accounts/currentsavings
       finastra.get-casa.path: /bfweb/retail/v1/accounts/currentsavings
       finastra.get-account-details.path: /bfweb/retail/v1/accounts/account-details
       finastra.get-fd.path: /bfweb/retail/v1/accounts/fixeddeposits
       finastra.get-account.path: /bfweb/retail/v1/accounts
       finastra.casa.deposit-types: CURRENT_ACCOUNT,SAVINGS_ACCOUNT
   ```

## Testing

The following table lists the header you need for API testing.

| Header    | Value                     |
| :-------- | :------------------------ |
| `api-key` | `<your_subscription_key>` |

Use `X-Request-ID` on party and deposit calls for correlation.

Test the API using the [Postman collection](https://github.com/bb-ecos-ecos/grandcentral-documentation/tree/main/Postman-Collection/Finastra%20Core%20Collections).

## Troubleshooting

The following table lists common symptoms and what to check.

| Symptom        | What to check                                                                                          |
| :------------- | :----------------------------------------------------------------------------------------------------- |
| HTTP 5xx       | Essence or FFDC platform status, path properties, request payload after JOLT                           |
| Timeouts       | Network path, `http.client.request.timeout`, Finastra-side latency                                     |
| HTTP 401 OAuth | `finastra-client-id` / `finastra-client-secret`, token URL, clock skew, API entitlements               |
| HTTP 404       | `partyId` / `customerId` mapping; party and deposit path properties                                    |
| HTTP 429       | Client rate limits; enable retry for `429` if appropriate; contact GC support for sustained throttling |

## Next steps

* [Overview](/connectors/core-banking/finastra-essence/overview): use cases and operation tables
* [Reference](/connectors/core-banking/finastra-essence/reference): configuration properties and error mapping
