---
title: "Complete app uninstall"
method: POST
path: "/user/{appId}/complete-uninstall"
tags: ["User"]
---

# Complete app uninstall

`POST /user/{appId}/complete-uninstall`

Submits the signed EIP2771 data to Gelato relay to complete the uninstall

## Path parameters

- `appId` number, required

## Request body

- CompleteUninstallRequest
  - `typedDataSignature` string, required — The signature of the typed data from the user wallet
  - `uninstallDataToSign` object, required — The uninstallDataToSign object returned from uninstall-app. Generated by the Gelato SDK.

## Response `200`

Uninstall completed successfully

- CompleteUninstallResponse
  - `transactionHash` string, required — The transaction hash of the completed uninstall transaction

## Other responses

- `400` — Bad request
- `404` — App not found
- `default` — Error

## Changes

- **2026-01-14** `0f172b1e9e3c` — 1 info
  - endpoint added
- **2025-06-19** `e514cea423bb` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/lit-protocol/apis/vincent-registry-api/changes/user/:appId/complete-uninstall/post.md)

---

[API](https://skmtc.dev/lit-protocol/apis/vincent-registry-api.md) · [All operations](https://skmtc.dev/lit-protocol/apis/vincent-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lit-protocol/vincent-registry-api/revisions/825608de85fb/schema)
