NewsBlur social API

Blurblogs, sharing, following and comments.

OpenAPI Specification

newsblur-social-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: NewsBlur authentication social API
  description: NewsBlur is a personal news reader (RSS/Atom aggregator) that brings people together to talk about the world. The HTTP API exposes account, feed, story, social ("blurblog"), intelligence-classifier, and OPML import/export operations. This OpenAPI description was generated by API Evangelist from the publicly documented endpoint reference at https://www.newsblur.com/api and the open-source NewsBlur codebase (github.com/samuelclay/NewsBlur). It is a faithful structuring of the documented surface, not a provider-published spec.
  version: '2026.07'
  contact:
    name: NewsBlur
    url: https://www.newsblur.com/api
    email: samuel@newsblur.com
  license:
    name: MIT
    url: https://github.com/samuelclay/NewsBlur/blob/master/LICENSE
  x-source: https://www.newsblur.com/api
servers:
- url: https://www.newsblur.com
  description: Production
security:
- cookieAuth: []
- oauth2Bearer: []
tags:
- name: social
  description: Blurblogs, sharing, following and comments.
paths:
  /social/river_stories:
    get:
      operationId: getSocialRiverStories
      tags:
      - social
      summary: Stories from followed users
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/share_story:
    post:
      operationId: shareStory
      tags:
      - social
      summary: Share a story with optional comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unshare_story:
    post:
      operationId: unshareStory
      tags:
      - social
      summary: Remove a shared story
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/load_user_friends:
    get:
      operationId: loadUserFriends
      tags:
      - social
      summary: Followers and following profiles
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/profile:
    get:
      operationId: getSocialProfile
      tags:
      - social
      summary: A user's public profile
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/load_user_profile:
    get:
      operationId: loadUserProfile
      tags:
      - social
      summary: The current user's private profile details
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/save_user_profile:
    post:
      operationId: saveUserProfile
      tags:
      - social
      summary: Update profile information
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/interactions:
    get:
      operationId: getInteractions
      tags:
      - social
      summary: User interactions
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/activities:
    get:
      operationId: getActivities
      tags:
      - social
      summary: User activity feed
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/follow:
    post:
      operationId: followUser
      tags:
      - social
      summary: Follow a user's blurblog
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unfollow:
    post:
      operationId: unfollowUser
      tags:
      - social
      summary: Unfollow a user
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/mute_user:
    post:
      operationId: muteUser
      tags:
      - social
      summary: Mute a user's content
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unmute_user:
    post:
      operationId: unmuteUser
      tags:
      - social
      summary: Restore a muted user's visibility
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/public_comments:
    get:
      operationId: getPublicComments
      tags:
      - social
      summary: Public comments on a story
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/save_comment_reply:
    post:
      operationId: saveCommentReply
      tags:
      - social
      summary: Add a reply to a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/remove_comment_reply:
    post:
      operationId: removeCommentReply
      tags:
      - social
      summary: Delete a comment reply
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/like_comment:
    post:
      operationId: likeComment
      tags:
      - social
      summary: Favorite a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/remove_like_comment:
    post:
      operationId: removeLikeComment
      tags:
      - social
      summary: Unfavorite a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/find_friends:
    get:
      operationId: findFriends
      tags:
      - social
      summary: Search for users
      responses:
        '200':
          $ref: '#/components/responses/Ok'
components:
  responses:
    Ok:
      description: Success. NewsBlur returns a JSON object; most responses include a `result` field ("ok" or "error").
      content:
        application/json:
          schema:
            type: object
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: newsblur_sessionid
      description: Session cookie set by POST /api/login.
    oauth2Bearer:
      type: http
      scheme: bearer
      description: OAuth 2.0 access token passed as a Bearer token in the Authorization header. Client credentials are issued by NewsBlur (contact samuel@newsblur.com).