How to update a participant's External ID

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 id or email to identify the account (since you may not yet have an External ID for them)


Request — set External ID using internal ID

Bash
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

Bash
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

JSON
{
  "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_id as 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