The question is simple:

I have created a profile, but I would like to share a URL to the anonymous user so they can fill out the profile WITHOUT LOGGING IN and these responses will go to their contact.

Do you know if there is a way to do it by sharing the ID by URL, as if it were a GET method?

The url to the profile could be something like this:


1 Answer 1


Take a look at the docs for checksums: https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#checksum

  • I understand that this solves the main point of my problem, but these links can only be sent by email and they also expire. That could make things difficult because some contacts were registered with wrong emails. Commented Feb 2, 2023 at 0:41
  • You can also manually generate a checksum for a contact using Support - Api4 explorer with entity Contact and action getChecksum. Then put that in the url in place of the token from the docs.
    – Demerit
    Commented Feb 2, 2023 at 1:33
  • I don't really understand the email comment though - how would you be sending these links to them?
    – Demerit
    Commented Feb 2, 2023 at 1:35
  • The URL I need is the following: example.org/civicrm/profile/edit?reset=1&gid=IDNUMBER&{contact.checksum}&id={contact.contact_id}, however I understand that the { } are tokens for the CiviMail component. I don't understand when the previous URL works so that an anonymous user can edit the profile information with the corresponding ID in the URL Commented Feb 2, 2023 at 1:43
  • At api4 explorer, run the contact.getchecksum api call putting in the desired contact id. That will give you a checksum. Put that and the contact id into your url in place of the {} tokens.
    – Demerit
    Commented Feb 2, 2023 at 2:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.