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

# Link Identity to a Balance

> Learn how to link identities to a balance

export const RelatedTopics = ({title = "Related topics", items = []}) => {
  if (!items.length) {
    return null;
  }
  return <nav className="related-topics not-prose mt-20 mb-10 flex flex-col" aria-label={title}>
      <p className="related-topics-heading m-0 border-b border-zinc-200 pb-3 text-sm font-medium text-zinc-500 dark:border-white/10 dark:text-zinc-400">
        {title}
      </p>
      <ul className="related-topics-list m-0 mt-3 flex list-none flex-col gap-0.5 p-0">
        {items.map(item => {
    const isExternal = typeof item.href === "string" && (/^https?:\/\//i).test(item.href);
    return <li key={item.href} className="m-0 p-0">
              <a href={item.href} target={isExternal ? "_blank" : undefined} rel={isExternal ? "noopener noreferrer" : undefined} className="related-topics-link group inline-flex items-center gap-2 text-sm font-semibold text-zinc-700 no-underline transition-colors dark:text-zinc-300">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="related-topics-icon shrink-0 text-zinc-400 dark:text-zinc-500" aria-hidden="true">
                  <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" />
                  <path d="M14 2v4a2 2 0 0 0 2 2h4" />
                  <path d="M10 9H8" />
                  <path d="M16 13H8" />
                  <path d="M16 17H8" />
                </svg>
                <span className="relative top-px transition-colors group-hover:text-[#DD7B1B]">
                  {item.title}
                </span>
              </a>
            </li>;
  })}
      </ul>
    </nav>;
};

export const CtaCallout = props => {
  const {title, buttonLabel, href, trackingEvent, buttonTarget, rel = "noopener noreferrer", children} = props;
  const handleCtaClick = () => {
    if (typeof window === "undefined" || !trackingEvent) {
      return;
    }
    try {
      window.dispatchEvent(new CustomEvent("blnk:docs-cta", {
        detail: {
          name: trackingEvent,
          href
        }
      }));
    } catch {}
    try {
      window.posthog?.capture?.(trackingEvent, {
        href
      });
    } catch {}
    const gaPayload = {
      cta_href: href
    };
    try {
      window.gtag?.("event", trackingEvent, gaPayload);
    } catch {}
    try {
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({
        event: trackingEvent,
        ...gaPayload
      });
    } catch {}
  };
  const isExternal = typeof href === "string" && (/^https?:\/\//i).test(href);
  const target = buttonTarget ?? (isExternal ? "_blank" : undefined);
  const linkRel = isExternal ? rel : undefined;
  return <section className="cta-callout not-prose relative my-8 w-full min-w-0 overflow-hidden rounded-xl border border-zinc-200 p-5 dark:border-white/10">
      <div className="cta-callout-noise" aria-hidden="true" />
      <div className="cta-callout-layout">
        {title ? <div className="cta-callout-title-row">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="14" height="14" className="cta-callout-icon shrink-0 text-zinc-800 dark:text-zinc-200" aria-hidden="true">
              <g fill="none" fillRule="nonzero">
                <path d="M28 0v28H0V0h28ZM14.691833333333335 27.134333333333334l-0.012833333333333334 0.0023333333333333335 -0.08283333333333333 0.04083333333333334 -0.023333333333333334 0.004666666666666667 -0.016333333333333335 -0.004666666666666667 -0.08283333333333333 -0.04083333333333334c-0.011666666666666667 -0.004666666666666667 -0.022166666666666668 -0.0011666666666666668 -0.028000000000000004 0.005833333333333334l-0.004666666666666667 0.011666666666666667 -0.019833333333333335 0.49933333333333335 0.005833333333333334 0.023333333333333334 0.011666666666666667 0.015166666666666667 0.12133333333333333 0.08633333333333333 0.0175 0.004666666666666667 0.014000000000000002 -0.004666666666666667 0.12133333333333333 -0.08633333333333333 0.014000000000000002 -0.018666666666666668 0.004666666666666667 -0.019833333333333335 -0.019833333333333335 -0.4981666666666667c-0.0023333333333333335 -0.011666666666666667 -0.0105 -0.019833333333333335 -0.019833333333333335 -0.021Zm0.3091666666666667 -0.13183333333333336 -0.015166666666666667 0.0023333333333333335 -0.21583333333333335 0.1085 -0.011666666666666667 0.011666666666666667 -0.0035000000000000005 0.012833333333333334 0.021 0.5016666666666667 0.005833333333333334 0.014000000000000002 0.009333333333333334 0.008166666666666668 0.23450000000000004 0.1085c0.014000000000000002 0.004666666666666667 0.026833333333333334 0 0.03383333333333334 -0.009333333333333334l0.004666666666666667 -0.016333333333333335 -0.03966666666666667 -0.7163333333333334c-0.0035000000000000005 -0.014000000000000002 -0.011666666666666667 -0.023333333333333334 -0.023333333333333334 -0.025666666666666667Zm-0.8341666666666667 0.0023333333333333335a0.026833333333333334 0.026833333333334334 0 0 0 -0.0315 0.007000000000000001l-0.007000000000000001 0.016333333333333335 -0.03966666666666667 0.7163333333333334c0 0.014000000000000002 0.008166666666666668 0.023333333333333334 0.019833333333333335 0.028000000000000004l0.0175 -0.0023333333333333335 0.23450000000000004 -0.1085 0.011666666666666667 -0.009333333333333334 0.004666666666666667 -0.012833333333333334 0.019833333333333335 -0.5016666666666667 -0.0035000000000000005 -0.014000000000000002 -0.011666666666666667 -0.011666666666666667 -0.21466666666666667 -0.10733333333333334Z" strokeWidth="1.1667" />
                <path fill="currentColor" d="M14 2.916666666666667A1.75 1.75 0 0 1 15.750000000000002 4.666666666666667v6.302333333333334L21.207666666666668 7.816666666666667a1.75 1.75 0 0 1 1.75 3.031L17.5 14l5.457666666666667 3.151166666666667a1.75 1.75 0 0 1 -1.75 3.031l-5.457666666666667 -3.1500000000000004V23.333333333333336a1.75 1.75 0 0 1 -3.5 0v-6.302333333333334L6.792333333333334 20.183333333333337a1.75 1.75 0 1 1 -1.75 -3.031L10.5 14 5.042333333333334 10.848833333333333a1.75 1.75 0 0 1 1.75 -3.031l5.457666666666667 3.1500000000000004V4.666666666666667A1.75 1.75 0 0 1 14 2.916666666666667Z" strokeWidth="1.1667" />
              </g>
            </svg>
            <p className="cta-callout-title min-w-0 font-semibold text-zinc-800 dark:text-zinc-200">
              {title}
            </p>
          </div> : null}
        <div className={`cta-callout-body text-sm leading-normal text-zinc-800 dark:text-zinc-200${title ? " cta-callout-body--indented" : ""}`}>
          {children}
        </div>
        <a href={href} target={target} rel={linkRel} onClick={handleCtaClick} data-docs-cta={trackingEvent || undefined} className="cta-callout-button inline-flex items-center justify-center gap-1 rounded-full bg-white px-3 py-1.5 text-sm font-semibold transition hover:bg-zinc-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50 dark:bg-white dark:hover:bg-zinc-200">
          {buttonLabel}
          <span className="cta-callout-button-arrow" aria-hidden="true">
            →
          </span>
        </a>
      </div>
    </section>;
};

Blnk enables you to create and link multiple balances to a single identity within your Ledger.

Any transaction record associated with a linked balance is also automatically mapped to the corresponding identity.

***

## Link an identity to a balance

To create a balance connected to an identity, include the `identity_id` of the identity you want to associate with the balance in the request body of the **create-balance** endpoint as shown below:

<CodeGroup>
  ```bash cURL wrap theme={"system"}
  curl -X POST "http://localhost:5001/balances" \
    -H "X-blnk-key: <api-key>" \
    -H "Content-Type: application/json" \
    -d '{
      "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
      "identity_id": "idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d",
      "currency": "USD"
    }'
  ```

  ```typescript TypeScript wrap theme={"system"}
  const response = await blnk.LedgerBalances.create({
    ledger_id: 'ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc',
    identity_id: 'idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d',
    currency: 'USD',
  });
  ```

  ```go Go wrap theme={"system"}
  balance, _, err := client.LedgerBalance.Create(blnkgo.CreateLedgerBalanceRequest{
      LedgerID: "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
      IdentityID: "idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d",
      Currency: "USD",
  })
  if err != nil {
      log.Fatal(err)
  }
  fmt.Println("Balance Created:", balance.BalanceID)
  ```

  ```python Python wrap theme={"system"}
  response = blnk.ledger_balances.create({
    "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
    "identity_id": "idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d",
    "currency": "USD",
  })
  ```

  ```java Java wrap theme={"system"}
  ApiResponse<JsonNode> response = blnk.ledgerBalances().create(
      CreateLedgerBalance.create()
          .ledgerId("ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc")
          .identityId("idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d")
          .currency("USD"));
  ```

  ```bash Blnk CLI wrap theme={"system"}
  blnk balances create
  ```
</CodeGroup>

```json Response {10} wrap theme={"system"}
{
    "balance": 0,
    "version": 0,
    "inflight_balance": 0,
    "credit_balance": 0,
    "inflight_credit_balance": 0,
    "debit_balance": 0,
    "inflight_debit_balance": 0,
    "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
    "identity_id": "idt_0501db5c-baf9-4be1-a931-f4bae7f3a41d",
    "balance_id": "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
    "indicator": "",
    "currency": "USD",
    "created_at": "2024-07-05T08:13:18.882616461Z",
    "meta_data": {
        "customer_internal_id": "1234",
        "customer_name": "Jerry"
    }
}
```

***

## Update a balance's identity

You can update the identity associated with an existing balance using the [**Update Balance Identity**](/reference/update-balance-identity) endpoint:

<CodeGroup>
  ```bash cURL wrap theme={"system"}
  curl -X PUT "http://localhost:5001/balances/{id}/identity" \
    -H "X-blnk-key: <api-key>" \
    -H "Content-Type: application/json" \
    -d '{
      "identity_id": "idt_3b63c8da-af29-4cc3-ad38-df17d87456e6"
    }'
  ```

  ```typescript TypeScript wrap theme={"system"}
  const response = await blnk.LedgerBalances.updateIdentity(
    'bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a',
    {
      identity_id: 'idt_3b63c8da-af29-4cc3-ad38-df17d87456e6',
    },
  );
  ```

  ```go Go wrap theme={"system"}
  result, resp, err := client.LedgerBalance.UpdateIdentity(
      "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
      blnkgo.UpdateBalanceIdentityRequest{
          IdentityID: "idt_3b63c8da-af29-4cc3-ad38-df17d87456e6",
      },
  )
  ```

  ```python Python wrap theme={"system"}
  response = blnk.ledger_balances.update_identity(
    "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
    {
      "identity_id": "idt_3b63c8da-af29-4cc3-ad38-df17d87456e6",
    },
  )
  ```

  ```java Java wrap theme={"system"}
  ApiResponse<JsonNode> response = blnk.ledgerBalances().updateIdentity(
      "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
      UpdateBalanceIdentity.create()
          .identityId("idt_3b63c8da-af29-4cc3-ad38-df17d87456e6"));
  ```

  ```bash Blnk CLI wrap theme={"system"}
  blnk balances update-identity
  ```
</CodeGroup>

```json Response wrap theme={"system"}
{
  "balance_id": "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
  "identity_id": "idt_3b63c8da-af29-4cc3-ad38-df17d87456e6",
  "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
  "currency": "USD"
}
```

<Tip>
  You can link a balance to a different identity. The identity must exist in your system before you can associate it with a balance. This provides flexibility in managing customer data relationships.
</Tip>

***

## Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.

To ask questions or discuss issues, please [contact us](mailto:support@blnkfinance.com) or [join our Discord community](https://discord.gg/7WNv94zPpx).

<CtaCallout title="Connect your ledger to Blnk Cloud" href="https://cloud.blnkfinance.com/auth/sign-up?utm_source=blnk_docs&utm_medium=documentation&utm_campaign=need-help" buttonLabel="Open Blnk Cloud" trackingEvent="clicked_cloud_signup">
  Sign up and manage your ledger with our back-office dashboard. You can invite teammates to collaborate and manage your ledger operations directly from the dashboard.
</CtaCallout>

<RelatedTopics
  items={[
{ title: "Identities overview", href: "/identities/introduction" },
{ title: "Balances overview", href: "/balances/introduction" },
{ title: "Update balance identity", href: "/reference/update-balance-identity" },
]}
/>
