Skip to main content
DELETE
/
v1
/
user
/
me
curl --request DELETE \
  --url https://api.paypulse.io/v1/user/me \
  --header 'Authorization: Bearer <token>'
{
  "message": "All data for user user_abc123 deleted successfully!",
  "code": 200,
  "data": null
}
This action is irreversible. All data associated with the account is permanently deleted and cannot be recovered.

Authentication

All requests to this endpoint must include a valid JWT in the Authorization header.
Authorization: Bearer <token>

What gets deleted

Deleting an account removes the following data for the authenticated user:
  • All rental invoices from the RentalInvoices DynamoDB table.
  • All retail invoices from the RetailInvoices DynamoDB table, including records in all category detail tables (FoodDeliveryInvoices, ClothingInvoices, TechnologyInvoices, SubscriptionInvoices, GroceryInvoices, MiscUtilityInvoices, MiscInvoices).
  • Gmail OAuth credentials stored in Secrets Manager.
  • The user’s folder in S3 (including all uploaded invoice files).
  • The user record itself from the Users DynamoDB table.

Response

message
string
A human-readable confirmation message. Example: "All data for user <user_id> deleted successfully!"
code
number
HTTP status code. 200 on success.
data
null
Always null for this endpoint.

Error responses

StatusError codeDescription
401INVALID_CREDENTIALSThe Authorization header is missing or the token is invalid.
401TOKEN_EXPIREDThe JWT has expired.
502DEPENDENCY_FAILUREA downstream dependency (DynamoDB, Secrets Manager, or S3) returned an error during deletion.
500INTERNAL_SERVER_ERRORAn unexpected server-side error occurred.
Error responses follow this structure:
{
  "error": {
    "code": "DEPENDENCY_FAILURE",
    "message": "Database error during user deletion"
  }
}
curl --request DELETE \
  --url https://api.paypulse.io/v1/user/me \
  --header 'Authorization: Bearer <token>'
{
  "message": "All data for user user_abc123 deleted successfully!",
  "code": 200,
  "data": null
}