Contents
On this page
Get Address - Plugixa Permalink Manager
GET /plugixa-permalink-manager/v1/uris/{kind}/{id}
Read one post or term: its custom address, its WordPress address, its update mode and whether you may edit it.
Needs the plugixa_permalink_manager_view capability.
Request
GET https://your-site.example/wp-json/plugixa-permalink-manager/v1/uris/post/36
Path parameters
| Name | Type | Description |
|---|---|---|
kind |
string |
post or term |
id |
integer |
The post or term id |
Responses
200 OK. data is the item.
{
"success": true,
"data": {
"kind": "post",
"id": 36,
"key": "post:36",
"type": "product",
"title": "Skyline 2 Tent",
"slug": "skyline-2",
"status": "publish",
"uri": "shop/tents/skyline-2",
"native_uri": "product/skyline-2",
"is_custom": true,
"mode": -1,
"source": "manual",
"lock": null,
"permalink": "https://your-site.example/shop/tents/skyline-2/",
"edit_url": "https://your-site.example/wp-admin/post.php?post=36&action=edit",
"redirects_count": 1,
"modified_at": "2026-11-12 09:30:00"
}
}
| Field | Type | Meaning |
|---|---|---|
data.kind |
string |
post or term |
data.id |
integer |
The post or term id |
data.key |
string |
kind:id, the key bulk and check results use |
data.type |
string |
Post type or taxonomy |
data.title |
string |
Title or term name. (no title) for an untitled post |
data.slug |
string |
The WordPress slug |
data.status |
string |
Post status. Always publish for a term |
data.uri |
string|null |
The custom address, without outer slashes. null when the item uses its WordPress address, including in mode 2 |
data.native_uri |
string|null |
The address WordPress itself would give the item, or null when it has no pretty one |
data.is_custom |
boolean |
Whether uri is set and differs from native_uri |
data.mode |
integer |
The update mode: 0 follow the global setting, -1 keep, -2 keep and skip bulk tools, 1 update on save, 2 no custom permalink |
data.source |
string|null |
Where the address came from: auto, manual, import, native or tool. null when nothing is stored |
data.lock |
object|null |
Why the address cannot be edited: reason (front_page, excluded or forbidden) and a message. null when it can |
data.permalink |
string |
The live link |
data.edit_url |
string |
The WordPress edit screen |
data.redirects_count |
integer |
How many old addresses lead to the item |
data.modified_at |
string|null |
UTC datetime the stored address last changed. null when nothing is stored. Send it back as expected_modified_at |
Errors
| Status | Code | When |
|---|---|---|
404 |
plugixa_permalink_manager_not_found |
No post or term with that id. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-permalink-manager/v1/uris/post/36" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-permalink-manager/v1/uris/post/36');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`);
const response = await fetch('https://your-site.example/wp-json/plugixa-permalink-manager/v1/uris/post/36', {
headers: { 'Authorization': auth },
});
const { data } = await response.json();
Quick Links
Share