---
title: "Create a Funding"
method: POST
path: "/v0/fundings"
tags: ["Funding"]
---

# Create a Funding

`POST /v0/fundings`

Creates a Funding object to request that Lead move funds from a Lead GL to the partner's funding FBO account.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `subledger_balance_id` string, required — Unique ID of the credit subledger balance object that a funding object is being created for. The referenced Subledger Balance must be in an `active` status. If the Subledger Balance has an `expected_maturity_date`, it must not be in the past.
  - `currency_code` 'USD', required — A three-letter currency code as defined in ISO 4217. Must match the `currency_code` on the associated Subledger Balance object.
  - `principal` object, required — The total amount of funding that is part of the loan product's principal. All amounts are in minor units. If the referenced Subledger Balance has a `details.structure` of `non_revolving`, the sum of all `principal.*` fields on this request plus the sum of `principal.*` fields on any prior Funding in a `posted` or `processing` status associated with that Subledger Balance must not exceed the Subledger Balance's `max_funding_amount`.
    - `external_disbursement_amount` integer — The portion of the principal amount that will be made available for external disbursement at the time of funding (in minor units). Either this field or `withheld_amount` must be greater than 0.
    - `withheld_amount` integer — The portion of the principal amount that will be withheld and not disbursed externally at the time of funding (in minor units). Either this field or `external_disbursement_amount` must be greater than 0.
    - `merchant_origination_fee_amount` integer — The amount of origination fees charged to the merchant that is included in the principal amount (in minor units). Must be less than `external_disbursement_amount` + `withheld_amount`.
  - `other_fees` object — Fees relating to the funding request that Lead needs awareness of for bookkeeping purposes only.
    - `borrower_origination_fee_amount` integer — Non-capitalized origination fee charged to the borrower at the point of funding (in minor units).
  - `metadata` object — Additional metadata associated with the funding.

## Response `200`

Successful response

- FundingV0
  - `id` string — Unique ID of the funding object.
  - `subledger_balance_id` string — Unique ID of the credit subledger balance object that a funding object is being created for. The referenced Subledger Balance must be in an `active` status. If the Subledger Balance has an `expected_maturity_date`, it must not be in the past.
  - `currency_code` 'USD' — A three-letter currency code as defined in ISO 4217.
  - `principal` object — The total amount of funding that is part of the loan product's principal. Note that upon funding, this amount will be considered disbursed, and Lead will begin applying imputed interest. All amounts will be assumed to be in the currency set on the Subledger Balance object. Invariant: (external_disbursement_amount > 0) OR (withheld_amount > 0).
    - `external_disbursement_amount` integer — The portion of the principal amount that will be made available for external disbursement at the time of funding (in minor units). Either this field or `withheld_amount` must be greater than 0.
    - `withheld_amount` integer — The portion of the principal amount that will be withheld and not disbursed externally at the time of funding (in minor units). Either this field or `external_disbursement_amount` must be greater than 0.
    - `merchant_origination_fee_amount` integer — The amount of origination fees charged to the merchant that is included in the principal amount (in minor units). Must be less than `external_disbursement_amount` + `withheld_amount`.
  - `other_fees` object — Fees relating to the funding request that Lead needs awareness of for bookkeeping purposes only.
    - `borrower_origination_fee_amount` integer — Non-capitalized origination fee charged to the borrower at the point of funding (in minor units).
  - `metadata` object — Additional metadata associated with the funding.
  - `status` 'processing' | 'posted' | 'rejected' — The current status of the Funding object.
  - `rejection` FundingRejection — Object containing information relevant for cases where the Funding object is in a rejected status. When the object is not in a rejected status, fields will still be present with empty strings.
    - `reason` 'internal_error' — The rejection code that indicates the type of rejection. Note that Lead may introduce additional enums in the future; partner integrations should be ready to handle them as non-breaking changes.
    - `details` string — Additional info about the rejection. Reserved for future use.
  - `created_at` string, date-time — The ISO-8601 timestamp at which the Funding object was created.
  - `updated_at` string, date-time — The ISO-8601 timestamp at which the Funding object was last updated.

## Other responses

- `400` — We couldn't parse your request body, please check that your request body is valid JSON.
- `401` — Valid access token was not used to call the API.
- `403` — Valid access token was provided but lacks the proper scopes/permissions.
- `422` — Your request parameters did not validate.
- `429` — Rate limit exceeded.
- `500` — Internal server error.

---

[API](https://skmtc.net/lead/apis/lead-bank.md) · [All operations](https://skmtc.net/lead/apis/lead-bank/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lead/lead-bank/revisions/25c2a92d55e2/schema)
