Redirects
Server-side HTTP redirects (301, 302, 307, 308) on the domains linked to this project: send old paths, old query-string routes and old file links to their new pages with a real redirect instead of a meta refresh or JavaScript, so search engines and visitors land on the right page after a migration. A rule matches a path with any query string, or an exact path and query string (parameters in any order). Loops and chains are refused. Only domains that point to this project can be redirected here. Paid plans.
Endpoints (8)
Redirect rules of this project, oldest first, with the plan limit, how many are in use, whether rules are applied on the current plan, and the linked domains a rule can be scoped to. Filters: host, enabled.
| Field | Type | Required | Description |
|---|---|---|---|
host |
string | No | Only rules scoped to this linked domain. |
enabled |
boolean | No | Only enabled (true) or disabled (false) rules. |
limit |
integer | No | Max rules returned (default 100, max 500). |
offset |
integer | No | Skip this many rules (paging). |
One redirect rule by id.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | ✓ Yes | Rule id (see list-rules). |
Add a redirect rule; project owner only, paid plans. source: the old URL as visitors request it, as a path ("/old-page", "/index.php?route=product/product&product_id=42") or as a full URL on one of this project's linked domains (that domain then scopes the rule). destination: a path on this site ("/new-page") or a full https URL. match: "path" (the default when source has no query string) matches that path with any query string; "exact" (the default when it has one) needs the same query parameters, in any order. status_code: 301 permanent (default), 302 temporary, 307 or 308. forward_query: append the visitor's query string to destination. A rule whose destination is redirected again (chain) or leads back to source (loop) is refused. Active right away; check it with resolve-url.
| Field | Type | Required | Description |
|---|---|---|---|
source |
string | ✓ Yes | Old path or full old URL on a linked domain, including the query string when it matters. |
destination |
string | ✓ Yes | New path on this site or full https URL. |
status_code |
integer | No | 301 (default), 302, 307 or 308. |
match |
string | No | "path" or "exact"; default from source (see above). |
host |
string | No | Apply the rule on this linked domain only. Default: every linked domain. |
forward_query |
boolean | No | Append the visitor's query string to destination (default false). |
enabled |
boolean | No | Default true. |
note |
string | No | Free text, e.g. why the rule exists. |
Add up to 500 redirect rules in one call, for a migration list; project owner only, paid plans. Each item takes the fields of create-rule. All or nothing: when one rule is invalid nothing is saved and every error is listed by index. dry_run: true only checks the list and reports.
| Field | Type | Required | Description |
|---|---|---|---|
rules |
array | ✓ Yes | List of rule objects: source, destination, and optionally status_code, match, host, forward_query, enabled, note. |
dry_run |
boolean | No | Only validate and report; nothing is saved. |
Change a redirect rule by id; send only the fields that change. Project owner only, paid plans. enabled: false switches a rule off without deleting it. host: "" removes the domain scope.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | ✓ Yes | Rule id (see list-rules). |
source |
string | No | New source. |
destination |
string | No | New destination. |
status_code |
integer | No | 301, 302, 307 or 308. |
match |
string | No | "path" or "exact". |
host |
string | No | Linked domain to scope to; "" for every linked domain. |
forward_query |
boolean | No | Append the visitor's query string to destination. |
enabled |
boolean | No | Switch the rule on or off. |
note |
string | No | Free text; "" removes it. |
Remove a redirect rule by id; project owner only, every plan.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer | ✓ Yes | Rule id (see list-rules). |
Remove up to 500 redirect rules by id; project owner only, every plan. Returns the deleted ids and the ids that were not found.
| Field | Type | Required | Description |
|---|---|---|---|
ids |
array | ✓ Yes | Rule ids. |
Check what a visitor gets for a URL: the matching rule, the final Location and the status code, exactly as the site answers it, plus whether rules are applied on the current plan. url: a path ("/old-page?x=1") or a full URL on a linked domain. Use it to verify rules without a browser.
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | ✓ Yes | Path or full URL to check. |
host |
string | No | Linked domain to check a path on. Default: the domain in url, else the first linked domain. |
MCP Tool Names
When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:
| Endpoint | MCP Tool Name |
|---|---|
| list-rules | redirects_list_rules |
| get-rule | redirects_get_rule |
| create-rule | redirects_create_rule |
| bulk-create-rules | redirects_bulk_create_rules |
| update-rule | redirects_update_rule |
| delete-rule | redirects_delete_rule |
| bulk-delete-rules | redirects_bulk_delete_rules |
| resolve-url | redirects_resolve_url |
Website