Aligned News Bundles API

Curated groupings of related stories around themes.

OpenAPI Specification

aligned-news-bundles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Aligned News REST Bundles API
  description: 'Read-only REST API for the Aligned News AI intelligence platform.


    The API exposes Aligned News'' Stories, Signals, Reports, Bundles, the

    section-grouped news feed, and full-text search. All endpoints require an

    API key passed as `Authorization: Bearer alnw_...`. API keys are issued to

    Pro and Enterprise subscribers from their account page at

    https://alignednews.com/account.


    Note: this specification was reconstructed by inspecting the Aligned News

    web application bundle and the published MCP server reference implementation

    (https://alignednews.com/mcp-server.ts). The provider does not currently

    publish a machine-readable API description.

    '
  version: 1.0.0
  contact:
    name: Aligned News
    url: https://alignednews.com/developers
  license:
    name: Aligned News Terms of Service
    url: https://alignednews.com/
servers:
- url: https://alignednews.com/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Bundles
  description: Curated groupings of related stories around themes.
paths:
  /bundles:
    get:
      tags:
      - Bundles
      summary: List Bundles
      description: List bundles, each grouping a set of related stories around a theme.
      operationId: listBundles
      parameters:
      - name: limit
        in: query
        description: Maximum number of bundles to return.
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      responses:
        '200':
          description: A list of bundles.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BundleListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /bundles/{id}:
    get:
      tags:
      - Bundles
      summary: Get Bundle
      description: Retrieve a single bundle by ID, including all member stories.
      operationId: getBundle
      parameters:
      - $ref: '#/components/parameters/BundleId'
      responses:
        '200':
          description: A single bundle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BundleResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Story:
      type: object
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
        slug:
          type: string
        section:
          type: string
        summary:
          type: string
        body:
          type: string
          description: Full story body. Returned by single-story responses.
        url:
          type: string
          format: uri
        tags:
          type: array
          items:
            type: string
        publishedAt:
          type: string
          format: date-time
    BundleResponse:
      type: object
      required:
      - data
      properties:
        data:
          $ref: '#/components/schemas/Bundle'
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Machine-readable error code.
              example: unauthorized
            message:
              type: string
              description: Human-readable error message.
              example: Invalid or missing API key. Include Authorization Bearer alnw_... header.
    Bundle:
      type: object
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
        summary:
          type: string
        stories:
          type: array
          items:
            $ref: '#/components/schemas/Story'
        publishedAt:
          type: string
          format: date-time
    BundleListResponse:
      type: object
      required:
      - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Bundle'
  responses:
    Unauthorized:
      description: API key missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    BundleId:
      name: id
      in: path
      required: true
      description: Bundle UUID.
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: alnw_*
      description: API key issued from https://alignednews.com/account, presented as Authorization Bearer alnw_...