> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capedigital.co.ke/llms.txt
> Use this file to discover all available pages before exploring further.

# List today's gallery stories

> GET /api/v1/stories/today

Returns all stories in the Today's Stories gallery for the current day,
with their scripts and production assets for download.

Query params (optional):
  date=YYYY-MM-DD  — defaults to today



## OpenAPI

````yaml /openapi/content.yaml get /api/v1/stories/today
openapi: 3.0.3
info:
  title: Content Service API
  version: 1.0.0
  description: |2-

        **Content Service API** - Comprehensive content(story) and management system.
        
servers:
  - url: https://api.capedigital.co.ke/content
    description: Production
  - url: http://localhost:8000
    description: Local
security: []
paths:
  /api/v1/stories/today:
    get:
      tags:
        - Stories
      summary: List today's gallery stories
      description: |-
        GET /api/v1/stories/today

        Returns all stories in the Today's Stories gallery for the current day,
        with their scripts and production assets for download.

        Query params (optional):
          date=YYYY-MM-DD  — defaults to today
      operationId: stories_today
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
              examples:
                StoryResponse:
                  value:
                    id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    reference: CT-2026-001
                    title: Government announces new economic policy
                    location: Nairobi
                    summary: >-
                      The government has announced a sweeping new economic
                      policy...
                    category: Politics
                    treatment: Package
                    estimated_duration: 120
                    urgency_level: high
                    status: pending
                    node: NODE_PITCH
                    created_at: '2026-05-27T08:00:00Z'
                    updated_at: '2026-05-27T08:00:00Z'
                    reporter:
                      id: 3c90c3cc-0d44-4b50-8888-8dd25736052a
                      name: James Wanjiru
                      employee_number: EMP-004
                  summary: Story response
          description: ''
      security:
        - bearerAuth: []
components:
  schemas:
    Story:
      type: object
      description: Basic story serializer for list views.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        reference:
          type: string
          nullable: true
          description: Generated reference string
          maxLength: 30
        title:
          type: string
          description: The title of the story
          maxLength: 255
        location:
          type: string
          nullable: true
          description: The location of the story (city, region, etc)
          maxLength: 255
        summary:
          type: string
          description: The summary of the story
        category:
          type: string
          format: uuid
        treatment:
          type: string
          format: uuid
        classification:
          enum:
            - national
            - mashinani
            - breaking
            - ''
            - null
          type: string
          x-spec-enum-id: 8f2a424f5bae516e
          nullable: true
          description: >-
            Editorial classification of the story (national reach,
            mashinani/local, or breaking)


            * `national` - National

            * `mashinani` - Mashinani

            * `breaking` - Breaking
        platform:
          enum:
            - television
            - radio
            - ''
            - null
          type: string
          x-spec-enum-id: 562fafbd4b066458
          nullable: true
          description: |-
            Intended broadcast medium, set at story creation

            * `television` - Television
            * `radio` - Radio
        estimated_duration:
          type: string
          nullable: true
          description: Estimated duration for story completion
        urgency_level:
          enum:
            - low
            - medium
            - high
            - urgent
            - ''
            - null
          type: string
          x-spec-enum-id: a7d3359884510a2e
          nullable: true
          description: |-
            Story priority level

            * `low` - Low
            * `medium` - Medium
            * `high` - High
            * `urgent` - Breaking
        deadline:
          type: string
          format: date-time
          nullable: true
          description: Story deadline set by editor at pitch approval (node 3)
        status:
          type: string
          readOnly: true
          description: Human-readable workflow status (cached from workflow engine)
        node:
          type: string
          readOnly: true
          nullable: true
          description: Current workflow node reference number (cached for performance)
        assigned_reporter:
          type: string
          format: uuid
          nullable: true
          description: >-
            Reporter commissioned by an editor at creation. When set, the story
            skips pitch approval and starts directly at the morning outlook
            node, assigned to this reporter (assignment-desk flow).
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        reporter:
          type: string
          readOnly: true
      required:
        - category
        - created_at
        - id
        - node
        - reporter
        - status
        - summary
        - title
        - treatment
        - updated_at
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Enter your JWT token in the format: Bearer <token>'

````