Skip to content

feat: delete Hide My Email addresses (POST /v1/hme/delete) #74

Description

@rtunazzz

No way to permanently remove a Hide My Email address. Apple caps the account, and deactivating doesn't reclaim quota — deletion is the only way to free a slot. Add hidemyemail delete EMAIL, bridged into the macOS app the same way deactivate is.

Endpoint

POST {base_url_v1}/delete     {"anonymousId": "<anonymous-id>"}
-> {"success": true, "timestamp": …, "result": {"message": "success"}}

Same query params, body shape and envelope as deactivate/reactivate. The captured clientBuildNumber matches hidemyemail.py:27, so our client params are current.

Verified on a live account (2026-08-04)

  • Deactivation is required first. Delete on an active address fails -41000 Invalid request for private email and changes nothing. After deactivate, the identical call succeeds.
  • It does free quota. At the cap, generate fails -41012 "You have the maximum number of email addresses"; after one delete it succeeds. Deactivating does nothing for -41012.
  • Reissue isn't observable. generate returns a server-chosen local part with no way to request one, so treat deletion as permanently burning the address.

Notes

  • delete deactivates then deletes as one step, and reports which half succeeded if it fails partway.
  • Local state='trash' is the user's own filing — local and reversible. Keep it distinct from remote deletion; the redesign's bulk "Move to Trash" must not call this endpoint.
  • Confirm before deleting, --yes to skip for scripting.
  • Keep deleted rows as tombstones — the inbox may still hold mail delivered to the address. Exclude them from address listings and counts, but keep them counting toward their batch's total so finished batches don't change retroactively.
  • Hitting -41012 should point the user at deletion, not deactivation.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions