Contents
Get Catalogue - Plugixa Easy Social Share Buttons
GET /plugixa-social-share/v1/catalogue
Every network, position and style a share set can use on this site: where the valid slugs for Create Share Set come from.
An account with the plugixa_social_share_view capability. Administrators hold it; no other role does until you grant it.
What is listed depends on the build: Pro adds styles and the popup and flyin positions.
Request
GET https://your-site.example/wp-json/plugixa-social-share/v1/catalogue
Responses
200 OK.
Shortened to one entry per list; a real answer lists all of them.
{
"success": true,
"data": {
"networks": {
"social": [
{
"slug": "x",
"label": "X",
"group": "social",
"color": "#000000",
"accessibleColor": "#000000",
"icon": "x",
"supports": [
"text",
"via",
"hashtags",
"follow"
],
"intent": "popup",
"hasCounts": false,
"needsInstance": false,
"needsScript": true,
"order": 20
}
],
"utility": [
{
"slug": "copy",
"label": "Copy link",
"group": "utility",
"color": "#4a5262",
"accessibleColor": "#4a5262",
"icon": "copy",
"supports": [],
"intent": "copy",
"hasCounts": false,
"needsInstance": false,
"needsScript": true,
"order": 620
}
]
},
"positions": [
{
"slug": "content_bottom",
"label": "Below the content",
"description": "",
"group": "content",
"exclusive": true,
"hook": "",
"priority": 10,
"css_part": "",
"needs_script": false,
"devices": "any",
"types": [],
"order": 20
}
],
"templates": [
{
"slug": "pill",
"label": "Pill",
"group": "solid",
"color_mode": "brand",
"tokens": {
"radius": "999px",
"pad_x": "18px"
},
"order": 30,
"style": "--pxss-radius:999px;--pxss-pad-x:18px"
}
],
"countable": {
"facebook": "facebook",
"reddit": "reddit"
}
}
}
| Field | Type | Meaning |
|---|---|---|
data.networks |
object |
The networks, grouped: social, messaging, fediverse, ai, bookmark, regional, utility. A group with no network is left out |
data.networks.*[].slug |
string |
What instance.networks takes |
data.networks.*[].intent |
string |
How the button opens: popup, newtab, native, copy, print or mailto |
data.networks.*[].hasCounts |
boolean |
Whether the network publishes a share count |
data.networks.*[].needsInstance |
boolean |
A fediverse network that asks the visitor for their server |
data.positions |
array |
Every position. A content one goes in placements.*.content; the others, except manual, go in placements.*.extra |
data.positions[].types |
string[] |
The only placement keys the position may be used on; empty for every key |
data.positions[].devices |
string |
any, mobile or desktop |
data.templates |
array |
Every style; slug is what instance.template takes |
data.countable |
object |
Network slug to the source its count comes from |
Errors
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-social-share/v1/catalogue" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-social-share/v1/catalogue');
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 response = await fetch('https://your-site.example/wp-json/plugixa-social-share/v1/catalogue', {
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const { data } = await response.json();
Quick Links
Share