SAP Business Intelligence Models API

Manage data models and dimensions

Documentation

Specifications

Other Resources

OpenAPI Specification

sap-bi-models-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SAP Business Intelligence SAP Analytics Cloud Catalog Models 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: Models
  description: Manage data models and dimensions
paths:
  /models:
    get:
      operationId: listModels
      summary: SAP Business Intelligence List models
      description: Retrieve a list of all data models available in the tenant.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: List of models
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelCollection'
        '401':
          description: Unauthorized
    post:
      operationId: createModel
      summary: SAP Business Intelligence Create a model
      description: Create a new data model with specified dimensions and measures.
      tags:
      - Models
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateModelRequest'
      responses:
        '201':
          description: Model created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /models/{modelId}:
    get:
      operationId: getModel
      summary: SAP Business Intelligence Get a model
      description: Retrieve details of a specific data model including dimensions and measures.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/modelId'
      responses:
        '200':
          description: Model details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '401':
          description: Unauthorized
        '404':
          description: Model not found
    put:
      operationId: updateModel
      summary: SAP Business Intelligence Update a model
      description: Update properties of an existing data model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/modelId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateModelRequest'
      responses:
        '200':
          description: Model updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: Model not found
    delete:
      operationId: deleteModel
      summary: SAP Business Intelligence Delete a model
      description: Delete an existing data model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/modelId'
      responses:
        '204':
          description: Model deleted
        '401':
          description: Unauthorized
        '404':
          description: Model not found
  /models/{modelId}/dimensions:
    get:
      operationId: listModelDimensions
      summary: SAP Business Intelligence List model dimensions
      description: Retrieve all dimensions defined in a specific model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/modelId'
      responses:
        '200':
          description: List of dimensions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DimensionCollection'
        '401':
          description: Unauthorized
        '404':
          description: Model not found
  /models/{modelId}/measures:
    get:
      operationId: listModelMeasures
      summary: SAP Business Intelligence List model measures
      description: Retrieve all measures defined in a specific model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/modelId'
      responses:
        '200':
          description: List of measures
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeasureCollection'
        '401':
          description: Unauthorized
        '404':
          description: Model 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
    modelId:
      name: modelId
      in: path
      required: true
      description: Model 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:
    DimensionCollection:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Dimension'
    UpdateModelRequest:
      type: object
      properties:
        name:
          type: string
          description: Updated name
        description:
          type: string
          description: Updated description
    MeasureCollection:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Measure'
    Dimension:
      type: object
      properties:
        id:
          type: string
          description: Dimension unique identifier
        name:
          type: string
          description: Dimension name
        description:
          type: string
          description: Dimension description
        type:
          type: string
          enum:
          - Generic
          - Account
          - Date
          - Organization
          - Version
          description: Dimension type
    CreateModelRequest:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: Name for the new model
        description:
          type: string
          description: Description for the model
        type:
          type: string
          enum:
          - Planning
          - Analytic
          - Dataset
          description: Model type
    Model:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the model
        name:
          type: string
          description: Name of the model
        description:
          type: string
          description: Description of the model
        type:
          type: string
          enum:
          - Planning
          - Analytic
          - Dataset
          description: Model type
        createdBy:
          type: string
          description: User who created the model
        createdTime:
          type: string
          format: date-time
          description: When the model was created
        modifiedTime:
          type: string
          format: date-time
          description: When the model was last modified
        dimensions:
          type: array
          items:
            $ref: '#/components/schemas/Dimension'
          description: Dimensions in the model
        measures:
          type: array
          items:
            $ref: '#/components/schemas/Measure'
          description: Measures in the model
    Measure:
      type: object
      properties:
        id:
          type: string
          description: Measure unique identifier
        name:
          type: string
          description: Measure name
        description:
          type: string
          description: Measure description
        aggregationType:
          type: string
          enum:
          - SUM
          - COUNT
          - AVG
          - MIN
          - MAX
          description: Aggregation type for the measure
    ModelCollection:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Model'
        totalCount:
          type: integer
          description: Total number of models available
  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