How to update a participant's External ID
Use this guide when you need to set or change the External ID stored against a participant — for example, when migrating from one external system to another, or when assigning a system identifier after the account was initially created without one.
Prerequisites
-
Your API key
-
The participant's internal
idoremailto identify the account (since you may not yet have an External ID for them)
Request — set External ID using internal ID
curl -X POST "https://your-event-domain.com/api/v2/account/set" \
-H "Authorization: Bearer your_api_key_here" \
-F "event_id=7" \
-F "id=12345" \
-F "external_id=EXT-00123"
Request — set External ID using email
curl -X POST "https://your-event-domain.com/api/v2/account/set" \
-H "Authorization: Bearer your_api_key_here" \
-F "event_id=7" \
-F "email=john.doe@example.com" \
-F "external_id=EXT-00123"
Response
{
"code": 200,
"errors": null,
"data": {
"id": 12345,
"email": "john.doe@example.com",
"status": "updated",
"external_id": "EXT-00123",
"info": ["Account match: id"],
"errors": []
},
"response_id": "1700000000.12345"
}
The external_id field in the response confirms the new value was stored.
Notes
-
Once set, the External ID can be used as the lookup key in all future requests
-
External IDs are stored as strings — maintain consistent formatting in your system
-
If you pass
external_idas a lookup key in the same request where you're trying to change it, the endpoint will attempt to find a match on the current (old) value first