This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
A site owner renames a landing page and the redirect that used to point at it now sends visitors to the wrong place. There's no method to update a redirect, so the change is a retrieve, a delete, and a create.
To change where a redirect points:
redirect object from the response.to value applied. Keep options and language as they were: an omitted options turns a group redirect into an exact one, and an omitted language turns a language-scoped redirect into one that applies to every language. Keep id to preserve the redirect's identity.A site owner reorganizes a forum and every URL under one category moves to another. A group redirect covers the whole branch in a single redirect, carrying the rest of each URL over to the new path.
To redirect a whole section:
Call Create Redirect with the shared path as from, the new shared path as to, and options.groupRedirect set to true. For example:
Call List Redirects and confirm the new redirect is on the site. A request for /forum/questions/my-post now resolves to /forum/faqs/my-post.
A site owner moves a site to Wix and needs every old URL to keep working. Bulk Create Redirects handles up to 500 redirects per request and reports each one separately, so a single bad entry doesn't cost you the rest of the batch.
To migrate a batch of URLs:
options.forceReplace unset so an existing redirect on the site is never replaced silently.results[].itemMetadata from the response. An entry with success set to false carries an error.code, such as FROM_URL_EXISTS when another redirect already starts from that path, and originalIndex tells you which redirect in your request it was.bulkActionMetadata.undetailedFailures. If it isn't 0, some redirects have an unknown outcome, so call List Redirects to see which of them exist.A site owner retires a section of the site, and the redirects that pointed into it are no longer wanted. List Redirects takes no filter, so select the redirects on your side and delete them by ID.
To clean up the redirects for a retired section:
results[].itemMetadata from the response. An ID that matches no redirect fails with REDIRECT_NOT_FOUND, and the rest are still deleted.Last updated: 20 August 2026