Redirection REST API (1.0.0)

Download OpenAPI specification:

WordPress API documentation for Redirection.

These endpoints are used by the Redirection plugin itself, and can also be used externally.

This documentation is based on the currently maintained REST routes. It is not yet exhaustive, and the API should not be considered stable.

All requests must be authenticated. Most endpoints require a user with the relevant Redirection capability; in practice this often means an administrator. See the REST API authentication guide.

Redirect

Manage redirects

Get redirects

Get a paged list of redirects after applying filters and ordering.

Authorizations:
wordpressNonce
query Parameters
filterBy[status]
string
Enum: "enabled" "disabled"
filterBy[url]
string
filterBy[url-match]
string
Enum: "regular" "plain"
filterBy[match]
string
filterBy[action]
string
filterBy[http]
integer
filterBy[access]
string
Enum: "year" "month" "all"
filterBy[target]
string
filterBy[title]
string
filterBy[group]
integer
filterBy[id]
integer
filterBy[module]
integer
orderby
string
Enum: "source" "last_count" "last_access" "position" "id"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Create redirect

Create a new redirect and return the current redirect list.

Authorizations:
wordpressNonce
Request Body schema: application/json
required
status
string
Enum: "enabled" "disabled"
position
integer
string or Array of strings
regex
boolean
match_type
string
Enum: "url" "referrer" "agent" "login" "header" "custom" "cookie" "role" "server" "ip" "page" "language"
object
title
string
group_id
integer
action_type
string
action_code
integer
object

Responses

Request samples

Content type
application/json
{
  • "status": "enabled",
  • "position": 0,
  • "url": "string",
  • "regex": true,
  • "match_type": "url",
  • "match_data": { },
  • "title": "string",
  • "group_id": 0,
  • "action_type": "string",
  • "action_code": 0,
  • "action_data": { }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Update redirect

Update an existing redirect.

Authorizations:
wordpressNonce
path Parameters
id
required
integer
Request Body schema: application/json
required
status
string
Enum: "enabled" "disabled"
position
integer
string or Array of strings
regex
boolean
match_type
string
Enum: "url" "referrer" "agent" "login" "header" "custom" "cookie" "role" "server" "ip" "page" "language"
object
title
string
group_id
integer
action_type
string
action_code
integer
object

Responses

Request samples

Content type
application/json
{
  • "status": "enabled",
  • "position": 0,
  • "url": "string",
  • "regex": true,
  • "match_type": "url",
  • "match_data": { },
  • "title": "string",
  • "group_id": 0,
  • "action_type": "string",
  • "action_code": 0,
  • "action_data": { }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Bulk action on redirects

Enable, disable, delete, or reset a set of redirects.

Authorizations:
wordpressNonce
path Parameters
bulk
required
string
Enum: "delete" "enable" "disable" "reset"
query Parameters
filterBy[status]
string
Enum: "enabled" "disabled"
filterBy[url]
string
filterBy[url-match]
string
Enum: "regular" "plain"
filterBy[match]
string
filterBy[action]
string
filterBy[http]
integer
filterBy[access]
string
Enum: "year" "month" "all"
filterBy[target]
string
filterBy[title]
string
filterBy[group]
integer
filterBy[id]
integer
filterBy[module]
integer
orderby
string
Enum: "source" "last_count" "last_access" "position" "id"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0
Request Body schema: application/json
optional
Array of integers or strings
global
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "global": false
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Group

Manage redirect groups

Get groups

Get a paged list of groups after applying filters and ordering.

Authorizations:
wordpressNonce
query Parameters
filterBy[name]
string
filterBy[status]
string
Enum: "enabled" "disabled"
filterBy[module]
integer
orderby
string
Value: "name"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Create group

Create a new group and return the current group list.

Authorizations:
wordpressNonce
Request Body schema: application/json
required
name
string
moduleID
integer
Enum: 1 2 3
enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "moduleID": 1,
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Update group

Update an existing group.

Authorizations:
wordpressNonce
path Parameters
id
required
integer
Request Body schema: application/json
required
name
string
moduleID
integer
Enum: 1 2 3
enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "moduleID": 1,
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "item": {
    }
}

Bulk action on groups

Enable, disable, or delete groups.

Authorizations:
wordpressNonce
path Parameters
type
required
string
Enum: "delete" "enable" "disable"
query Parameters
filterBy[name]
string
filterBy[status]
string
Enum: "enabled" "disabled"
filterBy[module]
integer
orderby
string
Value: "name"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0
Request Body schema: application/json
optional
Array of integers or strings
global
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "global": false
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Log

Manage redirect logs

Get redirect logs

Get a paged list of redirect logs after applying filters and ordering.

Authorizations:
wordpressNonce
query Parameters
filterBy[ip]
string
filterBy[url]
string
filterBy[url-exact]
string
filterBy[referrer]
string
filterBy[agent]
string
filterBy[target]
string
filterBy[domain]
string
filterBy[redirect_by]
string
filterBy[method]
string
Enum: "head" "get" "post"
orderby
string
Enum: "ip" "url" "total" "count"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0
groupBy
string
Enum: "ip" "url" "agent"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Delete redirect logs by filter

Delete redirect logs by filter and return the refreshed list.

Authorizations:
wordpressNonce
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Bulk action on redirect logs

Delete redirect logs by ID or current grouping.

Authorizations:
wordpressNonce
path Parameters
type
required
string
Value: "delete"
Request Body schema: application/json
optional
Array of integers or strings
global
boolean
Default: false
groupBy
string
Enum: "ip" "url" "agent"

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "global": false,
  • "groupBy": "ip"
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Error 404

Manage 404 logs

Get 404 logs

Get a paged list of 404 logs after applying filters and ordering.

Authorizations:
wordpressNonce
query Parameters
filterBy[ip]
string
filterBy[url]
string
filterBy[url-exact]
string
filterBy[referrer]
string
filterBy[agent]
string
filterBy[target]
string
filterBy[domain]
string
filterBy[method]
string
Enum: "head" "get" "post"
filterBy[http]
integer
orderby
string
Enum: "ip" "url" "total" "count"
direction
string
Enum: "asc" "desc"
per_page
integer [ 1 .. 200 ]
Default: 25
page
integer
Default: 0
groupBy
string
Enum: "ip" "url" "agent"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Bulk action on 404 logs

Delete 404 logs by ID or current grouping.

Authorizations:
wordpressNonce
path Parameters
type
required
string
Value: "delete"
Request Body schema: application/json
optional
Array of integers or strings
global
boolean
Default: false
groupBy
string
Enum: "ip" "url" "agent"

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "global": false,
  • "groupBy": "ip"
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total": 0
}

Settings

Manage Redirection settings

Get settings

Get Redirection settings and supporting data.

Authorizations:
wordpressNonce

Responses

Response samples

Content type
application/json
{
  • "settings": { },
  • "groups": [
    ],
  • "installed": "string",
  • "canDelete": true,
  • "post_types": [
    ]
}

Update settings

Partial updates are supported and only supplied values are changed.

Authorizations:
wordpressNonce
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "settings": { }
}

Response samples

Content type
application/json
{
  • "settings": { },
  • "groups": [
    ],
  • "installed": "string",
  • "canDelete": true,
  • "post_types": [
    ]
}

Import/Export

Import and export Redirection data

Import from file

Import redirects and other supported sections from an uploaded file.

Authorizations:
wordpressNonce
path Parameters
group_id
required
integer
Request Body schema: multipart/form-data
required
file
string <binary>
dry_run
boolean
duplicate_mode
string
Enum: "import" "ignore" "update"
deduplicate
boolean
import_sections
Array of strings

Responses

Response samples

Content type
application/json
{
  • "created": 0,
  • "updated": 0,
  • "ignored": 0,
  • "groups_created": 0,
  • "groups_imported": 0,
  • "logs_imported": 0,
  • "errors_imported": 0,
  • "settings_imported": 0,
  • "preview": [
    ]
}

List plugin importers

Get available plugin importers.

Authorizations:
wordpressNonce

Responses

Response samples

Content type
application/json
{
  • "importers": [
    ]
}

Import from plugin

Import redirects from one or more supported plugins.

Authorizations:
wordpressNonce
Request Body schema: application/json
required
string or Array of strings
group_id
integer
duplicate_mode
string
Enum: "import" "ignore" "update"
delete_source
boolean

Responses

Request samples

Content type
application/json
{
  • "plugin": "string",
  • "group_id": 0,
  • "duplicate_mode": "import",
  • "delete_source": true
}

Response samples

Content type
application/json
{
  • "created": 0,
  • "updated": 0,
  • "ignored": 0,
  • "groups_created": 0,
  • "groups_imported": 0,
  • "logs_imported": 0,
  • "errors_imported": 0,
  • "settings_imported": 0,
  • "preview": [
    ]
}

Preview plugin import

Run a dry-run preview for a plugin importer.

Authorizations:
wordpressNonce
path Parameters
plugin
required
string
query Parameters
group_id
integer
duplicate_mode
string
Enum: "import" "ignore" "update"
delete_source
boolean

Responses

Response samples

Content type
application/json
{
  • "created": 0,
  • "updated": 0,
  • "ignored": 0,
  • "groups_created": 0,
  • "groups_imported": 0,
  • "logs_imported": 0,
  • "errors_imported": 0,
  • "settings_imported": 0,
  • "preview": [
    ]
}

Export redirects

Export redirects in CSV, JSON, Apache, or Nginx format.

Authorizations:
wordpressNonce
query Parameters
format
required
string
Enum: "csv" "json" "apache" "nginx"
module
string
filterBy[group]
integer
filterBy[module]
integer

Responses

Response samples

Content type
application/json
{
  • "data": "string",
  • "total": 0
}

Preview redirect export

Get redirect export totals and estimated file size.

Authorizations:
wordpressNonce
query Parameters
format
required
string
Enum: "csv" "json" "apache" "nginx"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "estimated_size": 0
}

Export redirect logs

Authorizations:
wordpressNonce
path Parameters
format
required
string
Enum: "csv" "json"

Responses

Response samples

Content type
application/json
{
  • "data": "string",
  • "total": 0
}

Preview redirect log export

Authorizations:
wordpressNonce
query Parameters
format
required
string
Enum: "csv" "json"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "estimated_size": 0
}

Export 404 logs

Authorizations:
wordpressNonce
path Parameters
format
required
string
Enum: "csv" "json"

Responses

Response samples

Content type
application/json
{
  • "data": "string",
  • "total": 0
}

Preview 404 export

Authorizations:
wordpressNonce
query Parameters
format
required
string
Enum: "csv" "json"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "estimated_size": 0
}

Export groups

Authorizations:
wordpressNonce
path Parameters
format
required
string
Enum: "csv" "json"

Responses

Response samples

Content type
application/json
{
  • "data": "string",
  • "total": 0
}

Export mixed bundle

Export multiple data types in a single JSON bundle.

Authorizations:
wordpressNonce
query Parameters
types
required
Array of strings
Items Enum: "redirect" "log" "404" "group" "setting"

Responses

Response samples

Content type
application/json
{
  • "data": "string",
  • "total": 0
}

Preview mixed bundle export

Authorizations:
wordpressNonce
query Parameters
types
required
Array of strings
Items Enum: "redirect" "log" "404" "group" "setting"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "estimated_size": 0
}