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

# Deprecations

> Endpoints and flows that are deprecated, their replacements, and sunset dates.

These endpoints and flows are **deprecated**. They keep working until their **sunset date**, after which they're removed; migrate off them before then (see each entry's replacement). An entry with no sunset date keeps working until one is announced. How deprecations are announced and retired is described in the [deprecation policy](https://docs.etherfuse.com/changelog/deprecation-policy.md).

Customer onboarding's default is a **single hosted flow**: create the customer's `personal` organization, then launch them into `/idv`, which runs identity verification **and** agreement signing in one step. See [KYC WebSDK](https://docs.etherfuse.com/guides/kyc-websdk.md). The onboarding entries below were deprecated as a result.

> [!NOTE]
>
> **A programmatic path exists again**, on new endpoints under `/ramp/customer/{customer_id}/verification`. It is not a revival of the endpoints below: the shapes and semantics differ: real multipart uploads, an explicit submission order, `202` responses. See [KYC API](https://docs.etherfuse.com/guides/kyc-api.md), or [KYC Sumsub Shared Token](https://docs.etherfuse.com/guides/kyc-sumsub-shared-token.md) if your customers are already verified with you. The endpoints below remain deprecated on their stated dates.

## Presigned onboarding URL

`POST /ramp/onboarding-url`

The presigned "hosted UI" onboarding link is replaced by the `/idv` launch. Create the customer's org, then launch them into `/idv`.

* **Status:** Deprecated. **Sunset: August 16, 2026.**
* **Replacement:** [KYC WebSDK](https://docs.etherfuse.com/guides/kyc-websdk.md): create org, then launch `/idv`.
* **Reference:** [POST /ramp/onboarding-url](https://docs.etherfuse.com/api-reference/deprecated/generate-onboarding-url.md)
* **Change (Week of August 7, 2026):** `userInfo` is now required. Requests without a non-empty `email` and `displayName` are rejected.

## Presigned bank-account registration

`POST /ramp/onboarding/bank-accounts`

Registering a bank account using the presigned URL for auth is replaced by registering it with your API key.

* **Status:** Deprecated. **Sunset: August 16, 2026.**
* **Replacement:** [POST /ramp/customer/\{customer\_id}/bank-account](https://docs.etherfuse.com/api-reference/bank-accounts/create-bank-account-api.md) with your API key.

## Programmatic KYC submission

`POST /ramp/customer/{customer_id}/kyc`

Submitting a customer's identity fields over the API is replaced by the customer entering them inside the `/idv` launch.

* **Status:** Deprecated. **Sunset: August 16, 2026.**
* **Replacement:** [`POST /ramp/customer/{customer_id}/verification`](https://docs.etherfuse.com/guides/kyc-api#1-submit-personal-data) to submit identity data over the API, or the [`/idv` launch](https://docs.etherfuse.com/guides/kyc-websdk) to have the customer enter it.
* **Reference:** [POST /ramp/customer/\{customer\_id}/kyc](https://docs.etherfuse.com/api-reference/deprecated/submit-kyc.md)

## KYC document upload

`POST /ramp/customer/{customer_id}/kyc/documents`

Uploading ID and selfie images over the API is replaced by document capture inside the `/idv` launch.

* **Status:** Deprecated. **No sunset date set yet.**
* **Replacement:** [`POST /ramp/customer/{customer_id}/verification/documents`](https://docs.etherfuse.com/guides/kyc-api#3-upload-documents) to upload documents over the API, or the [`/idv` launch](https://docs.etherfuse.com/guides/kyc-websdk) to have the customer capture them.
* **Reference:** [POST /ramp/customer/\{customer\_id}/kyc/documents](https://docs.etherfuse.com/api-reference/deprecated/upload-kyc-docs.md)

## Tax document in verification uploads

The `tax_document` part is no longer accepted in the [v1 upload endpoint](https://docs.etherfuse.com/api-reference/kyc/upload-verification-documents.md) and the [v2 upload endpoint](https://docs.etherfuse.com/v2/api-reference/kyc/upload-verification-documents.md).

1. **Status:** Removed.
2. **Replacement:** For Mexico, provide CURP as `additionalInfo.curp` and RFC as `taxId` in the personal data submission. Both are required.

## `/agreements` launch

`scope: agreements` · `target: /agreements`

Launching the customer into a separate agreements-signing step is replaced by signing inside `/idv`.

* **Status:** Deprecated. **Sunset: August 16, 2026.**
* **Replacement:** agreement signing happens automatically inside the [`/idv` launch](https://docs.etherfuse.com/guides/user-launch-flows#identity-verification).

## Direct agreement-signing endpoints

`POST /ramp/agreements/electronic-signature` · `POST /ramp/agreements/terms-and-conditions` · `POST /ramp/agreements/customer-agreement`

* **Status:** Removed.
* **Replacement:** agreements are signed inside the [`/idv` launch](https://docs.etherfuse.com/guides/kyc-websdk).

## Inline `bankAccount` on `POST /ramp/organization`

`POST /ramp/organization` no longer creates a bank account inline, and the response no
longer includes `bankAccount`. Bank accounts can only be registered once the owning
organization is approved.

* **Status:** Removed.
* **Replacement:** create the organization with [`POST /ramp/organization`](https://docs.etherfuse.com/api-reference/organizations/create-child-org), then register the bank account separately with [`POST /ramp/customer/{customer_id}/bank-account`](https://docs.etherfuse.com/api-reference/bank-accounts/create-bank-account-api) after the organization is approved.
* **Reference:** [Bank account creation](https://docs.etherfuse.com/api-reference/bank-accounts/create-bank-account-api.md)

## Per-wallet KYC status fields

`Wallet.kycStatus` and `Wallet.kycOnChain` have been removed from wallet list, search, get, and register responses. KYC state is organization-level.

* **Status:** Removed.
* **Replacement:** query [`GET /ramp/customer/{customer_id}/kyc`](https://docs.etherfuse.com/api-reference/kyc/get-kyc-status) or consume the [`kyc_updated`](https://docs.etherfuse.com/guides/verifying-webhooks) webhook.
* **Reference:** [Get KYC status](https://docs.etherfuse.com/api-reference/kyc/get-kyc-status.md)
* **Change (Week of August 14, 2026):** removed from the `Wallet` object.

## KYB progress endpoint

`GET /ramp/organization/{id}/kyb/progress`

Per-requirement KYB counts are replaced by a single status. The requirement breakdown they
counted belongs to the in-house KYB flow, which business verification no longer uses.

* **Status:** Deprecated. **Sunset: August 16, 2026.**
* **Replacement:** [`GET /ramp/organization/{id}/kyb/status`](https://docs.etherfuse.com/api-reference/organizations/get-kyb-status), which returns the same shape the [`kyb_updated`](https://docs.etherfuse.com/guides/verifying-webhooks) webhook delivers.
* **Reference:** [Get KYB progress](https://docs.etherfuse.com/api-reference/deprecated/get-kyb-progress.md)

## Requirement counts on `kyb_updated`

The `approved`, `submitted`, `notStarted` and `total` counts have been removed from the
[`kyb_updated`](https://docs.etherfuse.com/guides/verifying-webhooks) webhook payload. It now carries `organizationId`,
`status` and `approvedAt`.

* **Status:** Removed.
* **Replacement:** `status` alone. `submitted` means everything the business can do is done and it is Etherfuse's turn, which is what the counts were read for.
* **Reference:** [kyb\_updated payload](https://docs.etherfuse.com/api-reference/webhooks/kyb_updated.md)

> [!NOTE]
>
> **Not deprecated:** `GET /ramp/customer/{customer_id}/kyc` (KYC status) and the
> [`kyc_updated`](https://docs.etherfuse.com/guides/verifying-webhooks) webhook are unchanged; keep using them to track KYC
> state.

## Stablebond cost lookup

`GET /lookup/bonds/cost` · `GET /lookup/bonds/cost/{identifier}`

These price stablebonds only, so they cannot answer for a principal token such as MEXe.
`/lookup/tokens/cost` prices every Etherfuse token, bonds and principal tokens alike, and
renames the `bond_*` fields to `token_*` accordingly.

* **Status:** Deprecated. **No sunset date.** They keep working with their existing fields.
* **Replacement:** [`GET /lookup/tokens/cost`](https://docs.etherfuse.com/api-reference/lookup/list-token-costs) and [`GET /lookup/tokens/cost/{identifier}`](https://docs.etherfuse.com/api-reference/lookup/get-token-cost).
* **Reference:** [List stablebond costs](https://docs.etherfuse.com/api-reference/lookup/list-stablebond-costs.md) · [Get stablebond cost](https://docs.etherfuse.com/api-reference/lookup/get-stablebond-cost.md)

Field mapping:

| `/lookup/bonds/cost` | `/lookup/tokens/cost` |
| - | - |
| `bond_symbol` | `token_symbol` |
| `bond_cost_in_fiat` | `token_cost_in_fiat` |
| `bond_cost_in_usd` | `token_cost_in_usd` |
| `sources[].bond_cost_in_usd` | `sources[].token_cost_in_usd` |
| `mint` (the payment token, not the bond) | `payment_mint`, and `token_mint` for the token itself |
| `symbol` (always `"USDC"`) | dropped; use `payment_mint` |
| `bond_cost_in_payment_token` | dropped; it duplicated `bond_cost_in_fiat` |
| n/a | `token_kind`, `underlying_bond_symbol` |

The list endpoint is also keyed differently: `/lookup/bonds/cost` keys by Solana mint address,
`/lookup/tokens/cost` keys by uppercased token symbol.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.