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