Automattic Read API

The read API from Automattic — 52 operation(s) for read.

Operations 55

GET /read/email-settings/ Returns the email settings #
POST /read/email-settings/ Returns the email settings #
GET /read/feed/ Get the ID and subscribe URL of one or more matching feeds by domain or URL. #
GET /read/feed/{feed_url_or_id} Get details about a feed. #
GET /read/following/ Get a list of posts from the blogs a user follows. #
GET /read/following/mine Get a list of the feeds the user is following. #
POST /read/following/mine/delete Unfollow the specified blog. #
POST /read/following/mine/new Follow the specified blog. #
GET /read/liked/ Get a list of posts from the blogs a user likes. #
GET /read/lists/{user_slug} Get an array of Reader lists by user slug. #
GET /read/menu/ Get default reader menu. #
GET /read/recommendations/mine/ Get a list of blog recommendations for the current user. #
GET /read/sites/{site}/posts/{post_ID} Get a single post (by ID). #
GET /read/subscriptions-count/ Returns the number of blog, comment and pending subscriptions. #
GET /read/tags Get a list of tags subscribed to by the user. #
GET /read/tags/alphabetic Get a filtered list of top tags, grouped by letter. #
GET /read/tags/{tag} Get details about a specified tag. #
GET /read/tags/{tag}/mine Get the subscribed status of the user to a given tag. #
POST /read/tags/{tag}/mine/delete Unsubscribe from a tag. #
POST /read/tags/{tag}/mine/new Subscribe to a new tag. #
GET /read/tags/{tag}/posts Get a list of posts from a tag. #
GET /read/trending/tags Get a list of trending tags. #
GET /read/feed/{feed_url_or_id}/posts/{feed_item_id} Get a single post from a feed (by ID). #
GET /read/following/mine/export Export the current user's Reader subscriptions in OPML format. #
POST /read/following/mine/import Import an OPML file to the current user's Reader subscriptions. #
GET /read/lists Get an array of Reader lists the current user is following. #
GET /read/lists/{username}/{list} Get a description of a Reader list. #
POST /read/lists/{username}/{list}/follow Follow a specific Reader List. #
POST /read/lists/{username}/{list}/unfollow Unfollow a specific Reader List. #
POST /read/lists/{username}/{list}/update Update an existing Reader list for the current user. #
POST /read/onboarding/welcome-digest/flush Flush the pending Reader onboarding welcome digest for the current user. #
POST /read/site/{site}/comment_email_subscriptions/delete Remove an existing email subscription to a site's comments. #
POST /read/site/{site}/comment_email_subscriptions/new Create a new email subscription to a site's comments. #
POST /read/site/{site}/post_email_subscriptions/delete Remove an existing email subscription to a site's posts. #
POST /read/site/{site}/post_email_subscriptions/new Create a new email subscription to a site's posts. #
POST /read/site/{site}/post_email_subscriptions/update Update the delivery frequency for an existing email subscription. #
GET /wpcom/v2/read/interests GET /wpcom/v2/read/interests #
GET /wpcom/v2/read/lists/{list_id}/export GET /wpcom/v2/read/lists/{list_id}/export #
POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/delete POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/delete #
POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/new POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/new #
POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/follow POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/follow #
POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/forget POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/forget #
POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/mute POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/mute #
POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/remember POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/remember #
POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/tags/add POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/tags/add #
GET /wpcom/v2/read/sites/{blog_id}/subscription-details GET /wpcom/v2/read/sites/{blog_id}/subscription-details #
GET /wpcom/v2/read/smart-feed/user-model GET /wpcom/v2/read/smart-feed/user-model #
POST /wpcom/v2/read/smart-feed/user-model POST /wpcom/v2/read/smart-feed/user-model #
DELETE /wpcom/v2/read/smart-feed/user-model DELETE /wpcom/v2/read/smart-feed/user-model #
GET /wpcom/v2/read/streams/on-this-day GET /wpcom/v2/read/streams/on-this-day #
GET /wpcom/v2/read/subscriptions/{subscription_id} GET /wpcom/v2/read/subscriptions/{subscription_id} #
GET /wpcom/v2/read/tags/cards GET /wpcom/v2/read/tags/cards #
GET /wpcom/v2/read/tags/posts GET /wpcom/v2/read/tags/posts #
GET /wpcom/v2/read/tags/{tag}/cards GET /wpcom/v2/read/tags/{tag}/cards #
GET /wpcom/v2/read/tags/{tag}/posts GET /wpcom/v2/read/tags/{tag}/posts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/automattic-read-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

automattic-read-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Automattic Read API
  x-derived-by: API Evangelist enrichment pipeline
  x-refined-note:
  - x-derived-from differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged read across 4 of this provider''s published API definitions: automattic-wordpress-com-rest-v1-1-openapi.yml, automattic-wordpress-com-rest-v1-2-openapi.yml, automattic-wordpress-com-rest-v1-3-openapi.yml, automattic-wordpress-com-wpcom-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://public-api.wordpress.com/rest/v1.1
- url: https://public-api.wordpress.com/rest/v1.2
- url: https://public-api.wordpress.com/rest/v1.3
- url: https://public-api.wordpress.com
security:
- bearerAuth: []
tags:
- name: read
paths:
  /read/email-settings/:
    get:
      operationId: getReadEmailSettings
      summary: Returns the email settings
      description: Returns the email settings
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  settings:
                    type: array
                    items: {}
                    description: The settings
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
    post:
      operationId: postReadEmailSettings
      summary: Returns the email settings
      description: Returns the email settings
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  settings:
                    type: array
                    items: {}
                    description: The updated settings
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                mail_option:
                  type: string
                  description: 'The mail format: html or text'
                delivery_day:
                  type: integer
                  description: 'The index of the day of the week to send the email: 0 = Sunday, 1 = Monday, etc.'
                delivery_hour:
                  type: integer
                  description: 'The index of the hour of the day to send the email: 0 = 12am, 1 = 1am, etc.'
                blocked:
                  type: boolean
                  description: If this user has blocked WP.com emails
                frequency:
                  type: string
                  description: The default email frequency for this user
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /read/feed/:
    get:
      operationId: getReadFeed
      summary: Get the ID and subscribe URL of one or more matching feeds by domain or URL.
      description: Get the ID and subscribe URL of one or more matching feeds by domain or URL.
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  feeds:
                    type: array
                    items: {}
                    description: Found feeds, represented by their subscribe URL and feed ID.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
      - name: url
        in: query
        required: false
        schema:
          type: string
        description: The domain or URL of the site you would like to retrieve the feed(s) ID for. It MUST be URL-encoded.
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Query text
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: offset to page results to
      - name: number
        in: query
        required: false
        schema:
          type: integer
        description: number of results to return
      - name: exclude_followed
        in: query
        required: false
        schema:
          type: boolean
        description: 'Exclude already followed sites in search results Default: true.'
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: relevance or last_updated
      - name: page_handle
        in: query
        required: false
        schema:
          type: string
        description: A handle for getting the next page of results when sorting by last_updated
      - name: algorithm
        in: query
        required: false
        schema:
          type: string
        description: Specify a particular algorithm to use to choose posts (optional)
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /read/feed/{feed_url_or_id}:
    get:
      operationId: getReadFeedByFeedUrlOrId
      summary: Get details about a feed.
      description: Get details about a feed.
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  blog_ID:
                    type: string
                    description: The site ID, 0 if this not a hosted site.
                  feed_ID:
                    type: string
                    description: The ID for this feed
                  name:
                    type: string
                    description: The name of the site
                  URL:
                    type: string
                    description: The main URL for the site
                  feed_URL:
                    type: string
                    description: The feed URL that WordPress polls for changes
                  subscribers_count:
                    type: integer
                    description: The number of subscribers for this feed
                  is_following:
                    type: boolean
                    description: Is the current user following this feed?
                  last_update:
                    type: string
                    description: The timestamp of the most recent entry in the feed
                  last_checked:
                    type: string
                    description: The timestamp of when we last checked the feed
                  marked_for_refresh:
                    type: boolean
                    description: Is the feed queued up to be refreshed soon?
                  next_refresh_time:
                    type: string
                    description: The timestamp for when we are going to refresh this feed
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: feed_url_or_id
        in: path
        required: true
        schema:
          type: string
        description: The URL for the feed you would like more details on, or the id of the Feed. If a URL is passed, it MUST be URL-encoded.
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /read/following/:
    get:
      operationId: getReadFollowing
      summary: Get a list of posts from the blogs a user follows.
      description: Get a list of posts from the blogs a user follows.
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ID:
                    type: integer
                    description: The post ID.
                  site_ID:
                    type: integer
                    description: The site ID.
                  author:
                    type: object
                    description: The author of the post.
                  date:
                    type: string
                    format: date-time
                    description: The post's creation time.
                  modified:
                    type: string
                    format: date-time
                    description: The post's most recent update time.
                  title:
                    type: string
                    description: context dependent.
                  URL:
                    type: string
                    format: uri
                    description: The full permalink URL to the post.
                  short_URL:
                    type: string
                    format: uri
                    description: The wp.me short URL.
                  content:
                    type: string
                    description: context dependent.
                  excerpt:
                    type: string
                    description: context dependent.
                  slug:
                    type: string
                    description: The name (slug) for the post, used in URLs.
                  guid:
                    type: string
                    description: The GUID for the post.
                  status:
                    type: string
                    description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.'
                    enum:
                    - publish
                    - draft
                    - pending
                    - private
                    - future
                    - trash
                    - auto-draft
                  sticky:
                    type: boolean
                    description: Is the post sticky?
                  password:
                    type: string
                    description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.
                  parent:
                    type: string
                    description: A reference to the post's parent, if it has one.
                  type:
                    type: string
                    description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter.
                  comments_open:
                    type: boolean
                    description: Is the post open for comments?
                  pings_open:
                    type: boolean
                    description: Is the post open for pingbacks, trackbacks?
                  likes_enabled:
                    type: boolean
                    description: Is the post open to likes?
                  sharing_enabled:
                    type: boolean
                    description: Should sharing buttons show on this post?
                  comment_count:
                    type: integer
                    description: The number of comments for this post.
                  like_count:
                    type: integer
                    description: The number of likes for this post.
                  i_like:
                    type: boolean
                    description: Does the current user like this post?
                  is_reblogged:
                    type: boolean
                    description: Did the current user reblog this post?
                  is_following:
                    type: boolean
                    description: Is the current user following this blog?
                  global_ID:
                    type: string
                    description: A unique WordPress.com-wide representation of a post.
                  featured_image:
                    type: string
                    format: uri
                    description: The URL to the featured image for this post if it has one.
                  post_thumbnail:
                    type: object
                    description: The attachment object for the featured image if it has one.
                  format:
                    type: string
                    description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio'
                    enum:
                    - standard
                    - aside
                    - chat
                    - gallery
                    - link
                    - image
                    - quote
                    - status
                    - video
                    - audio
                  geo:
                    type: string
                  menu_order:
                    type: integer
                    description: (Pages Only) The order pages should appear in.
                  publicize_URLs:
                    type: array
                    items: {}
                    description: Array of Facebook URLs published by this post.
                  tags:
                    type: object
                    description: Hash of tags (keyed by tag name) applied to the post.
                  categories:
                    type: object
                    description: Hash of categories (keyed by category name) applied to the post.
                  attachments:
                    type: object
                    description: Hash of post attachments (keyed by attachment ID).
                  metadata:
                    type: array
                    items: {}
                    description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter.
                  meta:
                    type: object
                    description: API result meta data
                  current_user_can:
                    type: object
                    description: List of permissions. Note, deprecated in favor of `capabilities`
                  capabilities:
                    type: object
                    description: List of post-specific permissions for the user; publish_post, edit_post, delete_post
                  date_range:
                    type: object
                    description: date range covered by current results.
                  number:
                    type: integer
                    description: The number of posts brought back by current query.
                  posts:
                    type: array
                    items: {}
                    description: An array of post objects.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
      - name: number
        in: query
        required: false
        schema:
          type: integer
        description: 'The number of posts to return. Limit: 40. Default: 10.'
      - name: page
        in: query
        required: false
        schema:
          type: integer
        description: Return the Nth 1-indexed page of posts.
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - DESC
          - ASC
        description: 'DESC: (default) Return posts in descending order. For dates, that means newest to oldest.; ASC: Return posts in ascending order. For dates, that means oldest to newest.'
      - name: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Return posts dated after the specified datetime.
      - name: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Return posts dated before the specified datetime.
      - name: feed_id
        in: query
        required: false
        schema:
          type: integer
        description: The feed_id to fetch the posts from.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /read/following/mine:
    get:
      operationId: getReadFollowingMine
      summary: Get a list of the feeds the user is following.
      description: Get a list of the feeds the user is following.
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscriptions:
                    type: array
                    items: {}
                    description: An array of the feeds the user subscribes to.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes'
      - name: fields
        in: query
        required: false
        schema:
          type: string
        description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title'
      - name: callback
        in: query
        required: false
        schema:
          type: string
        description: An optional JSONP callback function.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /read/following/mine/delete:
    post:
      operationId: postReadFollowingMineDelete
      summary: Unfollow the specified blog.
      description: Unfollow the specified blog.
      tags:
      - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscribed:
                    type: boolean
                    description: Is the user subscribed to the blog?
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - display
          - edit
        description: 'display: (default) Formats the output as HTML for display.  Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing.  Shortcodes are left unparsed, significant whitespace is kept, etc..'
      - name: http_envelope
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code.  Setting this parameter will force the HTTP status code to always be 200.  The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.'
      - name: pretty
        in: query
        required: false
        schema:
          type: boolean
        description: 'false: (default); true: Output pretty JSON'
      - name: meta
        in: query
        r

# --- truncated at 32 KB (281 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/automattic/refs/heads/main/openapi/automattic-read-api-openapi.yml