Crystal Reports Instances API

Transient report instance management

OpenAPI Specification

crystal-reports-instances-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SAP Crystal Reports RESTful Web Services Authentication Instances 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: Instances
  description: Transient report instance management
paths:
  /infostore/{reportId}/rpt/instance:
    get:
      operationId: getInstanceForm
      summary: Crystal Reports Get Instance Creation Form
      description: Returns a form template showing the fields needed to create a transient report instance, including SuppressData and ConnectionInfo options.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/ReportId'
      - $ref: '#/components/parameters/Accept'
      responses:
        '200':
          description: Instance creation form returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceForm'
            application/xml:
              schema:
                $ref: '#/components/schemas/InstanceForm'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Report not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 200
    post:
      operationId: createReportInstance
      summary: Crystal Reports Create Transient Report Instance
      description: Creates a transient report instance by submitting the instance creation form with optional SuppressData and ConnectionInfo settings. Returns a resource URI for the created instance.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/ReportId'
      - $ref: '#/components/parameters/Accept'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceForm'
          application/xml:
            schema:
              $ref: '#/components/schemas/InstanceForm'
      responses:
        '201':
          description: Report instance created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportInstance'
            application/xml:
              schema:
                $ref: '#/components/schemas/ReportInstance'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Report not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 500
components:
  parameters:
    ReportId:
      name: reportId
      in: path
      required: true
      description: Infostore object ID of the Crystal Report
      schema:
        type: integer
        example: 5765
    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
  schemas:
    ReportInstance:
      type: object
      description: A transient report instance
      properties:
        report_name:
          type: string
          description: Name of the report
          example: WorldSalesReport.rpt
        resource:
          type: string
          description: URI of the created instance resource
          example: /biprws/infostore/5765/rpt/instance/abc123
        id:
          type: string
          description: Unique identifier of the instance
          example: abc123
    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
    ConnectionInfo:
      type: object
      description: Database connection information for the report instance
      properties:
        userName:
          type: string
          description: Database username
          example: db_user
        password:
          type: string
          description: Database password
          example: db_pass
        serverName:
          type: string
          description: Database server name or address
          example: dbserver.example.com
        databaseName:
          type: string
          description: Database name
          example: SalesDB
    InstanceForm:
      type: object
      description: Form for creating a transient report instance
      properties:
        SuppressData:
          type: boolean
          description: Whether to suppress data retrieval during instance creation
          example: false
        ConnectionInfo:
          $ref: '#/components/schemas/ConnectionInfo'
  responses:
    Unauthorized:
      description: Authentication required or token expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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