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

# Reference

> Error code mappings between Onfido and Grand Central for troubleshooting

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} />

The Onfido integration verifies customer identities through document and biometric checks, creating users, starting verification workflows, and returning the identity verification (IDV) outcome. For setup steps, see [Get started](/connectors/kyc-kyb/onfido/get-started).

## Supported operations

The Onfido connector supports the following operations.

### User creation and workflow initiation

* Create a user ID
* Initiate relevant workflow

### Workflow results (Pull)

* Get IDV process outcome
* Get all data points details associated to the decision

### Document download

* Download all documents generated during the IDV process (ie: IDV process reports, face scan movie, document scan images...)

## Events

* The Onfido connector includes inbound webhook support for receiving real-time identity and verification workflow results.

* **Webhook events:** Receive real-time notifications from Onfido when an IDV workflow result is available. Grand Central supports the following Onfido event by default.

| Onfido event             | Output                                                                                             |
| :----------------------- | :------------------------------------------------------------------------------------------------- |
| `workflow_run.completed` | Transformed IDV result with workflow status, applicant ID, workflow output, and decision metadata. |

## Error mapping

The following table maps each Onfido error code to its Grand Central counterpart:

| Onfido code                                | Grand Central code |
| :----------------------------------------- | :----------------- |
| `resource_not_found`                       | `GC054`            |
| `validation_error`                         | `GC205`            |
| `authorization_error`                      | `GC002`            |
| `expired_token`                            | `GC002`            |
| `user_authorization_error`                 | `GC002`            |
| `account_disabled`                         | `GC004`            |
| `disabled_endpoint`                        | `GC004`            |
| `trial_limits_reached`                     | `GC004`            |
| `bad_referrer`                             | `GC005`            |
| `gone`                                     | `GC006`            |
| `incorrect_base_url`                       | `GC021`            |
| `bad_request`                              | `GC025`            |
| `check_type_deprecated`                    | `GC025`            |
| `deprecated_reports`                       | `GC025`            |
| `disabled_reports`                         | `GC025`            |
| `document_ids_with_unsupported_report`     | `GC025`            |
| `facial_similarity_photo_without_document` | `GC025`            |
| `facial_similarity_video_not_supported`    | `GC025`            |
| `failed_check_requirements`                | `GC025`            |
| `incomplete_checks`                        | `GC025`            |
| `invalid_reports_names`                    | `GC025`            |
| `missing_applicant_location`               | `GC025`            |
| `missing_applicant_provided_consents`      | `GC025`            |
| `missing_billing_info`                     | `GC025`            |
| `missing_documents`                        | `GC025`            |
| `missing_id_numbers`                       | `GC025`            |
| `rate_limit`                               | `GC025`            |
| `report_names_blank`                       | `GC025`            |
| `report_names_format`                      | `GC025`            |
| `too_many_checks`                          | `GC025`            |
| `internal_server_error`                    | `GC027`            |

<Info>
  For a complete list of Grand Central error codes and their descriptions, see [Status codes, errors, and responses](/connectors/reference/error-codes).
</Info>
