Update URL redirect
Replaces a redirect’s source, target and match type.
Send the whole rule: every field is applied, not merged, and the same rules as Create URL redirect apply. If the new rule conflicts with another one the redirect is left exactly as it was.
Changing source_path tries to drop the cached copy of both the old and the new path. As on Create URL redirect that is best effort and unreported: an old source whose cache survives can keep serving the previous target’s page, with a 200, until the cache revalidates or expires.
Both paths start with /, are at most 512 characters, and carry no query string or fragment; Base44 strips a trailing slash and decodes percent-escapes before storing them, so /old/ and /%6Fld are the same rule. target_path may instead be an absolute https:// URL to send visitors to another site.
A rule is rejected when its source is a reserved path the redirect layer never sees (/sitemap.xml, /robots.txt, /favicon.ico, /manifest.json, /link_preview.png, /llms.txt, /.well-known/*, and the app’s auth paths), when source and target are equal, when a prefix rule starts at /, and when it overlaps another rule or would make a visitor follow two redirects in a row. Overlap is resolved against the whole rule set, so a prefix rule at /docs blocks a single rule at /docs/intro, and an internal target that matches any other rule’s source is a chain.
Authorizations
Personal API key.
Path Parameters
ID of the app whose URL redirects to manage.
ID of the redirect, as returned in id by List URL redirects.
Body
Path visitors request, starting with /. Base44 strips a trailing slash and decodes percent-escapes before storing it, so /old/ and /%6Fld are the same rule.
1 - 512"/old-pricing"
Where to send them: an internal path starting with /, or an absolute https:// URL on another site. Store it without a query string or fragment; the visitor's own query string is carried over to the destination, so /old?utm=x lands on /new?utm=x.
1 - 512"/pricing"
single redirects that exact path. prefix redirects it and everything under it, keeping the remainder of the path. Defaults to single, so omitting it on an update turns an existing prefix rule into a single one and its child paths stop redirecting.
single, prefix "single"
Response
The updated redirect.
One 301 redirect rule on the app's published site.
ID of the redirect. Pass it as redirect_id to Update URL redirect and Delete URL redirect.
"68c2d1e5f3b8a4216e9b5583"
The path visitors request, normalized: no trailing slash, percent-escapes decoded.
"/old-pricing"
Where the visitor is sent. Either an internal path or an absolute https:// URL on another site.
"/pricing"
single redirects that exact path. prefix redirects the path and everything under it, keeping the remainder of the path.
single, prefix "single"