---
title: "Update an application"
method: PATCH
path: "/v0/applications/{id}"
tags: ["Compliance"]
---

# Update an application

`PATCH /v0/applications/{id}`

Updates properties on an existing application.

Uses JSON Merge Patch semantics (RFC 7396): omitted fields are unchanged,
explicit values overwrite, nested objects merge recursively.

Note: Entity relationships cannot be modified via this endpoint.
Use POST /entity_relationships/batch to add and DELETE /entity_relationships/{entity_id} to remove.

## Idempotency
The Idempotency-Key header is required.

## Path parameters

- `id` string, required — Unique identifier for the application. Prefixed with `application_`.

## Headers

- `Idempotency-Key` string, required

## Request body

- PatchApplicationRequest — Request body for updating an existing application
  - `status` 'approved' | 'declined' | 'canceled' — Terminal state of the application. Possible values: `approved`, `declined`, `canceled`.
  - `details` PatchApplicationDetails — Details for updating an application (all fields optional)
    - `product_name` string — Your internal product name. This tells Lead's Due Diligence team which product this application, if approved, would open an account for.
    - `credit` PatchApplicationCredit — Credit details for updating an application (all fields optional)
      - `is_secured` boolean — Indicates if this is a secured credit/deposit product. `true` if the product is secured (collateral attached); `false` otherwise.
      - `is_mla` boolean — `true` if the applicant is subject to the Military Lending Act; `false` otherwise.
      - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XMW' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' — A three-letter currency code as defined in ISO 4217
      - `underwriting_grade` string — Your internal underwriting grade for the applicant. Accepts any string mapped to your specific scoring framework.
      - `limit` integer — The credit limit assigned to the applicant, in minor units (e.g., cents).
      - `max_limit` integer — The maximum credit limit the applicant was approved for based on original underwriting, in minor units (e.g., cents).
      - `report` CreditReport — Credit report information. Exactly one of `score` or `non_score_value` must be provided; `pulled_at` and `source` are always required when a credit report is supplied.
        - `score` integer — Credit score returned by the bureau. Supported range is 300-850. Mutually exclusive with `non_score_value`.
        - `non_score_value` 'unestablished' | 'frozen' — Indicates the state of a credit file when a numeric score is not available. Mutually exclusive with `score`.
        - `pulled_at` string, date-time, required — ISO 8601 timestamp when the credit report was pulled.
        - `source` 'equifax' | 'transunion' | 'experian', required — Credit bureau that issued the report. Possible values: `equifax`, `experian`, `transunion`.
    - `adverse_action_notice` AdverseActionNotice — Adverse action notice information
      - `delivered_at` string, date-time, required — ISO 8601 timestamp when the adverse action notice was sent to the applicant.
      - `reason` string, required — The reason stated in the adverse action notice.
      - `delivery_method` 'email' | 'text' | 'other', required — How the notice was delivered to the applicant. Possible values: `email`, `text`, `other`.
  - `decision` Decision — Decision-related information for the application
    - `decided_at` string, date-time, required — ISO 8601 timestamp when the underwriting decision was made.
    - `reason` string, required — The reason for the decision.
    - `exception_approval_reason` string — This should only be provided if the decision was made as an exception to underwriting criteria. Reason for exception approval, if this decision was made as an exception to the traditional underwriting process.
  - `documents` CreateComplianceDocument[] — Documents associated with the application
    - union — Document reference for creating applications and accounts. One of `displayed_at` or `consented_at` is required depending on document type: - `displayed_at`: Required for aan, loan_agreement, loc_agreement, truth_in_lending_document, ach_authorization, notice_of_incompleteness, credit_score_notice, offer_summary, personal_guarantee, consumer_credit_auth, partner_privacy_policy, lead_privacy_policy, terms_of_use, fcra_notice, tcpa_consent, patriot_act_notice, mla_notice, pre_approval_terms, eft_authorization, prohibited_industry_certification, decision_maker_document, bo_certification, missed_payments_policy, lead_funds_transfer_agreement - `consented_at`: Required for esign_agreement, credit_pull_consent, consent_to_link_account, consent_to_link_hsa, negative_option_consent
      - object — Disclosure document — `displayed_at` is required.
        - `document_id` string, required — Unique identifier for the document being referenced. Please use the file name of the file delivered to Lead's `/documents` SFTP directory.
        - `type` 'aan' | 'loan_agreement' | 'loc_agreement' | 'truth_in_lending_document' | 'ach_authorization' | 'notice_of_incompleteness' | 'credit_score_notice' | 'offer_summary' | 'personal_guarantee' | 'consumer_credit_auth' | 'partner_privacy_policy' | 'lead_privacy_policy' | 'terms_of_use' | 'fcra_notice' | 'tcpa_consent' | 'patriot_act_notice' | 'mla_notice' | 'pre_approval_terms' | 'eft_authorization' | 'prohibited_industry_certification' | 'decision_maker_document' | 'bo_certification' | 'missed_payments_policy' | 'lead_funds_transfer_agreement', required — Type of document associated with an application
        - `displayed_at` string, date-time, required — ISO 8601 timestamp when the document was displayed to the applicant. Present on disclosure documents.
        - `consented_at` string, date-time — ISO 8601 timestamp when the applicant consented to the document. Present on consent documents.
        - `version` string — It is recommended to use this for static documents uploaded once and uploaded for many users. Uploads with a new version should have a different document_id as well.
      - object — Consent document — `consented_at` is required.
        - `document_id` string, required — Unique identifier for the document being referenced. Please use the file name of the file delivered to Lead's `/documents` SFTP directory.
        - `type` 'esign_agreement' | 'credit_pull_consent' | 'consent_to_link_account' | 'consent_to_link_hsa' | 'negative_option_consent', required — Type of document associated with an application
        - `displayed_at` string, date-time — ISO 8601 timestamp when the document was displayed to the applicant. Present on disclosure documents.
        - `consented_at` string, date-time, required — ISO 8601 timestamp when the applicant consented to the document. Present on consent documents.
        - `version` string — It is recommended to use this for static documents uploaded once and uploaded for many users. Uploads with a new version should have a different document_id as well.
  - `metadata` object — Arbitrary metadata associated with the application

## Response `200`

Application updated successfully.

- Application — An application object representing a credit application
  - `id` string — Unique identifier for the application. Prefixed with `application_`.
  - `client_application_id` string — Client-provided identifier for the application. Optional: present only for applications created via file upload, and omitted for applications created through the API, which are identified solely by their server-generated ID.
  - `created_at` string, date-time — Lead server-generated ISO 8601 timestamp when the application was created.
  - `updated_at` string, date-time — Lead server-generated ISO 8601 timestamp when the application was last updated.
  - `status` 'approved' | 'declined' | 'canceled' — Terminal state of the application. Possible values: `approved`, `declined`, `canceled`.
  - `entities` ApplicationEntities — Entity relationships associated with the application (response only)
    - `account_holder_type` 'consumer' | 'commercial' — Denotes whether the application is for a consumer or commercial account. `consumer` if all account holders are individuals; `commercial` if all account holders are businesses or sole proprietors.
    - `account_holders` EntityID[] — List of entity IDs that are account holders
    - `authorized_signers` EntityID[] — List of entity IDs that are authorized signers
  - `details` ApplicationDetails — Application details (response, all properties optional)
    - `product_name` string — Your internal product name. This tells Lead's Due Diligence team which product this application, if approved, would open an account for.
    - `credit` ApplicationCredit — Credit details for an application (response, all properties optional)
      - `is_secured` boolean — Indicates if this is a secured credit/deposit product. `true` if the product is secured (collateral attached); `false` otherwise.
      - `is_mla` boolean — `true` if the applicant is subject to the Military Lending Act; `false` otherwise.
      - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XMW' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' — A three-letter currency code as defined in ISO 4217
      - `underwriting_grade` string — Your internal underwriting grade for the applicant. Accepts any string mapped to your specific scoring framework.
      - `limit` integer — The credit limit assigned to the applicant, in minor units (e.g., cents).
      - `max_limit` integer — The maximum credit limit the applicant was approved for based on original underwriting, in minor units (e.g., cents).
      - `report` ApplicationCreditReport — Credit report information (response, all properties optional)
        - `score` integer — Credit score returned by the bureau. Supported range is 300-850. Mutually exclusive with `non_score_value`.
        - `non_score_value` 'unestablished' | 'frozen' — Indicates the state of a credit file when a numeric score is not available. Mutually exclusive with `score`.
        - `pulled_at` string, date-time — ISO 8601 timestamp when the credit report was pulled.
        - `source` 'equifax' | 'transunion' | 'experian' — Credit bureau that issued the report. Possible values: `equifax`, `experian`, `transunion`.
    - `adverse_action_notice` ApplicationAdverseActionNotice — Adverse action notice information (response, all properties optional)
      - `delivered_at` string, date-time — ISO 8601 timestamp when the adverse action notice was sent to the applicant.
      - `reason` string — The reason stated in the adverse action notice.
      - `delivery_method` 'email' | 'text' | 'other' — How the notice was delivered to the applicant. Possible values: `email`, `text`, `other`.
  - `decision` ApplicationDecision — Decision-related information (response, all properties optional)
    - `decided_at` string, date-time — ISO 8601 timestamp when the underwriting decision was made.
    - `reason` string — The reason for the decision.
    - `exception_approval_reason` string — This should only be provided if the decision was made as an exception to underwriting criteria. Reason for exception approval, if this decision was made as an exception to the traditional underwriting process.
  - `documents` ApplicationComplianceDocument[] — Documents associated with the application
    - `document_id` string — Unique identifier for the document being referenced. Please use the file name of the file delivered to Lead's `/documents` SFTP directory.
    - `type` 'aan' | 'loan_agreement' | 'loc_agreement' | 'truth_in_lending_document' | 'ach_authorization' | 'notice_of_incompleteness' | 'credit_score_notice' | 'offer_summary' | 'personal_guarantee' | 'consumer_credit_auth' | 'partner_privacy_policy' | 'lead_privacy_policy' | 'terms_of_use' | 'esign_agreement' | 'credit_pull_consent' | 'fcra_notice' | 'tcpa_consent' | 'patriot_act_notice' | 'mla_notice' | 'pre_approval_terms' | 'eft_authorization' | 'prohibited_industry_certification' | 'decision_maker_document' | 'bo_certification' | 'missed_payments_policy' | 'consent_to_link_account' | 'consent_to_link_hsa' | 'negative_option_consent' | 'lead_funds_transfer_agreement' — Type of document associated with an application
    - `displayed_at` string, date-time — ISO 8601 timestamp when the document was displayed to the applicant. Present on disclosure documents.
    - `consented_at` string, date-time — ISO 8601 timestamp when the applicant consented to the document. Present on consent documents.
    - `version` string — It is recommended to use this for static documents uploaded once and uploaded for many users. Uploads with a new version should have a different document_id as well.
  - `metadata` object — Arbitrary metadata associated with the application

## Other responses

- `400` — Malformed request or missing required header.
- `401` — Valid access token was not used to call the API.
- `403` — Valid access token lacks the proper scopes.
- `404` — Application ID passed in is not found.
- `409` — Conflict - idempotency key reuse with different payload.
- `422` — Request validation failed.
- `429` — Rate limit exceeded.
- `500` — Server error. Please try your request again.

---

[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/versions/25c2a92d55e2/schema)
