{"id":366245,"date":"2026-09-13T23:57:47","date_gmt":"2026-09-13T23:57:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sawir-social-scheduler\/"},"modified":"2026-09-13T23:57:38","modified_gmt":"2026-09-13T23:57:38","slug":"sawir-social-scheduler","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sawir-social-scheduler\/","author":18200539,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Sawir Social Scheduler","header_author":"Ricardo Sawir, Sawir Studio LLC","header_description":"Schedule and publish posts from WordPress to X, Facebook, Instagram, LinkedIn, Bluesky, Mastodon, TikTok, YouTube, Telegram and 18 more. Connects directly to each network's API with credentials you provide; see \"External services\" in the readme.","assets_banners_color":"2e5496","last_updated":"2026-09-13 23:57:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/sawir-social-scheduler\/","header_author_uri":"https:\/\/sawirstudio.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"sawirricardo","date":"2026-09-13 23:57:38","revision":3694291}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3694291,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3694291,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3694291,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3694291,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3694291,"resolution":"1","location":"assets","locale":"","width":1280,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3694291,"resolution":"2","location":"assets","locale":"","width":1280,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3694291,"resolution":"3","location":"assets","locale":"","width":1280,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3694291,"resolution":"4","location":"assets","locale":"","width":1280,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3694291,"resolution":"5","location":"assets","locale":"","width":1280,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3694291,"resolution":"6","location":"assets","locale":"","width":1280,"height":900}},"screenshots":{"1":"The calendar: one card per channel send, colored by status, drag to reschedule, free posting times shown as slots you can click.","2":"Picking channels on a post: groups by client, per-channel text override, own send time, next free slot.","3":"Live preview per network as you type, threads and media included, with character and media limits applied.","4":"Analytics: posts, engagement, reach and followers against the prior period, followers over time, engagement by channel.","5":"Channels: several accounts per platform, test connection, follower trend, posting times.","6":"Client approval page: a public link showing the post per network with Approve and Request changes."}},"plugin_section":[],"plugin_tags":[13226,139106,4685,154,159],"plugin_category":[56],"plugin_contributors":[262686],"plugin_business_model":[],"class_list":["post-366245","plugin","type-plugin","status-publish","hentry","plugin_tags-cross-posting","plugin_tags-mastodon","plugin_tags-scheduler","plugin_tags-social-media","plugin_tags-twitter","plugin_category-social-and-sharing","plugin_contributors-sawirricardo","plugin_committers-sawirricardo"],"banners":{"banner":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/banner-772x250.png?rev=3694291","banner_2x":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/banner-1544x500.png?rev=3694291","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/icon-128x128.png?rev=3694291","icon_2x":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/icon-256x256.png?rev=3694291","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-1.png?rev=3694291","caption":"The calendar: one card per channel send, colored by status, drag to reschedule, free posting times shown as slots you can click."},{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-2.png?rev=3694291","caption":"Picking channels on a post: groups by client, per-channel text override, own send time, next free slot."},{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-3.png?rev=3694291","caption":"Live preview per network as you type, threads and media included, with character and media limits applied."},{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-4.png?rev=3694291","caption":"Analytics: posts, engagement, reach and followers against the prior period, followers over time, engagement by channel."},{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-5.png?rev=3694291","caption":"Channels: several accounts per platform, test connection, follower trend, posting times."},{"src":"https:\/\/ps.w.org\/sawir-social-scheduler\/assets\/screenshot-6.png?rev=3694291","caption":"Client approval page: a public link showing the post per network with Approve and Request changes."}],"raw_content":"<!--section=description-->\n<p>Sawir Social Scheduler turns WordPress into a social media scheduler. Connect your channels with the tokens each platform gives you, write a post, pick channels, set a date, and publish. Every send runs in the background and reports back with a link or the platform's own error message.<\/p>\n\n<p>There is no hosted service in between. Credentials are encrypted with your site's salts and never leave your server.<\/p>\n\n<h4>Channels<\/h4>\n\n<p>Add as many channels as you like, several accounts per platform. Each channel has a <strong>Test connection<\/strong> button that fetches the account name and avatar and confirms the token really works before you rely on it.<\/p>\n\n<p><strong>Social:<\/strong> X (Twitter), Facebook Page, Instagram, Threads, LinkedIn Page, Bluesky, Mastodon, TikTok, YouTube, Pinterest, Tumblr, Dribbble, Google Business Profile<\/p>\n\n<p><strong>Community:<\/strong> Telegram, Discord, Slack, Reddit, Lemmy, VK, Kick, Twitch, Whop<\/p>\n\n<p><strong>Blog and newsletter:<\/strong> WordPress, Medium, Dev.to, Hashnode, Listmonk<\/p>\n\n<p>Group channels by client or brand with nested groups, then select a whole group with one click.<\/p>\n\n<h4>Posts<\/h4>\n\n<ul>\n<li><strong>One body, many channels.<\/strong> Pick channels with checkboxes. Untouched channels get the post as written.<\/li>\n<li><strong>Customize per channel.<\/strong> Tick \"Customize\" on any channel to give it its own parts: text, media and delays, prefilled from the post so you edit a copy. Other channels keep the post as written.<\/li>\n<li><strong>Threads.<\/strong> Add parts to post a thread on X, Threads, Bluesky, Mastodon and Telegram, each with its own media. Platforms without threads receive the parts joined.<\/li>\n<li><strong>Media.<\/strong> Attach images and video once. Each platform gets what it supports: albums, carousels, Reels, resumable video uploads.<\/li>\n<li><strong>Schedule.<\/strong> Use the normal WordPress \"Publish on\" date, or give any channel its own time.<\/li>\n<li><strong>Posting times.<\/strong> Give a channel its usual times of day. \"Next free slot\" fills the next unused one, the calendar shows empty upcoming slots you can click to fill, and the API accepts <code>\"date\": \"next\"<\/code>.<\/li>\n<li><strong>Preview.<\/strong> A live preview per channel that looks like the real platform, with character limits and media rules applied so you see exactly what will go out.<\/li>\n<li><strong>Comments and delays.<\/strong> On platforms without threads, extra parts post as comments under the post. Any part can wait a set number of minutes after the previous one.<\/li>\n<li><strong>Share a blog post.<\/strong> A box on the normal post editor posts to your channels when the post publishes, with its own text and media.<\/li>\n<li><strong>Duplicate.<\/strong> Copy a post with its channels, parts and overrides as a new draft. Keep drafts as templates.<\/li>\n<li><strong>Mentions.<\/strong> Type <code>@handle<\/code> and the network resolves it on X, Instagram, Threads, Mastodon, Telegram, Reddit and Bluesky, where links and handles become real facets. LinkedIn company pages are <code>@[Name](org:12345)<\/code> with the ID from the page URL; Facebook pages are <code>@[12345]<\/code>.<\/li>\n<li><strong>Repeat.<\/strong> Resend evergreen posts every N days or weeks, until a date or a number of times. Each run is its own post with its own sends and stats. Put <code>{n}<\/code> in the text to number runs, since X, Threads and Bluesky reject identical text.<\/li>\n<\/ul>\n\n<h4>Calendar<\/h4>\n\n<p>Every post fans out into one send per channel, and the calendar shows each as a card colored by state: scheduled, sent, failed, held, draft, in progress. Drag a card to move that channel's time. Click a card for the error, a Retry button, the live link, and engagement numbers. Click an empty slot to start a post at that time. Month, week, day, and list views, filterable by group and status.<\/p>\n\n<h4>Analytics<\/h4>\n\n<p>Likes, comments, shares, views and impressions are collected 1 hour, 1 day and 1 week after each send, plus on demand, on 16 platforms. Follower counts are recorded daily per channel with a 30-day sparkline. Numbers appear on the calendar cards, in the post's Analytics box, and in the Channels list. The Analytics page sums it up for the last 7, 30 or 90 days against the period before: posts sent, engagement, reach and followers with their change, a followers chart, engagement by channel, and your top posts.<\/p>\n\n<h4>Client approval<\/h4>\n\n<p>Tick \"Hold sends until approved\", copy the preview link, and send it to your client. They see the post as it will look on every channel, with no login, and click Approve or Request changes with a note. Approval releases the sends. Every decision is kept as history.<\/p>\n\n<p>Large video uploads to X, YouTube and TikTok run in short slices that resume across background jobs, so they survive host time limits and never load a whole file into memory.<\/p>\n\n<h4>REST API<\/h4>\n\n<p>Everything the admin does is available at <code>\/wp-json\/sawir-social\/v1<\/code> for automations, mobile apps, and other sites. Authenticate with an application password; permissions follow the plugin's capabilities and channel credentials are never returned.<\/p>\n\n<ul>\n<li><code>GET \/platforms<\/code>, <code>GET \/channels<\/code>, <code>GET \/channels\/{id}<\/code>, <code>POST \/channels\/{id}\/test<\/code><\/li>\n<li><code>GET|POST \/posts<\/code>, <code>GET|PATCH|DELETE \/posts\/{id}<\/code>, <code>POST \/posts\/{id}\/duplicate<\/code>, <code>GET \/posts\/{id}\/analytics<\/code><\/li>\n<li><code>GET \/sends<\/code>, <code>GET \/sends\/{id}<\/code>, <code>POST \/sends\/{id}\/retry<\/code>, <code>POST \/sends\/{id}\/stats<\/code><\/li>\n<\/ul>\n\n<p>Create a post with <code>{\"title\",\"content\",\"status\":\"future\",\"date\":\"2026-12-25 09:00\",\"media\":[12],\"parts\":[{\"text\",\"media\",\"delay\"}],\"channels\":[{\"id\":38,\"parts\":[{\"text\",\"media\",\"delay\"}],\"date\":\"\u2026\"}],\"groups\":[\"Client A\"],\"hold\":false}<\/code>. A channel's <code>parts<\/code> replace the post for that channel; <code>text<\/code> is shorthand for a single part.<\/p>\n\n<h4>AI agents<\/h4>\n\n<p>The same operations are registered with the WordPress Abilities API as <code>sawir-social\/list-channels<\/code>, <code>create-post<\/code>, <code>update-post<\/code>, <code>list-posts<\/code>, <code>list-sends<\/code>, <code>retry-send<\/code>, <code>test-channel<\/code>, <code>get-analytics<\/code> and <code>list-platforms<\/code>, with typed input and output schemas. Any agent connected through the WordPress MCP adapter sees them as tools, and they are also callable at <code>\/wp-json\/wp-abilities\/v1\/abilities\/{name}\/run<\/code>. The Abilities API is part of WordPress 6.9 and newer; for older versions the plugin bundles it, so the abilities are available everywhere the plugin runs.<\/p>\n\n<h4>Requirements<\/h4>\n\n<p>Sends run in the background through Action Scheduler when your site has it (WooCommerce and many other plugins provide it) and through WP-Cron otherwise. On WordPress's built-in cron they only progress when the site gets traffic. For prompt sends, add a system cron, the Calendar screen shows the exact command for your site.<\/p>\n\n<p>Media must be reachable from the internet for platforms that fetch by URL (Instagram, Threads, Facebook, Pinterest, Telegram). A local development site cannot deliver images to them.<\/p>\n\n<h4>Credits<\/h4>\n\n<p>Bundles FullCalendar (MIT), the WordPress Abilities API library (GPL), and brand marks from Simple Icons (CC0). Uses Action Scheduler when another plugin provides it.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin exists to publish your content to third-party social networks, so it talks to their APIs. Nothing is sent anywhere until you add a channel and post to it. There is no Sawir Studio server in between: your site talks to each platform directly.<\/p>\n\n<p><strong>What is sent, and when<\/strong><\/p>\n\n<ul>\n<li>When you click <em>Test connection<\/em>: the channel's credentials, to confirm they work and fetch the account name and avatar.<\/li>\n<li>When a send goes out: the post text, the title where the platform uses one, and your media (uploaded as files, or as public URLs for platforms that fetch media themselves), together with the channel's credentials.<\/li>\n<li>When analytics run, 1 hour, 1 day and 1 week after a send, once a day per channel, or when you click Refresh: the credentials and the ID of the post, to read engagement and follower counts.<\/li>\n<li>Never: your visitors' data, your site's users, or anything from posts you did not choose to share.<\/li>\n<\/ul>\n\n<p>Credentials are stored encrypted on your server and are only ever sent to the platform they belong to.<\/p>\n\n<p><strong>Services, by platform<\/strong><\/p>\n\n<ul>\n<li><strong>X (Twitter)<\/strong>: api.twitter.com, upload.twitter.com. <a href=\"https:\/\/x.com\/en\/tos\">Terms<\/a> \u00b7 <a href=\"https:\/\/x.com\/en\/privacy\">Privacy<\/a><\/li>\n<li><strong>Facebook Pages, Instagram, Threads (Meta)<\/strong>: graph.facebook.com, graph.threads.net. <a href=\"https:\/\/www.facebook.com\/terms.php\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.facebook.com\/privacy\/policy\/\">Privacy<\/a><\/li>\n<li><strong>LinkedIn<\/strong>: api.linkedin.com. <a href=\"https:\/\/www.linkedin.com\/legal\/user-agreement\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.linkedin.com\/legal\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Bluesky<\/strong>: the service URL you enter, bsky.social by default. <a href=\"https:\/\/bsky.social\/about\/support\/tos\">Terms<\/a> \u00b7 <a href=\"https:\/\/bsky.social\/about\/support\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Mastodon<\/strong>: the instance URL you enter. Terms and privacy: the terms of your instance.<\/li>\n<li><strong>TikTok<\/strong>: open.tiktokapis.com. <a href=\"https:\/\/www.tiktok.com\/legal\/terms-of-service\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.tiktok.com\/legal\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>YouTube, Google Business Profile (Google)<\/strong>: googleapis.com, oauth2.googleapis.com, mybusiness.googleapis.com. <a href=\"https:\/\/policies.google.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/policies.google.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Pinterest<\/strong>: api.pinterest.com. <a href=\"https:\/\/policy.pinterest.com\/terms-of-service\">Terms<\/a> \u00b7 <a href=\"https:\/\/policy.pinterest.com\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Tumblr<\/strong>: api.tumblr.com. <a href=\"https:\/\/www.tumblr.com\/policy\/terms-of-service\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.tumblr.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Dribbble<\/strong>: api.dribbble.com. <a href=\"https:\/\/dribbble.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/dribbble.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Telegram<\/strong>: api.telegram.org. <a href=\"https:\/\/telegram.org\/tos\">Terms<\/a> \u00b7 <a href=\"https:\/\/telegram.org\/privacy\">Privacy<\/a><\/li>\n<li><strong>Discord<\/strong>: the webhook URL you enter on discord.com. <a href=\"https:\/\/discord.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/discord.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Slack<\/strong>: the webhook URL you enter on hooks.slack.com. <a href=\"https:\/\/slack.com\/terms-of-service\">Terms<\/a> \u00b7 <a href=\"https:\/\/slack.com\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Reddit<\/strong>: www.reddit.com, oauth.reddit.com. <a href=\"https:\/\/redditinc.com\/policies\/user-agreement\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.reddit.com\/policies\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Lemmy<\/strong>: the instance URL you enter. Terms and privacy: the terms of your instance.<\/li>\n<li><strong>VK<\/strong>: api.vk.com. <a href=\"https:\/\/vk.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/vk.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Kick<\/strong>: api.kick.com, id.kick.com. <a href=\"https:\/\/kick.com\/terms-of-service\">Terms<\/a> \u00b7 <a href=\"https:\/\/kick.com\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Twitch<\/strong>: api.twitch.tv, id.twitch.tv. <a href=\"https:\/\/www.twitch.tv\/p\/legal\/terms-of-service\/\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.twitch.tv\/p\/legal\/privacy-notice\/\">Privacy<\/a><\/li>\n<li><strong>Whop<\/strong>: api.whop.com. <a href=\"https:\/\/whop.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/whop.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>WordPress (another site)<\/strong>: the site URL you enter. Terms and privacy: the terms of that site.<\/li>\n<li><strong>Medium<\/strong>: api.medium.com. <a href=\"https:\/\/policy.medium.com\/medium-terms-of-service-9db0094a1e0f\">Terms<\/a> \u00b7 <a href=\"https:\/\/policy.medium.com\/medium-privacy-policy-f03bf92035c9\">Privacy<\/a><\/li>\n<li><strong>Dev.to<\/strong>: dev.to. <a href=\"https:\/\/dev.to\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/dev.to\/privacy\">Privacy<\/a><\/li>\n<li><strong>Hashnode<\/strong>: gql.hashnode.com. <a href=\"https:\/\/hashnode.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/hashnode.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Listmonk<\/strong>: the Listmonk URL you enter. Terms and privacy: your own installation.<\/li>\n<\/ul>\n\n<p>Client approval links are served by your own site; they contain the post as it will appear and are public to anyone holding the link.<\/p>\n\n<p><strong>Trademarks<\/strong><\/p>\n\n<p>Platform names and logos are trademarks of their respective owners and are used only to identify the service a channel connects to. This plugin is not affiliated with or endorsed by any of them.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> and activate it.<\/li>\n<li>Go to <strong>Social \u2192 Channels \u2192 Add Channel<\/strong>, pick a platform, paste the credentials it asks for, and click <strong>Test connection<\/strong>.<\/li>\n<li>Go to <strong>Social \u2192 Posts \u2192 New Social Post<\/strong>, write, pick channels, publish or schedule.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20the%20tokens%3F\"><h3>Where do I get the tokens?<\/h3><\/dt>\n<dd><p>Each platform's developer settings. The channel form names the exact credential it needs, for example a Facebook Page access token, a Telegram bot token, or a Bluesky app password. Long-lived tokens are best; Meta and LinkedIn tokens expire after about 60 days and need re-pasting.<\/p><\/dd>\n<dt id=\"my%20telegram%20test%20says%20%22chat%20not%20found%22\"><h3>My Telegram test says \"chat not found\"<\/h3><\/dt>\n<dd><p>Private channels have no @username. Leave the Chat ID blank and click Test connection: the plugin lists every chat the bot has been added to, with the numeric ID to paste.<\/p><\/dd>\n<dt id=\"why%20is%20a%20send%20stuck%20on%20%22in%20progress%E2%80%A6%22%3F\"><h3>Why is a send stuck on \"In progress\u2026\"?<\/h3><\/dt>\n<dd><p>The background queue has not run yet. Visit the site, or set up the system cron shown on the Calendar screen.<\/p><\/dd>\n<dt id=\"can%20i%20post%20a%20video%20to%20instagram%20from%20a%20local%20site%3F\"><h3>Can I post a video to Instagram from a local site?<\/h3><\/dt>\n<dd><p>No. Instagram fetches media by URL and needs a public address. Everything else about the plugin works locally.<\/p><\/dd>\n<dt id=\"is%20nostr%2C%20mewe%20or%20skool%20supported%3F\"><h3>Is Nostr, MeWe or Skool supported?<\/h3><\/dt>\n<dd><p>Not in this version. MeWe has no public posting API, Skool has no API at all, and Nostr needs a WebSocket relay client and Schnorr signing that PHP does not ship with.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: 27 platforms, threads and comments with delays, per-channel overrides and times, media, live previews, calendar with drag to reschedule, analytics, client approval links, blog post sharing, duplicate, roles and capabilities, resumable uploads, background sends with retry.<\/li>\n<\/ul>","raw_excerpt":"Write once, schedule to 27 networks from wp-admin. Per-channel edits, threads, media, previews. Your tokens stay on your server.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/366245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=366245"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sawirricardo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=366245"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=366245"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=366245"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=366245"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=366245"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=366245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}