Skip to main content
These abilities require an Article Uploader release that includes Abilities API support. Earlier builds do not register them. Check ability discovery on your Dashboard before using these examples.
The Abilities-enabled Article Uploader release registers two read-only abilities in the mainwp-article-uploader category. Both use the mainwp/ namespace on your MainWP Dashboard. Use them to review articles that are waiting in the Upload Articles or Import Articles tables before you publish them. They do not upload, import, edit, publish, drip, or delete articles.

What You’ll Learn

  • List staged articles with pagination and an optional source filter
  • Read one staged article with a short plain-text excerpt
  • Interpret target sites, hidden sites, and masked text

Prerequisites

  • WordPress 6.9 or later on the MainWP Dashboard site
  • MainWP Dashboard with Abilities API support; use version 6.2 or later for the input_json examples below
  • An Article Uploader build that registers these abilities, active on MainWP Dashboard
  • An authenticated user with manage_options and access to the Article Uploader Add-on
Use an Application Password or the authentication methods in the Abilities API overview. The examples use an Application Password. Team Control restrictions apply to target sites. A response names only the sites you can access. Other selected sites are counted in hidden_site_count.

Available Abilities

Discover the abilities and their schemas:
Both abilities are marked readonly: true, destructive: false, and idempotent: true. They reject extra input properties.

List Staged Articles

Ability: mainwp/list-article-uploader-articles-v1
Method: GET
Example response:
Articles are sorted by last modified time, newest first. total is the number of staged articles that match the source filter. The list is not limited to drafts; it uses the WordPress any status query for staged articles.

Get One Staged Article

Ability: mainwp/get-article-uploader-article-v1
Method: GET
The only input is the required id: the article’s positive integer ID in MainWP Dashboard. Use an id from the list response.
The response contains the same fields as a list item, plus excerpt:
The ability reads only articles staged by Article Uploader. Other Dashboard posts and pages return mainwp_post_not_found, even when the ID exists.

Response Fields

When target is an object, sites lists the selected sites you can access, with site_id and name. hidden_site_count counts selected sites you cannot access. Their IDs and names are not returned. drip_enabled reports only the saved marker. Dripping an article removes it from the staged tables, so a dripping article no longer appears in these results.

Excerpts and Masked Text

The excerpt is built from the stored article body. Shortcodes and HTML are removed before the text is shortened to 300 characters. The response never includes the full body, HTML, or raw metadata. Before returning any text field, Article Uploader replaces sensitive-looking values with [redacted]:
  • URLs, domain names, query strings, and file paths
  • Email addresses, except in author
  • API keys, tokens, private keys, and key=value credentials
  • Any field that contains Basic or Bearer followed by another word. The whole field is replaced.
Masking is intentionally broad. Ordinary text such as “Basic SEO tips” is fully redacted. A passage without spaces that contains a URL or path, such as some CJK text, can also be redacted as one value. Open the article in Article Uploader to review its full content.
These abilities read stored data on MainWP Dashboard only. They do not contact Child sites, read upload folders, or change posts, metadata, or settings.

Error Handling

Standard authentication, schema, and method errors follow the Abilities API error reference. Article Uploader can also return: Unauthenticated requests return HTTP 401 from MainWP Dashboard before the ability runs.