Crystal Reports Repository API

Infostore repository navigation and folder browsing

OpenAPI Specification

crystal-reports-repository-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SAP Crystal Reports RESTful Web Services Authentication Repository API
  description: RESTful web services API for SAP Crystal Reports, providing access to report viewing, exporting, data retrieval via OData, and repository navigation through the SAP BusinessObjects BI Platform.
  version: 4.3.0
  contact:
    name: SAP
    url: https://www.sap.com
  license:
    name: Proprietary
    url: https://www.sap.com/about/legal/copyright.html
  x-generated-from: documentation
  x-source-url: https://help.sap.com/doc/sapcrystalreportsrestfulwebservices/4.3/en-US/crrest_api_42SP2.pdf
servers:
- url: http://{host}:{port}/biprws
  description: SAP BusinessObjects BI Platform REST API server
  variables:
    host:
      default: localhost
      description: Hostname of the SAP BusinessObjects server
    port:
      default: '6405'
      description: Port number for the RESTful web services
security:
- sapLogonToken: []
tags:
- name: Repository
  description: Infostore repository navigation and folder browsing
paths:
  /infostore:
    get:
      operationId: browseInfostore
      summary: Crystal Reports Browse the Infostore
      description: Browse the top-level infostore repository to discover available folders and objects.
      tags:
      - Repository
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PreferredViewingLanguage'
      responses:
        '200':
          description: Infostore browsing results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
            application/xml:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 150
  /infostore/Root%20Folder/children:
    get:
      operationId: listRootFolderContents
      summary: Crystal Reports List Root Folder Contents
      description: Returns the children of the Root Folder in the infostore repository.
      tags:
      - Repository
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PreferredViewingLanguage'
      responses:
        '200':
          description: Root folder contents returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
            application/xml:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 150
  /infostore/{folderId}/children:
    get:
      operationId: listFolderContents
      summary: Crystal Reports List Folder Contents by ID
      description: Returns the children of a specific folder identified by its infostore ID.
      tags:
      - Repository
      parameters:
      - $ref: '#/components/parameters/FolderId'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PreferredViewingLanguage'
      responses:
        '200':
          description: Folder contents returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
            application/xml:
              schema:
                $ref: '#/components/schemas/InfostoreEntryList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Folder not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 150
components:
  responses:
    Unauthorized:
      description: Authentication required or token expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    InfostoreEntryList:
      type: object
      description: A collection of infostore entries
      properties:
        entries:
          type: array
          description: List of infostore objects
          items:
            $ref: '#/components/schemas/InfostoreEntry'
          example:
          - id: 4201
            cuid: AaGKDkx9w5RMoGANrfKwmn0
            name: Report Samples
            type: Folder
            description: Sample Crystal Reports
            uri: /biprws/infostore/4201
    InfostoreEntry:
      type: object
      description: An object in the infostore repository (folder, report, etc.)
      properties:
        id:
          type: integer
          description: Unique infostore object identifier
          example: 5765
        cuid:
          type: string
          description: Cluster unique identifier
          example: AaGKDkx9w5RMoGANrfKwmn0
        name:
          type: string
          description: Display name of the object
          example: Sales Report Q4
        type:
          type: string
          description: Object type (e.g., Folder, CrystalReport)
          example: CrystalReport
        description:
          type: string
          description: Object description
          example: Quarterly sales report for all regions
        uri:
          type: string
          description: Relative URI to access this object
          example: /biprws/infostore/5765
    Error:
      type: object
      description: Error response from the API
      properties:
        error_code:
          type: integer
          description: Numeric error code
          example: 401
        message:
          type: string
          description: Human-readable error message
          example: Authentication token is missing or expired
  parameters:
    FolderId:
      name: folderId
      in: path
      required: true
      description: Infostore object ID of the folder
      schema:
        type: integer
        example: 4201
    Accept:
      name: Accept
      in: header
      required: false
      description: Desired response format
      schema:
        type: string
        enum:
        - application/json
        - application/xml
        default: application/json
        example: application/json
    PreferredViewingLanguage:
      name: X-SAP-PVL
      in: header
      required: false
      description: Preferred viewing language for localized content
      schema:
        type: string
        example: en
  securitySchemes:
    sapLogonToken:
      type: apiKey
      name: X-SAP-LogonToken
      in: header
      description: SAP logon token obtained from the /logon/long endpoint. The token value must be enclosed in double quotes when sent in the header.
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication as an alternative to token-based auth