Update Sequence Variant
Change an A/B variant. The campaign must not be active.
PATCH
https://api.foxreach.io/ api/ v1/ campaigns/{campaign_id}/ sequences/{sequence_id}/ variants/{variant_id}Requires an API key with the write scope.
Only the fields you send change.
Path Parameters#
campaign_idstringpathrequiredThe campaign.
sequence_idstringpathrequiredThe sequence step.
variant_idstringpathrequiredThe variant.
Body Parameters#
subjectstringbodySubject line, up to 500 characters.
bodystringbodyBody, up to 200,000 characters.
labelstringbodyUnique within the step, up to 10 characters.
weightintegerbody1 to 1000.
sendAsHtmlbooleanbodySend as HTML.
Response#
dataobjectShow Variant object
idstringVariant identifier.
sequenceIdstringThe step it belongs to.
labelstringUnique within the step, for example
A.subjectstringSubject line. Supports variables and spin syntax.
bodystringBody. Supports variables and spin syntax.
weightintegerShare of sends relative to the other variants.
sendAsHtmlbooleanSent as HTML.
createdAtstringISO 8601 timestamp.
updatedAtstringISO 8601 timestamp.
Errors#
| Status | Description |
|---|---|
401 | Missing, invalid, revoked or expired API key |
403 | API key does not have the required scope: write |
400 | The campaign is active (pause it first), the spin syntax is invalid, or the label is already used on this step |
404 | Campaign, sequence step or variant not found in this workspace |
Rate Limit#
- 120 requests per minute, shared by every
writecall in your workspace. Fixed 60-second window. - Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset(unix epoch seconds) andX-RateLimit-Bucket(write). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.
Was this page helpful?
View as MarkdownLast updated November 4, 2026