Crystal Reports Authentication API

Logon and session management

OpenAPI Specification

crystal-reports-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SAP Crystal Reports RESTful Web Services Authentication 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: Authentication
  description: Logon and session management
paths:
  /logon/long:
    get:
      operationId: getLogonForm
      summary: Crystal Reports Get Logon Form Template
      description: Returns a JSON or XML template for the logon request body, showing the required fields for authentication.
      tags:
      - Authentication
      security: []
      parameters:
      - $ref: '#/components/parameters/Accept'
      responses:
        '200':
          description: Logon form template returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogonRequest'
            application/xml:
              schema:
                $ref: '#/components/schemas/LogonRequest'
      x-microcks-operation:
        delay: 100
    post:
      operationId: logon
      summary: Crystal Reports Authenticate with Username and Password
      description: Authenticates a user against the SAP BusinessObjects BI Platform and returns an X-SAP-LogonToken header for subsequent requests.
      tags:
      - Authentication
      security: []
      parameters:
      - $ref: '#/components/parameters/Accept'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogonRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/LogonRequest'
      responses:
        '200':
          description: Authentication successful
          headers:
            X-SAP-LogonToken:
              description: Session logon token enclosed in quotes
              schema:
                type: string
                example: '"COMMANDCOM-LCM:6400@{3&2=5697,U3&p=40623.9596541551,Y7&4F&68&z=_3P05,UP&66&UF=02twEaVJw0H1xh3KHPg3S7x.mhc0RWgGLQo1jW.aQbs5Q&42&0F=Ax3kVubd7nkS0DmUxkxGr5J"'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogonResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/LogonResponse'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 200
components:
  schemas:
    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
    LogonResponse:
      type: object
      description: Response containing the logon token after successful authentication
      properties:
        logonToken:
          type: string
          description: Session token for subsequent API calls (include in X-SAP-LogonToken header with quotes)
          example: COMMANDCOM-LCM:6400@{3&2=5697,U3&p=40623.9596541551,Y7&4F&68&z=_3P05,UP&66&UF=02twEaVJw0H1xh3KHPg3S7x.mhc0RWgGLQo1jW.aQbs5Q&42&0F=Ax3kVubd7nkS0DmUxkxGr5J
    LogonRequest:
      type: object
      description: Logon credentials for authenticating against the BI Platform
      properties:
        userName:
          type: string
          description: Username for authentication
          example: Administrator
        password:
          type: string
          description: Password for the user account
          example: P@ssw0rd
        auth:
          type: string
          description: Authentication type to use
          enum:
          - secEnterprise
          - secLDAP
          - secWinAD
          - secSAPR3
          example: secEnterprise
      required:
      - userName
      - password
      - auth
  parameters:
    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
  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