This is the API expected behavior per the maintainer: archived contacts are not returned by find, so you cannot unarchive through the normal lookup path. Keep the contact id stored in your own database before archiving if you plan to unarchive later.

Context: GitHub issue on intercom/intercom-ruby: after archiving a contact, contacts.find by id returns nothing, so there is no way to fetch the archived contact to unarchive it via the API.