> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# GetRedirect

# Package: redirects

# Namespace: RedirectsService

# Method link: https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/get-redirect.md

## Permission Scopes:
View SEO Settings: SCOPE.PROMOTE.VIEW-SEO

## Introduction

Retrieves a redirect by ID.

Call this method before [Delete Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/delete-redirect.md) and [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md) when changing an existing redirect,
and keep the response: the create fills any field you omit with its default rather than with the
redirect's previous value.

---

## REST API

### Schema

```
 Method: getRedirect
 Description: Retrieves a redirect by GUID.  Call this method before [Delete Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/delete-redirect.md) and [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md) when changing an existing redirect, and keep the response: the create fills any field you omit with its default rather than with the redirect's previous value.
 URL: https://www.wixapis.com/seo-redirects-service/v1/redirects/{redirectId}
 Method: GET
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  redirectId
 Method parameters: 
   param name: redirectId | type:   none | required: true 
 Return type: GetRedirectResponse
  - name: redirect | type: Redirect | description: Retrieved redirect.  
     - name: from | type: string | description: Path on the site that the redirect starts from, URL-encoded. For example, `/old-page`.  Can't be the site root. A path that differs from another redirect's `from` path only by a trailing slash counts as the same path.  For a redirect scoped to a `language`, specify the path with or without the language prefix: the prefix is stripped, so a `fr` redirect from `/fr/about` is stored and returned as `/about`.  | validation: maxLength 950
     - name: to | type: string | description: Where the redirect sends the visitor, URL-encoded. Either a path on the site, such as `/new-page`, or a full URL, such as `https://example.com/page`.  | validation: maxLength 4096
     - name: options | type: RedirectOptions | description: How the redirect matches the paths a visitor requests.  
        - name: groupRedirect | type: boolean | description: Whether the redirect matches every path under its `from` path, carrying the rest of the URL over to the target. For example, a group redirect from `/forum/questions/` to `/forum/faqs/` sends `/forum/questions/my-post` to `/forum/faqs/my-post`. When `false`, only the exact `from` path matches.  A group redirect and an exact redirect that share a `from` path are two different redirects.  Default: `false`  
     - name: language | type: string | description: Language version of a multilingual site that the redirect applies to, as a 2-letter language code or a language tag. For example, `fr` or `en-US`.  When omitted, the redirect applies to every language on the site. A redirect scoped to a language conflicts only with redirects in the same language and with redirects that apply to every language.  Deleting a redirect scoped to a language stops it taking effect, but it can still appear in [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md).  | validation: minLength 2, maxLength 5
     - name: id | type: string | description: Redirect GUID.  You can specify your own GUID when creating a redirect. When omitted, an GUID is generated.  | validation: format GUID
     - name: createdDate | type: string | description: Date and time the redirect was created.  Not returned by [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md). Call [Get Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/get-redirect.md) or [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md) to retrieve it.  | read-only: true | validation: format date-time

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code:  | Description: The `redirectId` is missing or empty. Details are in `fieldViolations`.
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: REDIRECT_NOT_FOUND | Description: Couldn't find the redirect.


```

### Examples

### Retrieve a redirect by ID
Returns `REDIRECT_NOT_FOUND` when no redirect on the site has that ID.

```curl
curl -X GET \
'https://www.wixapis.com/seo-redirects-service/v1/redirects/583fe7d7-2944-436f-870a-09eb6d2e52fa' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.seo.redirects.getRedirect(redirectId)
 Description: Retrieves a redirect by GUID.  Call this method before [Delete Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/delete-redirect.md) and [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md) when changing an existing redirect, and keep the response: the create fills any field you omit with its default rather than with the redirect's previous value.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  redirectId
 Method parameters: 
   param name: redirectId | type: string | description: GUID of the redirect to retrieve. | required: true | validation: format GUID
 Return type: PROMISE<Redirect>
  - name: from | type: string | description: Path on the site that the redirect starts from, URL-encoded. For example, `/old-page`.  Can't be the site root. A path that differs from another redirect's `from` path only by a trailing slash counts as the same path.  For a redirect scoped to a `language`, specify the path with or without the language prefix: the prefix is stripped, so a `fr` redirect from `/fr/about` is stored and returned as `/about`.  | validation: maxLength 950
  - name: to | type: string | description: Where the redirect sends the visitor, URL-encoded. Either a path on the site, such as `/new-page`, or a full URL, such as `https://example.com/page`.  | validation: maxLength 4096
  - name: options | type: RedirectOptions | description: How the redirect matches the paths a visitor requests.  
     - name: groupRedirect | type: boolean | description: Whether the redirect matches every path under its `from` path, carrying the rest of the URL over to the target. For example, a group redirect from `/forum/questions/` to `/forum/faqs/` sends `/forum/questions/my-post` to `/forum/faqs/my-post`. When `false`, only the exact `from` path matches.  A group redirect and an exact redirect that share a `from` path are two different redirects.  Default: `false`  
  - name: language | type: string | description: Language version of a multilingual site that the redirect applies to, as a 2-letter language code or a language tag. For example, `fr` or `en-US`.  When omitted, the redirect applies to every language on the site. A redirect scoped to a language conflicts only with redirects in the same language and with redirects that apply to every language.  Deleting a redirect scoped to a language stops it taking effect, but it can still appear in [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md).  | validation: minLength 2, maxLength 5
  - name: _id | type: string | description: Redirect GUID.  You can specify your own GUID when creating a redirect. When omitted, an GUID is generated.  | validation: format GUID
  - name: _createdDate | type: Date | description: Date and time the redirect was created.  Not returned by [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md). Call [Get Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/get-redirect.md) or [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md) to retrieve it.  | read-only: true 

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code:  | Description: The `redirectId` is missing or empty. Details are in `fieldViolations`.
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: REDIRECT_NOT_FOUND | Description: Couldn't find the redirect.


```

### Examples

### Retrieve a redirect by ID
Throws `REDIRECT_NOT_FOUND` when no redirect on the site has that ID.

```javascript
import { redirects } from "@wix/seo";

async function getRedirect() {
  const response = await redirects.getRedirect("561c854e-f867-42bc-818b-9c01df964edb");
}

/* Promise resolves to:
 * {
 *   "from": "/forum/questions",
 *   "to": "/forum/faqs/",
 *   "options": {
 *     "groupRedirect": true
 *   },
 *   "_id": "561c854e-f867-42bc-818b-9c01df964edb",
 *   "_createdDate": "2026-08-20T07:48:38.272Z"
 * }
 */

```

### getRedirect (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { redirects } from '@wix/seo';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { redirects },
  // Include the auth strategy and host as relevant
});


async function getRedirect(redirectId) {
  const response = await myWixClient.redirects.getRedirect(redirectId);
};
```

---