Crystal Reports Metadata API

Report structure and metadata

Operations 1

GET /infostore/{reportId}/rpt/structure Crystal Reports Get Report Structure and Metadata #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/crystal-reports-metadata-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

crystal-reports-metadata-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SAP Crystal Reports RESTful Web Services Authentication Metadata 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: Metadata
  description: Report structure and metadata
paths:
  /infostore/{reportId}/rpt/structure:
    get:
      operationId: getReportStructure
      summary: Crystal Reports Get Report Structure and Metadata
      description: Returns the full structural metadata of a Crystal Report including datasources, used fields, group conditions, parameters, summary fields, running totals, formulas, and subreports.
      tags:
      - Metadata
      parameters:
      - $ref: '#/components/parameters/ReportId'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PreferredViewingLanguage'
      responses:
        '200':
          description: Report structure returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportStructure'
            application/xml:
              schema:
                $ref: '#/components/schemas/ReportStructure'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Report not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 300
components:
  responses:
    Unauthorized:
      description: Authentication required or token expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    DataSource:
      type: object
      description: A data source connection used by the report
      properties:
        name:
          type: string
          description: Name of the data source
          example: xtreme
        type:
          type: string
          description: Type of data source connection
          example: JDBC (JNDI)
        tables:
          type: array
          description: Tables used from this data source
          items:
            type: string
          example:
          - Customer
          - Orders
    Subreport:
      type: object
      description: A subreport embedded within the main report
      properties:
        name:
          type: string
          description: Subreport name
          example: OrderDetails
        uri:
          type: string
          description: URI to access the subreport
          example: /biprws/infostore/5765/rpt/subreport/OrderDetails
    UsedField:
      type: object
      description: A field used in the report
      properties:
        name:
          type: string
          description: Field name
          example: Customer Name
        table:
          type: string
          description: Table the field belongs to
          example: Customer
        type:
          type: string
          description: Data type of the field
          example: String
    GroupCondition:
      type: object
      description: A group condition defining how report data is grouped
      properties:
        field:
          type: string
          description: Field used for grouping
          example: Country
        direction:
          type: string
          description: Sort direction of the group
          enum:
          - Ascending
          - Descending
          example: Ascending
    SummaryField:
      type: object
      description: A summary or aggregate field in the report
      properties:
        name:
          type: string
          description: Summary field name
          example: Sum of Order Amount
        operation:
          type: string
          description: Aggregation operation
          example: Sum
        field:
          type: string
          description: Source field being summarized
          example: Order Amount
    ReportParameter:
      type: object
      description: A parameter that can be set when running the report
      properties:
        name:
          type: string
          description: Parameter name
          example: StartDate
        type:
          type: string
          description: Data type of the parameter
          example: Date
        prompt:
          type: string
          description: Prompt text shown to the user
          example: Enter the start date
        required:
          type: boolean
          description: Whether the parameter is required
          example: true
        default_value:
          type: string
          description: Default value for the parameter
          example: '2023-01-01'
    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
    ReportStructure:
      type: object
      description: Full structural metadata of a Crystal Report
      properties:
        datasources:
          type: array
          description: Data sources used by the report
          items:
            $ref: '#/components/schemas/DataSource'
        usedfields:
          type: array
          description: Fields used in the report
          items:
            $ref: '#/components/schemas/UsedField'
        groupconditions:
          type: array
          description: Group conditions defined in the report
          items:
            $ref: '#/components/schemas/GroupCondition'
        parameters:
          type: array
          description: Report parameters
          items:
            $ref: '#/components/schemas/ReportParameter'
        summary:
          type: array
          description: Summary fields in the report
          items:
            $ref: '#/components/schemas/SummaryField'
        runningtotals:
          type: array
          description: Running total fields
          items:
            $ref: '#/components/schemas/RunningTotal'
        formulas:
          type: array
          description: Formula fields defined in the report
          items:
            $ref: '#/components/schemas/Formula'
        subreports:
          type: array
          description: Subreports embedded in the report
          items:
            $ref: '#/components/schemas/Subreport'
    Formula:
      type: object
      description: A formula field defined in the report
      properties:
        name:
          type: string
          description: Formula field name
          example: FullAddress
        text:
          type: string
          description: Formula expression text
          example: '{Customer.Address1} & ", " & {Customer.City}'
    RunningTotal:
      type: object
      description: A running total field
      properties:
        name:
          type: string
          description: Running total field name
          example: RunningTotal_OrderAmount
        field:
          type: string
          description: Field being totaled
          example: Order Amount
        operation:
          type: string
          description: Aggregation operation
          example: Sum
        reset_condition:
          type: string
          description: Condition that resets the running total
          example: OnGroupChange
  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
    ReportId:
      name: reportId
      in: path
      required: true
      description: Infostore object ID of the Crystal Report
      schema:
        type: integer
        example: 5765
    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