---
title: "Reindex wallet automations for a wallet"
method: POST
path: "/v1/wallet_automations/reindex"
tags: ["Wallet Automations"]
---

# Reindex wallet automations for a wallet

`POST /v1/wallet_automations/reindex`

## Request

- Base URL: `https://api.privy.io`
- URL: `https://api.privy.io/v1/wallet_automations/reindex`
- Auth: HTTP basic

Re-checks a wallet (identified by wallet_id or deposit_address) for funds matching its wallet automation configs and triggers an automation run if a match is found. Use this to recover a deposit whose automation trigger was missed or failed.

## Headers

- `privy-app-id` string, required: ID of your Privy app.

## Request body

- WalletAutomationReindexRequestBody: Request body for re-checking a wallet against its wallet automations. Identify the wallet by wallet_id or deposit_address (at least one is required). If both are provided, wallet_id takes precedence and deposit_address must match that wallet's address. Specify exactly one of caip2 or chain, and the asset_address to check. Useful for recovering a deposit that was missed or failed to trigger its automation.
  - `wallet_id` string: Privy wallet ID to reindex. Takes precedence over `deposit_address` when both are supplied.
  - `deposit_address` string: On-chain deposit address of the wallet to reindex. Must match the resolved wallet's address if `wallet_id` is also provided.
  - `caip2` union
    - string: The EVM, Solana, or Tron CAIP-2 chain identifier to check.
    - string: The EVM, Solana, or Tron CAIP-2 chain identifier to check.
    - 'tron:mainnet' | 'tron:nile': The EVM, Solana, or Tron CAIP-2 chain identifier to check.
  - `chain` string: Human-readable chain name to check. Specify exactly one of `caip2` or `chain`.
  - `asset_address` string, required: Asset contract address to check; the native asset uses `native`.
  - `automation_id` string: Automation to target when more than one active automation matches the asset.

## Response `200`

The outcome of the reindex for the checked asset.

- WalletAutomationReindexResponse: Result of re-checking a wallet against its wallet automations.
  - `wallet_id` string, required
  - `results` WalletAutomationReindexAssetResult[], required
    - `caip2` union, required
      - string: CAIP-2 chain ID the asset lives on.
      - string: CAIP-2 chain ID the asset lives on.
      - 'tron:mainnet' | 'tron:nile': CAIP-2 chain ID the asset lives on.
    - `asset_address` string, required: Asset contract address; the native asset uses `native`.
    - `status` string, required: Outcome of checking a single asset during a wallet automation reindex. One of `submitted`, `skipped_zero_balance`, `skipped_no_match`, `skipped_existing_execution`, or `failed`. `submitted` confirms that an execution was enqueued.
    - `raw_balance` string, nullable, required: On-chain balance in base units. Populated when `status` is `submitted` or `skipped_zero_balance`; `null` otherwise. For example, 1 OUSD is `1000000`.
    - `existing_execution_id` string, nullable, required: ID of the in-flight execution blocking a re-trigger. Populated only when `status` is `skipped_existing_execution`; `null` otherwise.

## Other responses

- `400`: Invalid wallet identifiers, chain, asset address, or a deposit address that does not match the wallet ID.
- `401`: Missing or invalid app credentials.
- `403`: The app is not authorized to perform this request.
- `404`: The wallet was not found for the authenticated app.
- `500`: An unexpected server error occurred before the asset could be checked (e.g. during wallet resolution). Balance, block/slot, or enqueue failures never produce a 500 — they appear as a `failed` result in the 200 response.

## Changes

- **2026-10-16** `4facbfa7f9d4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/privy-io/apis/privy-api/changes/v1/wallet_automations/reindex/post.md)

---

[API](https://skmtc.dev/privy-io/apis/privy-api.md) - [All operations](https://skmtc.dev/privy-io/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy-io/apis/privy-api/revisions/3a2288470053?raw)
