> ## Documentation Index
> Fetch the complete documentation index at: https://grandcentral.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 Oracle FLEXCUBE core banking platform

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

**Oracle FLEXCUBE access**: An active account in the Oracle FLEXCUBE production or test environment.

**Network connectivity**: Verify that your network routes traffic between the Oracle FLEXCUBE environment and Grand Central iPaaS. For supported options, see [Network connectivity](/platform/network-connectivity).

**Environment details**: You need the following environment details from Oracle FLEXCUBE to configure the connector:

| Parameter           | Description                                               |
| ------------------- | --------------------------------------------------------- |
| `flexcube-base-url` | The API endpoint URL for the Oracle FLEXCUBE environment. |
| `flexcube-source`   | The name of the external system or source of the request. |
| `flexcube-ubs-comp` | The Oracle FLEXCUBE component name for the request.       |
| `flexcube-user-id`  | Username for Oracle FLEXCUBE system authentication.       |
| `flexcube-branch`   | The financial institution branch identifier.              |

***

## Configuration guide

Follow these steps to initialize and authorize your Oracle FLEXCUBE Connector.

### 1. Establish connectivity

Share connectivity details between Grand Central and Oracle FLEXCUBE as described in [Network connectivity](/platform/network-connectivity).

<Note>
  VPN connectivity to the Oracle FLEXCUBE environment must be established before proceeding with configuration.
</Note>

### 2. Oracle FLEXCUBE authentication

The Oracle FLEXCUBE Connector uses service-based authentication for API access. To configure authentication, create a Secrets Operations (SOPS) secret. For more information, see [How to create SOPS](/platform/developer-guides/build/configure-connector).

<Info>
  To share credentials between Oracle FLEXCUBE and Grand Central, consider using 1Password.
</Info>

### 3. Environment configuration

To initialize the Oracle FLEXCUBE Connector, define the required environment variables in your `gc-applications-live` repository.

These variables are stored in `values.yaml` for configuration common to all connectors, and in the following files for connector-specific configuration:

| Connector                                    | Property                              | Description                          |
| -------------------------------------------- | ------------------------------------- | ------------------------------------ |
| `gc-flexcube-deposit-connector`              | `deposit-v0.values.yaml`              | Deposit account operations           |
| `gc-flexcube-deposit-transactions-connector` | `deposit-transactions-v0.values.yaml` | Deposit transaction operations       |
| `gc-flexcube-loan-connector`                 | `loan-v0.values.yaml`                 | Loan account operations              |
| `gc-flexcube-loan-transactions-connector`    | `loan-transactions-v0.values.yaml`    | Loan transaction operations          |
| `gc-flexcube-party-connector`                | `party-v0.values.yaml`                | Party management operations          |
| `gc-flexcube-account-inbound-connector`      | `account-inbound-v0.values.yaml`      | Account update notifications         |
| `gc-flexcube-transaction-inbound-connector`  | `transaction-inbound-v0.values.yaml`  | Transaction update notifications     |
| `gc-flexcube-product-matching-connector`     | `product-matching-v0.values.yaml`     | Common parameters for all connectors |

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

### Define common parameters

These variables are stored in `values.yaml` and are used across all Oracle FLEXCUBE outbound connectors (deposit, deposit-transactions, loan, loan-transactions, and party):

| Parameter          | Description                                              | Example value                       |
| ------------------ | -------------------------------------------------------- | ----------------------------------- |
| `flexcube.baseUrl` | Target API endpoint for the Oracle FLEXCUBE environment. | `https://flexcube-api.yourbank.com` |
| `flexcube.source`  | External system identifier or request source.            | `GRANDCENTRAL`                      |
| `flexcube.ubsComp` | Oracle FLEXCUBE component name for the request.          | `FCUBS`                             |
| `flexcube.userId`  | Username in Oracle FLEXCUBE system for the source.       | `gc_service_user`                   |
| `flexcube.branch`  | Financial institution branch identifier.                 | `BRANCH001`                         |
| `retryFlag`        | Optional: Enables retry logic (default: `false`).        | `true`                              |

The following example shows the `values.yaml` configuration:

```yaml theme={"system"}
# Common Oracle FLEXCUBE Configuration
# Place this in: values.yaml
connector:
  properties:
    # Oracle FLEXCUBE Connection Settings
    # flexcube.baseUrl: <FlexCube_API_Endpoint>
    # flexcube.source: <External_System_Identifier>
    # flexcube.ubsComp: <Component_Name>
    # flexcube.userId: <Service_User_ID>
    # flexcube.branch: <Branch_Identifier>
    
    # Retry Configuration
    # retryFlag: <true|false>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

Place the values files at the following paths:

```text theme={"system"}
├── iPaaS
└── azure/runtimes
    ├── dev
    └── test
        └── values
            ├── gc-flexcube
                ├── deposit-v0.values.yaml
                ├── deposit-transactions-v0.values.yaml
                ├── loan-v0.values.yaml
                ├── loan-transactions-v0.values.yaml
                ├── party-v0.values.yaml
                ├── account-inbound-v0.values.yaml
                ├── transaction-inbound-v0.values.yaml
                └── product-matching-v0.values.yaml
```

### Define party connector parameters

For the party connector, configure customer identification parameters based on the version you're using:

**Party v0 configuration (`party-v0.values.yaml`):**

| Parameter                           | Description                                       | Example value        |
| ----------------------------------- | ------------------------------------------------- | -------------------- |
| `customer.driving-license-uid-name` | UID name for driving license identification type. | `DRIVING LICENSE NO` |
| `customer.identity-card-uid-name`   | UID name for identity card identification type.   | `IDENTITY CARD`      |

```yaml theme={"system"}
# Party Connector v0 Configuration
# Add this to: party-v0.values.yaml
connector:
  properties:
    # Customer identification configuration
    # customer.driving-license-uid-name: <Driving_License_UID_Name>
    # customer.identity-card-uid-name: <Identity_Card_UID_Name>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

**Party v2 configuration (`party-v2.values.yaml`):**

| Parameter            | Description                                 | Example value            |
| -------------------- | ------------------------------------------- | ------------------------ |
| `customer.uid-names` | Comma-separated list of customer UID names. | `IDENTITY CARD,PASSPORT` |

```yaml theme={"system"}
# Party Connector v2 Configuration
# Add this to: party-v2.values.yaml
connector:
  properties:
    # Customer identification configuration
    # customer.uid-names: <UID_Name1>,<UID_Name2>,...
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

<Info>
  These parameters define the UID names used in Oracle FLEXCUBE for different customer identification types. Party v0 uses individual properties for each identification type, while v2 uses a comma-separated list.
</Info>

### Define deposit connector validation

For the deposit connector, configure validation rules to ensure data integrity:

| Parameter                          | Description                                                    | Example value                                                                  |
| ---------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `regex.deposit-id.pattern`         | Regex pattern for validating Deposit ID format (numeric only). | `^[0-9]{1,20}$`                                                                |
| `regex.deposit-id.failure-message` | Error message displayed when validation fails                  | `The maximum allowed length of the Deposit ID is up to 20 numeric characters.` |

```yaml theme={"system"}
# Deposit Connector Validation Configuration
# Add this to: deposit-v0.values.yaml
connector:
  properties:
    # Validation for Deposit ID
    # regex.deposit-id.pattern: <Regex_Pattern>
    # regex.deposit-id.failure-message: <Failure_Message>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

<Info>
  The Deposit ID validation accepts numeric characters only and enforces a maximum length of 20 characters.
</Info>

### Define deposit-transactions connector validation

For the deposit-transactions connector, configure validation rules and currency settings to ensure data integrity:

| Parameter                              | Description                                                    | Example value                                                                  |
| -------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `regex.deposit-id.pattern`             | Regex pattern for validating Deposit ID format (numeric only). | `^[0-9]{1,20}$`                                                                |
| `regex.deposit-id.failure-message`     | Error message displayed when validation fails                  | `The maximum allowed length of the Deposit ID is up to 20 numeric characters.` |
| `regex.transaction-id.pattern`         | Regex pattern for validating Transaction ID format.            | `^[a-zA-Z0-9]{1,50}$`                                                          |
| `regex.transaction-id.failure-message` | Error message displayed when validation fails.                 | `The maximum allowed length of the Transaction ID is up to 50 characters.`     |
| `flexcube.local.currency.list`         | Comma-separated list of supported local currencies.            | `ALL,EUR`                                                                      |

```yaml theme={"system"}
# Deposit Transaction Validation Configuration
# Add this to: deposit-transactions-v0.values.yaml
connector:
  properties:
    # Validation for Deposit ID
    # regex.deposit-id.pattern: <Regex_Pattern>
    # regex.deposit-id.failure-message: <Failure_Message>
    # Validation for Transaction ID
    # regex.transaction-id.pattern: <Regex_Pattern>
    # regex.transaction-id.failure-message: <Failure_Message>
    # Local currency configuration
    # flexcube.local.currency.list: <Currency1>,<Currency2>,...
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

<Info>
  The Deposit ID validation accepts numeric characters only (max 20 characters), while Transaction ID accepts alphanumeric characters (max 50 characters).
</Info>

### Define account-inbound connector parameters

For real-time account update processing, configure the `account-inbound-v0.values.yaml` connector:

| Parameter                              | Description                                               | Example value                                                                                  |
| -------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `retryFlag`                            | Enable or disable retry logic.                            | `false`                                                                                        |
| **ASB Configuration**                  |                                                           |                                                                                                |
| `asb.event.type`                       | Event type identifier (Backbase event specification).     | `com.backbase.products.arrangement.event.spec.v1.DepositAccountUpdateEvent`                    |
| `asb.event.source`                     | Source system name.                                       | `com.backbase.deposit`                                                                         |
| `asb.event.version`                    | Event schema version.                                     | `1.0.0`                                                                                        |
| `asb.event.topic`                      | Azure Service Bus topic name.                             | `deposit-updates`                                                                              |
| `asb.producer.apiUri`                  | Azure Service Bus producer endpoint URI.                  | `http://asb-producer-v0.synchub-producer.svc.cluster.local`                                    |
| **Flexcube JMS Configuration**         |                                                           |                                                                                                |
| `jmsFlexCubeUrl`                       | JMS URL for Oracle FLEXCUBE notifications (T3S protocol). | `t3s://flexcube-jms.yourbank.com:6004`                                                         |
| `flexcube.account.update.queue.names`  | Queue name for account updates.                           | `NOTIF_CA_CUSTACC_MOD`                                                                         |
| `flexcube.deposit.status.notif.code`   | Notification code for deposit status updates.             | `NOTIF_CA_CUSTACC_MOD`                                                                         |
| `flexcube.account.notif.code.header`   | Notification code header.                                 | `NOTIF_CODE`                                                                                   |
| `jms.connection.factory`               | JMS connection factory name.                              | `BBGC_QCF`                                                                                     |
| **JMS Error Handling & Recovery**      |                                                           |                                                                                                |
| `jms.recover.exception.http.enable`    | Enable recovery for HTTP exceptions.                      | `true`                                                                                         |
| `jms.recover.exception.http.statuses`  | HTTP status codes that trigger recovery.                  | `429,500,502,503,504`                                                                          |
| `jms.recover.exception.socket.enable`  | Enable recovery for socket exceptions.                    | `true`                                                                                         |
| `jms.recover.exception.general.enable` | Enable recovery for general exceptions.                   | `false`                                                                                        |
| `jms.error.http.acknowledge`           | Acknowledge messages on HTTP errors.                      | `false`                                                                                        |
| **JMS Health Check & Retry**           |                                                           |                                                                                                |
| `jms.health.check.interval.seconds`    | Health check interval in seconds.                         | `60`                                                                                           |
| `jms.inactivity.threshold.ms`          | Inactivity threshold in milliseconds.                     | `1800000`                                                                                      |
| `jms.startup.max.retries`              | Maximum startup retry attempts.                           | `3`                                                                                            |
| `jms.startup.retry.base.delay.ms`      | Base delay between retries in milliseconds.               | `2000L`                                                                                        |
| `jms.startup.retry.max.delay.ms`       | Maximum delay between retries in milliseconds.            | `30000L`                                                                                       |
| **JMS SSL/TLS Configuration**          |                                                           |                                                                                                |
| `jms.ssl.enable`                       | Enable SSL/TLS for JMS connection.                        | `true`                                                                                         |
| `jms.ssl.trustStore`                   | Path to SSL truststore file.                              | `/etc/camel/conf.d/_secrets/flexcube-ssl-truststore-secret/flexcube-ssl-truststore-secret.jks` |

```yaml theme={"system"}
# Oracle FLEXCUBE Account Inbound Connector Configuration
# Place this in: account-inbound-v0.values.yaml
connector:
  properties:
    # retryFlag: <true|false>
    
    # ASB Configuration
    # asb.event.type: <Event_Type>
    # asb.event.source: <Event_Source>
    # asb.event.version: <Event_Version>
    # asb.event.topic: <Topic_Name>
    # asb.producer.apiUri: <Producer_API_URI>
    
    # Flexcube JMS Configuration
    # jmsFlexCubeUrl: <JMS_URL>
    # flexcube.account.update.queue.names: <Queue_Names>
    # flexcube.deposit.status.notif.code: <Notification_Code>
    # flexcube.account.notif.code.header: <Header_Name>
    # jms.connection.factory: <Connection_Factory>
    
    # JMS Error Handling & Recovery
    # jms.recover.exception.http.enable: <true|false>
    # jms.recover.exception.http.statuses: <Status1>,<Status2>,...
    # jms.recover.exception.socket.enable: <true|false>
    # jms.recover.exception.general.enable: <true|false>
    # jms.error.http.acknowledge: <true|false>
    
    # JMS Health Check & Retry
    # jms.health.check.interval.seconds: <Interval_Seconds>
    # jms.inactivity.threshold.ms: <Threshold_Ms>
    # jms.startup.max.retries: <Max_Retries>
    # jms.startup.retry.base.delay.ms: <Base_Delay_Ms>
    # jms.startup.retry.max.delay.ms: <Max_Delay_Ms>
    
    # JMS SSL/TLS Configuration
    # jms.ssl.enable: <true|false>
    # jms.ssl.trustStore: <TrustStore_Path>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

<Warning>
  The `asb.event.source`, `asb.event.topic`, `flexcube.deposit.status.notif.code`, and `jmsFlexCubeUrl` parameters are vendor-specific and may vary depending on your Oracle FLEXCUBE implementation. Verify these values with your Oracle FLEXCUBE administrator.
</Warning>

<Warning>
  **Critical:** The `jms.error.http.acknowledge` parameter should be set to `false` by default. Setting it to `true` will acknowledge messages even on HTTP errors, which may result in data loss. Only change this if your specific use case requires it.
</Warning>

Place the values file at:

```text theme={"system"}
iPaaS/azure/runtimes/{runtime}/values/gc-flexcube/account-inbound-v0.values.yaml
```

### Define transaction-inbound connector parameters

For real-time transaction update processing, configure the `transaction-inbound-v0.values.yaml` connector:

| Parameter                                         | Description                                                | Example value                                                                                  |
| ------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `retryFlag`                                       | Enable or disable retry logic.                             | `false`                                                                                        |
| **ASB Retry Configuration**                       |                                                            |                                                                                                |
| `retry.statuses`                                  | HTTP status codes that trigger retry for ASB.              | `429,500,502,503,504`                                                                          |
| `redelivery.backOffMultiplier`                    | Backoff multiplier for redelivery attempts.                | `2`                                                                                            |
| `redelivery.delay`                                | Initial delay between redelivery attempts (ms).            | `200`                                                                                          |
| `redelivery.maximumRetries`                       | Maximum number of redelivery attempts.                     | `3`                                                                                            |
| **ASB Configuration**                             |                                                            |                                                                                                |
| `asb.event.type`                                  | Event type identifier (Backbase event specification).      | `com.backbase.event.spec.v1.TransactionEvent`                                                  |
| `asb.event.source`                                | Source system name.                                        | `com.backbase.transaction`                                                                     |
| `asb.event.version`                               | Event schema version.                                      | `1.0.0`                                                                                        |
| `asb.event.topic`                                 | Azure Service Bus topic name.                              | `transaction-updates`                                                                          |
| `asb.producer.apiUri`                             | Azure Service Bus producer endpoint URI.                   | `http://asb-producer-v0.synchub-producer.svc.cluster.local`                                    |
| **Flexcube JMS Configuration**                    |                                                            |                                                                                                |
| `jmsFlexCubeUrl`                                  | JMS URL for Oracle FLEXCUBE notifications (T3S protocol).  | `t3s://flexcube-jms.yourbank.com:6004`                                                         |
| `jms.concurrent.enable`                           | Enable concurrent message processing.                      | `false`                                                                                        |
| `jms.concurrent.threads`                          | Number of concurrent threads (when enabled).               | `2`                                                                                            |
| `jms.concurrent.receive.reestablish.time`         | Time to reestablish concurrent receive (ms).               | `1000`                                                                                         |
| `jms.concurrent.shutdown.waiting.time`            | Shutdown waiting time for concurrent processing (seconds). | `30`                                                                                           |
| `flexcube.deposit.transaction.update.queue.names` | Queue names for transaction updates (comma-separated).     | `NOTIF_CA_DLYLOG_INS_Q,ATM_BLKCLOSE_NOTIF_Q,NOTIFY_SWITCH_TXN`                                 |
| `flexcube.deposit.transaction.notif.code.header`  | Notification code header.                                  | `NOTIF_CODE`                                                                                   |
| `flexcube.deposit.transaction.notif.code.values`  | Notification code values (comma-separated).                | `NOTIF_CA_DLYLOG_INS,NOTIF_SW_TRN_ATM_S,NOTIF_CA_AMTBLK_CANCEL`                                |
| `jms.connection.factory`                          | JMS connection factory name.                               | `BBGC_QCF`                                                                                     |
| **JMS Error Handling & Recovery**                 |                                                            |                                                                                                |
| `jms.recover.exception.http.enable`               | Enable recovery for HTTP exceptions.                       | `true`                                                                                         |
| `jms.recover.exception.http.statuses`             | HTTP status codes that trigger recovery.                   | `429,500,502,503,504`                                                                          |
| `jms.recover.exception.socket.enable`             | Enable recovery for socket exceptions.                     | `true`                                                                                         |
| `jms.recover.exception.general.enable`            | Enable recovery for general exceptions.                    | `false`                                                                                        |
| `jms.error.http.acknowledge`                      | Acknowledge messages on HTTP errors.                       | `false`                                                                                        |
| **JMS SSL/TLS Configuration**                     |                                                            |                                                                                                |
| `jms.ssl.enable`                                  | Enable SSL/TLS for JMS connection.                         | `true`                                                                                         |
| `jms.ssl.trustStore`                              | Path to SSL truststore file.                               | `/etc/camel/conf.d/_secrets/flexcube-ssl-truststore-secret/flexcube-ssl-truststore-secret.jks` |

```yaml theme={"system"}
# Oracle FLEXCUBE Transaction Inbound Connector Configuration
# Place this in: transaction-inbound-v0.values.yaml
connector:
  properties:
    # Retry values for ASB
    # retry.statuses: <Status1>,<Status2>,...
    # redelivery.backOffMultiplier: <Multiplier>
    # redelivery.delay: <Delay_Ms>
    # redelivery.maximumRetries: <Max_Retries>
    # retryFlag: <true|false>
    
    # ASB Configuration
    # asb.event.type: <Event_Type>
    # asb.event.source: <Event_Source>
    # asb.event.version: <Event_Version>
    # asb.event.topic: <Topic_Name>
    # asb.producer.apiUri: <Producer_API_URI>
    
    # Flexcube JMS Configuration
    # jmsFlexCubeUrl: <JMS_URL>
    # jms.concurrent.enable: <true|false>
    # jms.concurrent.threads: <Thread_Count>
    # jms.concurrent.receive.reestablish.time: <Time_Ms>
    # jms.concurrent.shutdown.waiting.time: <Time_Seconds>
    # flexcube.deposit.transaction.update.queue.names: <Queue_Names>
    # flexcube.deposit.transaction.notif.code.header: <Header_Name>
    # flexcube.deposit.transaction.notif.code.values: <Notif_Code_Values>
    # jms.connection.factory: <Connection_Factory>
    
    # JMS Error Handling & Recovery
    # jms.recover.exception.http.enable: <true|false>
    # jms.recover.exception.http.statuses: <Status1>,<Status2>,...
    # jms.recover.exception.socket.enable: <true|false>
    # jms.recover.exception.general.enable: <true|false>
    # jms.error.http.acknowledge: <true|false>
    
    # JMS SSL/TLS Configuration
    # jms.ssl.enable: <true|false>
    # jms.ssl.trustStore: <TrustStore_Path>
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

<Warning>
  The `asb.event.source`, `asb.event.topic`, `flexcube.deposit.transaction.notif.code.values`, and `jmsFlexCubeUrl` parameters are vendor-specific and may vary depending on your Oracle FLEXCUBE implementation. Verify these values with your Oracle FLEXCUBE administrator.
</Warning>

<Warning>
  **Critical:** The `jms.error.http.acknowledge` parameter should be set to `false` by default. Setting it to `true` will acknowledge messages even on HTTP errors, which may result in data loss. Only change this if your specific use case requires it.
</Warning>

<Info>
  **Concurrent processing:** By default, `jms.concurrent.enable` is set to `false`. To enable concurrent message processing, set it to `true` and uncomment the related configuration parameters (`jms.concurrent.threads`, `jms.concurrent.receive.reestablish.time`, `jms.concurrent.shutdown.waiting.time`).
</Info>

Place the values file at:

```text theme={"system"}
iPaaS/azure/runtimes/{runtime}/values/gc-flexcube/transaction-inbound-v0.values.yaml
```

***

## Testing the connector

After configuration, test the connector using the API key authentication:

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

Test the API using the <a href="https://github.com/bb-ecos-ecos/grandcentral-documentation/tree/main/Postman-Collection/Flexcube%20Core%20Collections" target="_blank">Postman collection</a>.

## Troubleshooting

If your connector isn't responding as expected, check these common scenarios.

<AccordionGroup>
  <Accordion title="5XX: Internal server error / Core system is down" icon="lock">
    **Cause:** The Grand Central gateway cannot establish a handshake with the Oracle FLEXCUBE endpoint. This typically indicates an upstream service outage at Oracle or a network routing failure.

    **Solution:** Verify the operational status of the Oracle FLEXCUBE environment. Check Oracle's status page or contact Oracle support. If the service is operational, contact [Grand Central Support](mailto:support@grandcentral.io).
  </Accordion>

  <Accordion title="5XX: Timeout from core / Read timeout / SocketTimeoutException" icon="wifi-slash">
    **Cause:** The request to Oracle FLEXCUBE exceeded the configured timeout period. This may indicate performance issues at Oracle or network latency problems.

    **Solution:** Verify the operational status of the Oracle FLEXCUBE environment and check for any performance degradation. If the service is operational and performing normally, contact [Grand Central Support](mailto:support@grandcentral.io).
  </Accordion>

  <Accordion title="VPN connectivity issues" icon="network-wired">
    **Cause:** VPN connectivity to the Oracle FLEXCUBE environment has not been established or has been interrupted.

    **Solution:** Verify VPN connectivity and ensure routing is properly configured between Grand Central and Oracle FLEXCUBE.
  </Accordion>

  <Accordion title="JMS connection failed" icon="plug-circle-xmark">
    **Cause:** The JMS URL for the Oracle FLEXCUBE notification system is incorrect or the queue is unreachable.

    **Solution:** Verify the `jmsFlexCubeUrl` configuration and ensure the queue name is correctly specified.
  </Accordion>

  <Accordion title="401: Invalid authentication credentials" icon="key">
    **Cause:** The authentication credentials provided during setup are incorrect, expired, or the user lacks the required permissions in Oracle FLEXCUBE.

    **Solution:** Re-verify your credentials with your Oracle FLEXCUBE administrator, and ensure the user has the required permissions. Contact the Grand Central team to update the connection credentials if needed.
  </Accordion>

  <Accordion title="429: Rate limit exceeded" icon="gauge-high">
    **Cause:** The number of incoming requests exceeds the defined threshold for your subscription tier. This "429 Too Many Requests" response protects the stability of the Grand Central and Oracle FLEXCUBE infrastructure.

    **Solution:** Review your app's request patterns to identify unexpected spikes. If you need higher throughput, contact the Grand Central team to request a higher rate limit.
  </Accordion>
</AccordionGroup>

***

## Need more help?

<Card title="Contact support" icon="envelope" href="mailto:support@grandcentral.io">
  Contact the Grand Central team for help with environment setup or rate limit increases.
</Card>
