Use this endpoint to issue a new magic link when the original link has expired and the data principal has not yet completed consent. Regenerating a link preserves the original request_id, so any downstream tracking or status checks continue to work without changes. The expired link is marked as regenerated and is no longer accessible to the data principal.
Authentication
Path parameters
Parameter
Type
Required
Description
request_id
string
Yes
The request_id returned when the original link was created
Body
Field
Type
Default
Description
expiry_hours
integer
24
How many hours the new link remains valid. Between 1 and 24.
send_sms
boolean
true
Whether to send the new link via SMS to the original phone number.
Response
201 Created
Field
Type
Description
request_id
string
The same request_id from the original create request — unchanged across all regenerations
event_id
string
A new unique identifier for this link instance
consent_link
string
The new magic link URL to share with the data principal
expires_at
string
ISO 8601 timestamp of when the new link expires
delivery_status
object
Delivery outcome for this regeneration attempt
regeneration_count
integer
Total number of times this request has been regenerated, including this one
previous_event_id
string
The event_id of the link that was just superseded
Errors
Status
Description
404
No consent request found for the given request_id
409
The current link is still active and has not expired. Regeneration is only allowed after the link expires.
410
The data principal has already completed consent for this request
422
Request body failed validation
429
The maximum regeneration limit of 5 has been reached