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

# The Identify Result object

> The institution, reachable rails, and — on supported rails — the holder behind an account or wallet identifier.

Identify is a single endpoint: [`POST /v1/identify`](/api-reference/identify/identify-an-account). The response `data` is this object.

```json theme={null}
{
  "result": "identified",
  "rail": "routing_number",
  "country": "US",
  "institution": {
    "name": "JPMorgan Chase",
    "type": "bank",
    "code": "021000021",
    "address": { "city": "Tampa", "country": "US" }
  },
  "reachable_rails": ["ach", "wire", "rtp"],
  "identified_at": "2026-08-02T12:00:00Z"
}
```

With holder resolution (`nuban` + `account_number`):

```json theme={null}
{
  "result": "identified",
  "rail": "nuban",
  "country": "NG",
  "institution": {
    "name": "Guaranty Trust Bank",
    "type": "bank",
    "code": "058",
    "bic": "GTBINGLA",
    "address": { "country": "NG" }
  },
  "reachable_rails": ["nip"],
  "account": {
    "number": "0123456789",
    "name": "ADA LOVELACE",
    "name_resolution": "resolved"
  },
  "identified_at": "2026-08-02T12:00:00Z"
}
```

## Attributes

<ResponseField name="result" type="enum" required>
  Outcome of the lookup. One of `identified`, `not_found`, `unsupported`. Only `identified` is billed.
</ResponseField>

<ResponseField name="rail" type="string" required>
  Rail that was resolved. One of `swift`, `iban`, `routing_number`, `sort_code`, `ifsc`, `nuban`, `momo`, `gh_bank`.
</ResponseField>

<ResponseField name="country" type="string">
  ISO 3166-1 alpha-2 of the institution, when known.
</ResponseField>

<ResponseField name="institution" type="object">
  The identified financial institution. Omitted when `result` is not `identified`.

  <Expandable title="properties">
    <ResponseField name="name" type="string">
      Institution name.
    </ResponseField>

    <ResponseField name="type" type="string">
      Institution type, e.g. `bank`.
    </ResponseField>

    <ResponseField name="code" type="string">
      Institution code on this rail.
    </ResponseField>

    <ResponseField name="bic" type="string">
      SWIFT/BIC, when known.
    </ResponseField>

    <ResponseField name="address" type="object">
      <Expandable title="properties">
        <ResponseField name="city" type="string">
          City, when known.
        </ResponseField>

        <ResponseField name="country" type="string">
          ISO country.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="reachable_rails" type="string[]">
  Payment rails the institution can be reached on (`ach`, `wire`, `rtp`, `nip`, …).
</ResponseField>

<ResponseField name="account" type="object">
  Present when you supplied `account_number`.

  <Expandable title="properties">
    <ResponseField name="number" type="string">
      The account or wallet number you sent.
    </ResponseField>

    <ResponseField name="name" type="string">
      Resolved holder name, when available.
    </ResponseField>

    <ResponseField name="name_resolution" type="enum">
      `resolved`, `unavailable`, or `not_supported`. Holder resolution runs on `nuban`, `momo`, and `gh_bank` only.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="identified_at" type="timestamp">
  Present only when `result` is `identified`.
</ResponseField>

If a field is unknown we omit it. See the [Identify guide](/guides/identify) for rails and examples, or [Identify an account](/api-reference/identify/identify-an-account) for the request.
