openapi: 3.1.0 info: title: SAP Business Intelligence SAP BusinessObjects BI Platform REST API description: >- RESTful web services for SAP BusinessObjects BI Platform administration, content management, scheduling, and reporting. Provides access to manage reports, users, folders, server infrastructure, and content within the BusinessObjects environment via the biprws endpoint. 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 externalDocs: description: SAP BusinessObjects BI Platform REST API Documentation url: https://help.sap.com/docs/SAP_BUSINESSOBJECTS_BUSINESS_INTELLIGENCE_PLATFORM servers: - url: https://{server}:{port}/biprws description: SAP BusinessObjects BI Platform Server variables: server: default: localhost description: BI Platform server hostname port: default: '6405' description: BI Platform server port tags: - name: InfoObjects description: Manage BI platform content objects - name: Instances description: Manage scheduled report instances - name: Logon description: Authentication and session management - name: Reports description: Manage and schedule reports - name: Servers description: Monitor and manage BI Platform servers - name: Users description: Manage users and groups security: - logonToken: [] paths: /logon/long: post: operationId: logon summary: SAP Business Intelligence Log on to BI Platform description: >- Authenticate to the BI Platform and obtain a logon token for subsequent API calls. tags: - Logon security: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LogonRequest' responses: '200': description: Logon successful content: application/json: schema: $ref: '#/components/schemas/LogonResponse' '401': description: Invalid credentials /logoff: post: operationId: logoff summary: SAP Business Intelligence Log off from BI Platform description: >- Invalidate the current logon token and end the session. tags: - Logon responses: '200': description: Logoff successful '401': description: Unauthorized /infostore: get: operationId: listInfoObjects summary: SAP Business Intelligence List InfoObjects description: >- Query and retrieve InfoObjects from the BI Platform content management system using CMS queries. tags: - InfoObjects parameters: - name: query in: query description: CMS query string to filter objects schema: type: string - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: List of InfoObjects content: application/json: schema: $ref: '#/components/schemas/InfoObjectCollection' '401': description: Unauthorized /infostore/{objectId}: get: operationId: getInfoObject summary: SAP Business Intelligence Get an InfoObject description: >- Retrieve details of a specific InfoObject by its ID. tags: - InfoObjects parameters: - $ref: '#/components/parameters/objectId' responses: '200': description: InfoObject details content: application/json: schema: $ref: '#/components/schemas/InfoObject' '401': description: Unauthorized '404': description: InfoObject not found put: operationId: updateInfoObject summary: SAP Business Intelligence Update an InfoObject description: >- Update properties of an existing InfoObject. tags: - InfoObjects parameters: - $ref: '#/components/parameters/objectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateInfoObjectRequest' responses: '200': description: InfoObject updated content: application/json: schema: $ref: '#/components/schemas/InfoObject' '400': description: Invalid request '401': description: Unauthorized '404': description: InfoObject not found delete: operationId: deleteInfoObject summary: SAP Business Intelligence Delete an InfoObject description: >- Delete an InfoObject from the BI Platform. tags: - InfoObjects parameters: - $ref: '#/components/parameters/objectId' responses: '204': description: InfoObject deleted '401': description: Unauthorized '404': description: InfoObject not found /infostore/{objectId}/children: get: operationId: listInfoObjectChildren summary: SAP Business Intelligence List children of an InfoObject description: >- Retrieve child objects of a folder or container InfoObject. tags: - InfoObjects parameters: - $ref: '#/components/parameters/objectId' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: List of child InfoObjects content: application/json: schema: $ref: '#/components/schemas/InfoObjectCollection' '401': description: Unauthorized '404': description: Parent InfoObject not found /documents/{documentId}: get: operationId: getDocument summary: SAP Business Intelligence Get a report document description: >- Retrieve a specific report document with its metadata. tags: - Reports parameters: - $ref: '#/components/parameters/documentId' responses: '200': description: Report document details content: application/json: schema: $ref: '#/components/schemas/Report' '401': description: Unauthorized '404': description: Document not found /documents/{documentId}/parameters: get: operationId: listDocumentParameters summary: SAP Business Intelligence List report parameters description: >- Retrieve the prompt parameters for a report document. tags: - Reports parameters: - $ref: '#/components/parameters/documentId' responses: '200': description: Report parameters content: application/json: schema: $ref: '#/components/schemas/ParameterCollection' '401': description: Unauthorized '404': description: Document not found /documents/{documentId}/dataproviders: get: operationId: listDataProviders summary: SAP Business Intelligence List data providers description: >- Retrieve data providers associated with a report document. tags: - Reports parameters: - $ref: '#/components/parameters/documentId' responses: '200': description: List of data providers content: application/json: schema: $ref: '#/components/schemas/DataProviderCollection' '401': description: Unauthorized '404': description: Document not found /infostore/{objectId}/schedules: get: operationId: listSchedules summary: SAP Business Intelligence List schedules for an object description: >- Retrieve all schedules configured for a specific InfoObject. tags: - Instances parameters: - $ref: '#/components/parameters/objectId' responses: '200': description: List of schedules content: application/json: schema: $ref: '#/components/schemas/ScheduleCollection' '401': description: Unauthorized '404': description: InfoObject not found post: operationId: scheduleObject summary: SAP Business Intelligence Schedule an object description: >- Create a new schedule for a report or program object. tags: - Instances parameters: - $ref: '#/components/parameters/objectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateScheduleRequest' responses: '201': description: Schedule created content: application/json: schema: $ref: '#/components/schemas/Schedule' '400': description: Invalid request '401': description: Unauthorized '404': description: InfoObject not found /infostore/{objectId}/instances: get: operationId: listInstances summary: SAP Business Intelligence List instances of an object description: >- Retrieve all report instances generated from scheduling or on-demand execution. tags: - Instances parameters: - $ref: '#/components/parameters/objectId' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: List of instances content: application/json: schema: $ref: '#/components/schemas/InstanceCollection' '401': description: Unauthorized '404': description: InfoObject not found /users: get: operationId: listUsers summary: SAP Business Intelligence List users description: >- Retrieve a list of users in the BI Platform. tags: - Users parameters: - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: List of users content: application/json: schema: $ref: '#/components/schemas/UserCollection' '401': description: Unauthorized /users/{userId}: get: operationId: getUser summary: SAP Business Intelligence Get a user description: >- Retrieve details of a specific user. tags: - Users parameters: - $ref: '#/components/parameters/userId' responses: '200': description: User details content: application/json: schema: $ref: '#/components/schemas/BOBJUser' '401': description: Unauthorized '404': description: User not found /servers: get: operationId: listServers summary: SAP Business Intelligence List servers description: >- Retrieve a list of all servers in the BI Platform deployment. tags: - Servers responses: '200': description: List of servers content: application/json: schema: $ref: '#/components/schemas/ServerCollection' '401': description: Unauthorized /servers/{serverId}: get: operationId: getServer summary: SAP Business Intelligence Get a server description: >- Retrieve details and status of a specific BI Platform server. tags: - Servers parameters: - $ref: '#/components/parameters/serverId' responses: '200': description: Server details content: application/json: schema: $ref: '#/components/schemas/Server' '401': description: Unauthorized '404': description: Server not found components: securitySchemes: logonToken: type: apiKey in: header name: X-SAP-LogonToken description: SAP BusinessObjects logon token obtained from the logon endpoint parameters: objectId: name: objectId in: path required: true description: InfoObject unique identifier (CUID or SI_ID) schema: type: string documentId: name: documentId in: path required: true description: Report document unique identifier schema: type: string userId: name: userId in: path required: true description: User unique identifier schema: type: string serverId: name: serverId in: path required: true description: Server unique identifier schema: type: string limitParam: name: limit in: query description: Maximum number of results to return schema: type: integer default: 50 minimum: 1 maximum: 1000 offsetParam: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 minimum: 0 schemas: LogonRequest: type: object required: - userName - password - auth properties: userName: type: string description: Login username password: type: string description: Login password auth: type: string enum: - secEnterprise - secLDAP - secWinAD - secSAPR3 description: Authentication type LogonResponse: type: object properties: logonToken: type: string description: Authentication token for subsequent requests InfoObjectCollection: type: object properties: entries: type: array items: $ref: '#/components/schemas/InfoObject' totalCount: type: integer description: Total number of matching objects InfoObject: type: object properties: SI_ID: type: integer description: System identifier SI_CUID: type: string description: Cluster unique identifier SI_NAME: type: string description: Object name SI_DESCRIPTION: type: string description: Object description SI_KIND: type: string description: Object type kind SI_OWNER: type: string description: Object owner SI_CREATION_TIME: type: string format: date-time description: When the object was created SI_UPDATE_TS: type: string format: date-time description: When the object was last updated SI_PARENT_FOLDER: type: integer description: Parent folder ID UpdateInfoObjectRequest: type: object properties: SI_NAME: type: string description: Updated object name SI_DESCRIPTION: type: string description: Updated description Report: type: object properties: id: type: integer description: Report unique identifier cuid: type: string description: Cluster unique identifier name: type: string description: Report name description: type: string description: Report description type: type: string enum: - CrystalReport - Webi - Publication description: Report type owner: type: string description: Report owner createdTime: type: string format: date-time description: When the report was created modifiedTime: type: string format: date-time description: When the report was last modified folderId: type: integer description: Parent folder ID ParameterCollection: type: object properties: parameters: type: array items: $ref: '#/components/schemas/Parameter' Parameter: type: object properties: id: type: string description: Parameter identifier name: type: string description: Parameter name type: type: string description: Parameter data type optional: type: boolean description: Whether the parameter is optional allowMultipleValues: type: boolean description: Whether multiple values can be provided defaultValues: type: array items: type: string description: Default parameter values DataProviderCollection: type: object properties: dataproviders: type: array items: $ref: '#/components/schemas/DataProvider' DataProvider: type: object properties: id: type: string description: Data provider identifier name: type: string description: Data provider name dataSourceType: type: string description: Type of data source query: type: string description: Query text ScheduleCollection: type: object properties: schedules: type: array items: $ref: '#/components/schemas/Schedule' Schedule: type: object properties: id: type: string description: Schedule unique identifier name: type: string description: Schedule name status: type: string enum: - Active - Paused - Completed description: Schedule status recurrenceType: type: string enum: - Once - Daily - Weekly - Monthly description: Recurrence pattern nextRunTime: type: string format: date-time description: Next scheduled run time format: type: string enum: - PDF - Excel - CSV - HTML description: Output format CreateScheduleRequest: type: object required: - name - recurrenceType properties: name: type: string description: Schedule name recurrenceType: type: string enum: - Once - Daily - Weekly - Monthly description: Recurrence pattern startTime: type: string format: date-time description: When the schedule starts endTime: type: string format: date-time description: When the schedule ends format: type: string enum: - PDF - Excel - CSV - HTML description: Output format InstanceCollection: type: object properties: instances: type: array items: $ref: '#/components/schemas/Instance' totalCount: type: integer description: Total number of instances Instance: type: object properties: id: type: integer description: Instance unique identifier name: type: string description: Instance title status: type: string enum: - Pending - Running - Success - Failed - Paused description: Execution status startTime: type: string format: date-time description: When the instance began running endTime: type: string format: date-time description: When the instance completed format: type: string description: Output format UserCollection: type: object properties: entries: type: array items: $ref: '#/components/schemas/BOBJUser' totalCount: type: integer description: Total number of users BOBJUser: type: object properties: SI_ID: type: integer description: User system identifier SI_NAME: type: string description: Username SI_DESCRIPTION: type: string description: User description SI_EMAIL_ADDRESS: type: string format: email description: User email address SI_DISABLED: type: boolean description: Whether the user account is disabled SI_NAMEDUSER: type: boolean description: Whether the user is a named user ServerCollection: type: object properties: servers: type: array items: $ref: '#/components/schemas/Server' Server: type: object properties: id: type: integer description: Server unique identifier name: type: string description: Server name kind: type: string description: Server type status: type: string enum: - Running - Stopped - Starting - Stopping description: Current server status hostname: type: string description: Server hostname port: type: integer description: Server port pid: type: integer description: Process ID