SAP Business Intelligence Stories API

Manage analytics stories and dashboards

Documentation

Specifications

Other Resources

OpenAPI Specification

sap-bi-stories-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SAP Business Intelligence SAP Analytics Cloud Catalog Stories API
  description: REST API for SAP Analytics Cloud enabling data integration, story management, model administration, and analytics operations. Provides programmatic access to create and manage stories, models, data imports, and user administration within SAP Analytics Cloud.
  version: '1.0'
  contact:
    name: SAP Support
    url: https://support.sap.com/en/index.html
  termsOfService: https://www.sap.com/about/legal/terms-of-use.html
servers:
- url: https://{tenant}.sapanalytics.cloud/api/v1
  description: SAP Analytics Cloud Tenant
  variables:
    tenant:
      default: mytenant
      description: SAP Analytics Cloud tenant identifier
security:
- oauth2: []
tags:
- name: Stories
  description: Manage analytics stories and dashboards
paths:
  /stories:
    get:
      operationId: listStories
      summary: SAP Business Intelligence List stories
      description: Retrieve a list of all analytics stories accessible to the authenticated user.
      tags:
      - Stories
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: search
        in: query
        description: Search stories by name
        schema:
          type: string
      responses:
        '200':
          description: List of stories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoryCollection'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      operationId: createStory
      summary: SAP Business Intelligence Create a story
      description: Create a new analytics story with specified configuration and layout.
      tags:
      - Stories
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStoryRequest'
      responses:
        '201':
          description: Story created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /stories/{storyId}:
    get:
      operationId: getStory
      summary: SAP Business Intelligence Get a story
      description: Retrieve details of a specific analytics story including its pages and widgets.
      tags:
      - Stories
      parameters:
      - $ref: '#/components/parameters/storyId'
      responses:
        '200':
          description: Story details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '401':
          description: Unauthorized
        '404':
          description: Story not found
    put:
      operationId: updateStory
      summary: SAP Business Intelligence Update a story
      description: Update properties of an existing analytics story.
      tags:
      - Stories
      parameters:
      - $ref: '#/components/parameters/storyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStoryRequest'
      responses:
        '200':
          description: Story updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: Story not found
    delete:
      operationId: deleteStory
      summary: SAP Business Intelligence Delete a story
      description: Delete an existing analytics story.
      tags:
      - Stories
      parameters:
      - $ref: '#/components/parameters/storyId'
      responses:
        '204':
          description: Story deleted
        '401':
          description: Unauthorized
        '404':
          description: Story not found
  /stories/{storyId}/publish:
    post:
      operationId: publishStory
      summary: SAP Business Intelligence Publish a story
      description: Publish an analytics story to make it available to other users.
      tags:
      - Stories
      parameters:
      - $ref: '#/components/parameters/storyId'
      responses:
        '200':
          description: Story published
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '401':
          description: Unauthorized
        '404':
          description: Story not found
components:
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        default: 50
        minimum: 1
        maximum: 1000
    storyId:
      name: storyId
      in: path
      required: true
      description: Story unique identifier
      schema:
        type: string
    offsetParam:
      name: offset
      in: query
      description: Number of results to skip for pagination
      schema:
        type: integer
        default: 0
        minimum: 0
  schemas:
    StoryCollection:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Story'
        totalCount:
          type: integer
          description: Total number of stories available
    CreateStoryRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name for the new story
        description:
          type: string
          description: Description for the story
        folderId:
          type: string
          description: Target folder ID
    Widget:
      type: object
      properties:
        id:
          type: string
          description: Widget unique identifier
        type:
          type: string
          enum:
          - Chart
          - Table
          - Filter
          - Text
          - Image
          - Shape
          description: Type of widget
        name:
          type: string
          description: Widget display name
        modelId:
          type: string
          description: Associated model ID
    UpdateStoryRequest:
      type: object
      properties:
        name:
          type: string
          description: Updated name
        description:
          type: string
          description: Updated description
        folderId:
          type: string
          description: Updated folder ID
    Page:
      type: object
      properties:
        id:
          type: string
          description: Page unique identifier
        name:
          type: string
          description: Page name
        widgets:
          type: array
          items:
            $ref: '#/components/schemas/Widget'
          description: Widgets on the page
    Story:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the story
        name:
          type: string
          description: Name of the story
        description:
          type: string
          description: Description of the story
        createdBy:
          type: string
          description: User who created the story
        createdTime:
          type: string
          format: date-time
          description: When the story was created
        modifiedBy:
          type: string
          description: User who last modified the story
        modifiedTime:
          type: string
          format: date-time
          description: When the story was last modified
        status:
          type: string
          enum:
          - Draft
          - Published
          description: Current publication status
        folderId:
          type: string
          description: ID of the folder containing the story
        pages:
          type: array
          items:
            $ref: '#/components/schemas/Page'
          description: Pages within the story
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication for SAP Analytics Cloud
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.sapanalytics.cloud/oauth/token
          scopes: {}
externalDocs:
  description: SAP Analytics Cloud API Documentation
  url: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD