> ## 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

> Configure and deploy the Onfido identity verification connector with Grand Central

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 titleRow = document.querySelector("#page-title")?.parentElement;
      if (!titleRow) {
        return null;
      }
      let callout = titleRow.querySelector("[data-vendor-api-version-callout='true']");
      if (!callout) {
        callout = document.createElement("div");
        callout.dataset.vendorApiVersionCallout = "true";
        callout.className = "vendor-api-version-callout vendor-api-version-callout--in-title";
        titleRow.appendChild(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 = ["Onfido API v3.6"];

<VendorApiVersionTag versions={vendorApiVersions} />

Complete the following prerequisites and configuration steps to deploy the Onfido Connector.

## Prerequisites

Before you configure the connector, ensure you have the following credentials and connectivity in place:

* **Onfido contract and access:** You need an active test and production account to use this integration.
* **Access to Onfido Studio:** You need administrator access to [Onfido Studio](https://www.entrust.com/products/identity-verification/studio) to create and configure workflows.
* **An active workflow:** Create, configure, and publish one or more workflows in Onfido Studio before you launch any identity verification process.
* **Network connectivity:** Confirm routing between the Onfido environments and the Grand Central iPaaS.
* **Environment details:** Obtain the following environment variables from Onfido to configure the connector:

| Key              | Description                       |
| :--------------- | :-------------------------------- |
| `onfido.baseUrl` | Base URL of the Onfido app        |
| `onfidoapitoken` | Onfido token for OAuth generation |

## Configuration guide

Follow these steps to initialize and authorize your Onfido Connector.

### 1. Establish connectivity

Share the following details with the Grand Central team to establish secure connectivity between Grand Central and Onfido:

* **Environment details:** Base URL of the Onfido app
* **Authorization:** Onfido API token for authentication

### 2. Configure environment variables

Define your environment variables in the `party-lifecycle-v0.values.yaml` file in the `gc-ecos-applications-live` repository. Set values for parameters that override the defaults in the `application.properties` file.

Sample `application.properties` file:

```properties theme={"system"}
onfido.baseUrl= //ONFIDO environment base URL
```

Sample `party-lifecycle-v0.values.yaml` file:

```yaml theme={"system"}
# Sample Onfido environment configuration
connector:
  traits:
    knativeservice:
      minScale: 0
    logging:
      level: INFO
```

Place the `party-lifecycle-v0.values.yaml` file in the following path:

```text theme={"system"}
├── iPaaS
└── azure/runtimes
    ├── dev
    └── test
        └── values
            ├── gc-onfido
                └── party-lifecycle-v0.values.yaml
```

### 3. Configure webhook

* Register your environment callback URL (`{PARTY_LIFECYCLE_INBOUND_BASE_URL}/webhooks/identity-verifications`) in Onfido Studio.

* To establish the private link connection with the destination, configure the `ipa.service.url` property in the `values.yaml` file. The connector shares the transformed payload with the downstream system over the configured private link.

<Note>
  Downstream systems must implement an HTTP endpoint that accepts the transformed callback payload. The endpoint must be reachable from the Grand Central runtime over private link.
</Note>

## Test your integration

To use the Party Lifecycle Unified API, include your Grand Central subscription key in the request header. If you do not have a key, contact the Grand Central Support Team to request one.

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

Test the API using the [Postman collection](https://github.com/bb-ecos-ecos/grandcentral-documentation/blob/main/Postman-Collection/GC%20Party%20Lifecycle%20-%20Unified%20Spec.postman_collection.json).

## Troubleshooting

If your connector does not respond as expected, check these common scenarios.

<AccordionGroup>
  <Accordion icon="lock" title="5xx: internal server error or core system down">
    **Cause:** The Grand Central gateway cannot establish a handshake with the Onfido endpoint. This typically indicates an upstream service outage at Onfido or a network routing failure.

    **Solution:** Verify the operational status of the Onfido environment with Onfido. If the service is operational, contact the [GC Support](mailto:gc_support@backbase.com) team.
  </Accordion>

  <Accordion icon="wifi-slash" title="5xx: timeout or SocketTimeoutException">
    **Cause:** The request to Onfido exceeded the configured timeout threshold. This can occur during high load or network latency issues.

    **Solution:** Verify the operational status of the Onfido environment with Onfido. If the service is operational, contact the [GC Support](mailto:gc_support@backbase.com) team to review timeout configurations.
  </Accordion>

  <Accordion icon="key" title="Invalid authentication">
    **Cause:** You entered incorrect credentials during setup.

    **Solution:** Verify your credentials with Onfido and contact the GC team to update the connection.
  </Accordion>

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

    **Solution:** Review your application request patterns to identify unexpected spikes. If you require higher throughput, contact the Grand Central team to request an adjustment to your APIM rate limit policy.
  </Accordion>
</AccordionGroup>

## Need more help?

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