openapi: 3.0.0
info:
  title: CDQ Analytics API
  description: >-
    Service allows to generate and obtain various reporting artifacts such as
    excel reports and charts in a unified, flexible and secure way
  version: 1.0.0
  x-cdq-internal-api: true
servers:
  - url: >-
      https://analytics-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/api/rest/soap/v1
    description: Production SOAP
  - url: >-
      https://analytics-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/api/rest
    description: Production
tags:
  - name: Job
    description: Operations for creating and querying reporting jobs.
  - name: Artifact
    description: Operations for querying artifact related metadata.
paths:
  /artifacts:
    get:
      tags:
        - Artifact
      summary: List Artifacts
      description: Returns a list of `ArtifactInfo` objects.
      operationId: list_artifacts_artifacts_get
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: type
          in: query
          required: false
          schema:
            type: string
            description: >-
              Type of the artifact (currently only report artifacts are
              supported).
            title: Type
          description: >-
            Type of the artifact (currently only report artifacts are
            supported).
        - name: dataClinicEnabledOnly
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Flag controlling whether the response should include only Data
              Clinic standard reports.
            default: true
            title: Dataclinicenabledonly
          description: >-
            Flag controlling whether the response should include only Data
            Clinic standard reports.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 0
            title: Page
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            default: 100
            title: Pagesize
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactList'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
  /artifacts/{id}/info:
    get:
      tags:
        - Artifact
      summary: Get Artifact Info
      description: Returns a single `ArtifactInfo` object.
      operationId: get_artifact_info_artifacts__id__info_get
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: String identifier of the requested artifact.
            title: Id
          description: String identifier of the requested artifact.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactInfo'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
  /artifacts/fileFormats:
    get:
      tags:
        - Artifact
      summary: Get Artifact File Formats
      description: >-
        Returns a list of `ArtifactFileFormat` objects.

        Each object's `id` property value can be used as the input for the
        `format`

        parameter of the `/jobs/create` request body.
      operationId: get_artifact_file_formats_artifacts_fileFormats_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactFileFormats'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - APIKeyHeader: []
        - authorization: []
  /jobs/list:
    get:
      tags:
        - Job
      summary: List Jobs
      operationId: list_jobs_jobs_list_get
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: reportType
          in: query
          required: false
          schema:
            type: string
            title: Reporttype
        - name: storageId
          in: query
          required: false
          schema:
            type: string
            title: Storageid
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 0
            title: Page
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            default: 100
            title: Pagesize
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobList'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
  /jobs/create:
    post:
      tags:
        - Job
      summary: Create Standard Report
      description: Submits a standard reporting job for execution.
      operationId: create_standard_report_jobs_create_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobConfig'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportingDataMissing'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - APIKeyHeader: []
        - authorization: []
  /jobs/contentPackReport/create:
    post:
      tags:
        - Job
      summary: Create Content Pack Report
      description: Triggers reporting job generating Content Pack Report.
      operationId: create_content_pack_report_jobs_contentPackReport_create_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentPackReportConfig'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportingDataMissing'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - APIKeyHeader: []
        - authorization: []
  /jobs/bankAccountTrustScoresReport/create:
    post:
      tags:
        - Job
      summary: Create Bank Account Trust Scores Report
      description: Triggers reporting job generating Bank Account Trust Scores Report.
      operationId: >-
        create_bank_account_trust_scores_report_jobs_bankAccountTrustScoresReport_create_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrustScoreReportConfig'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportingDataMissing'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - APIKeyHeader: []
        - authorization: []
  /jobs/{id}:
    get:
      tags:
        - Job
      summary: Get Job Status
      description: Fetches a single job including status and results.
      operationId: get_job_status_jobs__id__get
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: Job UUID
            title: Id
          description: Job UUID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResult'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
    delete:
      tags:
        - Job
      summary: Delete Job
      description: Deletes job's metadata and artifacts.
      operationId: delete_job_jobs__id__delete
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: Job UUID
            title: Id
          description: Job UUID
      responses:
        '204':
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
  /jobs/{id}/attachments/{ticket}/url:
    get:
      tags:
        - Job
      summary: Get Job Attachment Url
      description: |-
        Generates a download url for a single job attachment.
        The url is currently valid for two hours.
      operationId: get_job_attachment_url_jobs__id__attachments__ticket__url_get
      security:
        - APIKeyHeader: []
        - authorization: []
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: Job UUID
            title: Id
          description: Job UUID
        - name: ticket
          in: path
          required: true
          schema:
            type: string
            description: Name and extension of the job result file.
            title: Ticket
          description: Name and extension of the job result file.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobAttachment'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotSupported'
          description: Method Not Allowed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
components:
  schemas:
    AdditionalAttribute:
      properties:
        name:
          type: string
          title: Name
        path:
          type: string
          title: Path
      type: object
      required:
        - name
        - path
      title: AdditionalAttribute
    ArtifactFileFormat:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
      type: object
      required:
        - id
        - label
      title: ArtifactFileFormat
    ArtifactFileFormats:
      properties:
        page:
          type: integer
          title: Page
          default: 1
        pageSize:
          type: integer
          title: Pagesize
          default: 2
        total:
          type: integer
          title: Total
          default: 2
        values:
          items:
            $ref: '#/components/schemas/ArtifactFileFormat'
          type: array
          title: Values
      type: object
      title: ArtifactFileFormats
    ArtifactIdEnum:
      type: string
      enum:
        - data_defects_report
        - data_quality_augmentation_report
        - defective_records_report
        - defects_per_country_map_chart
        - defective_records_map_chart
        - identifier_qualification_report
        - identifier_qualification_per_decision_report
        - updates_report
        - subscriptions_report
        - natural_person_screening_report
        - address_curation_report
        - legal_entity_curation_report
        - overlap_report
        - data_mirror_dump_report
        - dnb_dump_report
        - technical_report
        - content_pack_report
        - sanction_watchlist_screening_report
        - bank_account_trust_scores_report
        - hcp_hco_monitoring_report
        - augmented_business_partner_report
        - legal_entity_report_v3
        - duplicate_matching_report
        - aml_guard_report
      title: ArtifactIdEnum
    ArtifactInfo:
      properties:
        id:
          type: string
          title: Id
          description: Id of a reporting artifact.
          example: data_defects_report
        label:
          type: string
          title: Label
          description: Human friendly name of the artifact.
        typeOf:
          type: string
          title: Typeof
          description: Base type of the artifact.
          example: Report
        domain:
          type: string
          title: Domain
          description: The domain the artifact is assigned to.
          example: validation
        description:
          type: string
          title: Description
          description: Detailed description of the artifact.
        schema:
          $ref: '#/components/schemas/Schema'
        features:
          items:
            $ref: '#/components/schemas/ReportingFeature'
          type: array
          title: Features
          description: List of reporting features supported.
        quickFilters:
          items:
            $ref: '#/components/schemas/QuickFilter'
          type: array
          title: Quickfilters
          description: List of quick filters supported.
      type: object
      required:
        - id
        - label
        - typeOf
        - domain
        - description
        - schema
      title: ArtifactInfo
    ArtifactList:
      properties:
        page:
          type: integer
          title: Page
          description: The number of requested page. Starts from 0.
          example: 0
        pageSize:
          type: integer
          title: Pagesize
          description: >-
            The number or items to include in a single page. If the resulting
            number of items will be lower than the input, page size will show
            the number of returned items.
          example: 17
        total:
          type: integer
          title: Total
          description: Describes the number of all jobs available for the user.
          example: 150
        values:
          items:
            $ref: '#/components/schemas/ArtifactInfo'
          type: array
          title: Values
      type: object
      required:
        - page
        - pageSize
        - total
        - values
      title: ArtifactList
    BadRequest:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: BadRequest
    ColumnInfo:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
        type:
          type: string
          title: Type
        description:
          type: string
          title: Description
        groupId:
          type: string
          title: Groupid
      type: object
      required:
        - id
        - label
        - type
        - description
      title: ColumnInfo
    ColumnInfoExtended:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
        type:
          type: string
          title: Type
        description:
          type: string
          title: Description
        groupId:
          type: string
          title: Groupid
        options:
          items:
            $ref: '#/components/schemas/FilterOption'
          type: array
          title: Options
        metadata:
          anyOf:
            - $ref: '#/components/schemas/ColumnInfoMetadata'
      type: object
      required:
        - id
        - label
        - type
        - description
      title: ColumnInfoExtended
    ColumnInfoMetadata:
      properties:
        type:
          type: string
          title: Type
        name:
          type: string
          title: Name
        classname:
          type: string
          title: Classname
      type: object
      required:
        - type
        - name
        - classname
      title: ColumnInfoMetadata
    ContentPackReportConfig:
      properties:
        title:
          type: string
          title: Title
          default: Content Pack Report
        dataTransformationDefinitionId:
          type: string
          title: Datatransformationdefinitionid
          default: SAP.ODM
      type: object
      title: ContentPackReportConfig
    DnbStorageTypes:
      type: string
      enum:
        - DNB
        - DNB_MASTER_DATA_BASIC
        - DNB_MASTER_DATA_EXTENDED
        - DNB_MASTER_DATA_LNKG
        - DNB_MASTER_DATA_MGMT
        - DNB_LINKAGE_LNKELI
      title: DnbStorageTypes
    FilterOption:
      properties:
        value:
          type: string
          title: Value
        label:
          type: string
          title: Label
        description:
          type: string
          title: Description
      type: object
      required:
        - value
        - label
      title: FilterOption
    Filters:
      properties:
        countries:
          items:
            type: string
          type: array
          title: Countries
          example:
            - PL
            - DE
        dataSources:
          items:
            type: string
          type: array
          title: Datasources
          example:
            - c045414ed53943e19794ce6353c0459a
        duplicateMatchingDataMonitorIds:
          items:
            type: string
          type: array
          title: Duplicatematchingdatamonitorids
          example:
            - 6842de1a29c164433a09cd1c
        violations:
          items:
            type: string
          type: array
          title: Violations
          example:
            - ERROR
        provenanceNames:
          items:
            type: string
          type: array
          title: Provenancenames
          example:
            - VIES
        provenanceNamesSubscriptions:
          items:
            type: string
          type: array
          title: Provenancenamessubscriptions
          example:
            - VIES
        provenanceNamesHcpHco:
          items:
            type: string
          type: array
          title: Provenancenameshcphco
          example:
            - CH_MEDREG
        changeTypes:
          items:
            type: string
          type: array
          title: Changetypes
          example:
            - ADDED
        updatesSummaryClassifications:
          items:
            type: string
          type: array
          title: Updatessummaryclassifications
          example:
            - MAJOR
        updatesSummaryClassificationsCurationV3:
          items:
            type: string
          type: array
          title: Updatessummaryclassificationscurationv3
          example:
            - MAJOR
        changeClassifications:
          items:
            type: string
          type: array
          title: Changeclassifications
          example:
            - MAJOR
        createdAtRange:
          items:
            type: string
          type: array
          title: Createdatrange
          example:
            - '2024-01-01'
            - '2024-01-31'
        amlCaseListTypes:
          items:
            type: string
          type: array
          title: Amlcaselisttypes
          example:
            - WL
            - PEP
      type: object
      title: Filters
      description: >-
        Report specific available filtering options.


        Filters are report specific, meaning that if an invalid filter was used
        when making a report request,

        it will be ignored by the job processing backend.
    GroupInfo:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
        columns:
          items:
            $ref: '#/components/schemas/ColumnInfo'
          type: array
          title: Columns
      type: object
      required:
        - id
        - label
        - columns
      title: GroupInfo
    InternalServerError:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: InternalServerError
    Job:
      properties:
        jobId:
          type: string
          title: Jobid
          example: c045414ed53943e19794ce6353c0459a
        status:
          $ref: '#/components/schemas/JobStatus'
          example:
            code: 200
            details:
              - id: 20000001
                message: The job has been successfully scheduled for execution.
                technicalKey: JOB_SCHEDULED
            technicalKey: DEFAULT_OK
        config:
          anyOf:
            - $ref: '#/components/schemas/JobConfig'
        startedAt:
          type: string
          title: Startedat
          example: '2023-10-11T10:49:00.201006+00:00'
        finishedAt:
          type: string
          title: Finishedat
          example: '2023-10-11T10:49:20.548907+00:00'
        expiresAt:
          type: string
          title: Expiresat
          description: >-
            Returns the job expiration date based on its configured ttl.

            If None is returned, it means the job does not have a ttl set and
            does not expire.
          readOnly: true
      type: object
      required:
        - jobId
        - status
        - config
        - expiresAt
      title: Job
      description: Describes a single reporting job instance.
    JobAttachment:
      properties:
        ticket:
          type: string
          title: Ticket
          description: Identifier of the generated artifact available for download.
          example: Report.zip
        path:
          type: string
          title: Path
          description: Normalized path to the resulting artifact.
        url:
          type: string
          title: Url
          description: >-
            Optional download url for the artifact file. The reason why it's
            optional is that, the urls a generated dynamically and are a time
            constrained.
      type: object
      required:
        - ticket
        - path
      title: JobAttachment
      description: Represents reporting job attachment.
    JobConfig:
      properties:
        mirrorId:
          type: string
          title: Mirrorid
          example: 48fe040682813e8e8873ca1bfec05b21
        artifactId:
          anyOf:
            - $ref: '#/components/schemas/ArtifactIdEnum'
          description: Id of the report or chart
          example: data_defects_report
        title:
          type: string
          title: Title
          description: Report or chart title to be used when preparing the result file
          example: Data Defects Report
        columns:
          anyOf:
            - $ref: '#/components/schemas/JobConfigColumns'
          title: Columns
          description: >-
            Columns to be included in the report. User can pass ``all``,
            ``required`` or a coma delimited column names to be included on top
            of required columns
          example: all
        countries:
          items:
            type: string
          type: array
          title: Countries
          description: Country filter to be applied during data extraction
          deprecated: true
          example:
            - PL
        dataSourceIds:
          items:
            type: string
          type: array
          title: Datasourceids
          description: Data source filter to be applied during data extraction
          deprecated: true
          example:
            - c045414ed53943e19794ce6353c0459a
        format:
          anyOf:
            - $ref: '#/components/schemas/JobConfigFileFormat'
          description: The target file format of the requested report artifact
          example: xlsx
        filters:
          anyOf:
            - $ref: '#/components/schemas/Filters'
          title: Filters
          description: >-
            Key value mapping representing filter conditions that will be
            applied during data extraction.
        includeRecordsWithNoInsights:
          type: boolean
          title: Includerecordswithnoinsights
          description: >-
            Flag controlling whether the report should include business partner
            records that have no insights data. Applicable only to complex
            reports using business partner and insights collections to combine
            the underlying view.
          default: false
          example: true
        dnbStorageType:
          anyOf:
            - $ref: '#/components/schemas/DnbStorageTypes'
          description: >-
            The type of `DnB` storage `dnb_dump_report` should be generated for.
            Applied only if `artifactId` body param is set to `dnb_dump_report`.
        storageId:
          type: string
          title: Storageid
          description: >-
            Id of the storage. If provided, it will override the mirror_id
            parameter value.
          example: 48fe040682813e8e8873ca1bfec05b21
        validationJobId:
          type: string
          title: Validationjobid
          description: >-
            Alternative job ID to use with data quality reports. If not
            provided, `VALIDATION_LOG` is used as fallback.
        dataTransformationDefinitionId:
          type: string
          title: Datatransformationdefinitionid
          description: >-
            Id of the data transformation definition to be used when generating
            Content Pack Report.
          default: SAP.ODM
        includeDatasets:
          type: boolean
          title: Includedatasets
          description: >-
            Controls whether datasets should be included in the job response
            attachments attribute
          default: false
        ttl:
          anyOf:
            - $ref: '#/components/schemas/JobTTL'
          description: Job time to live value
        featuresOn:
          items:
            $ref: '#/components/schemas/ReportingFeature'
          type: array
          title: Featureson
          description: Extra features to be applied during report generation
        quickFilters:
          items:
            $ref: '#/components/schemas/QuickFilter'
          type: array
          title: Quickfilters
          description: Quick filters to be applied during report generation
        additionalAttributes:
          items:
            $ref: '#/components/schemas/AdditionalAttribute'
          type: array
          title: Additionalattributes
          description: >-
            List of additional columns to be included on the report where each
            attribute instructs the backend how to display and source given
            column from the data mirror using provided `name` and `path`
          example:
            - name: Business Partner City (Record)
              path: record.city
            - name: Business Partner Name (CDQ Model)
              path: businessPartner.names[0].value
      type: object
      required:
        - artifactId
        - title
        - columns
      title: JobConfig
      description: Configuration options for a reporting job.
    JobConfigColumns:
      type: string
      enum:
        - all
        - required
      title: JobConfigColumns
    JobConfigFileFormat:
      type: string
      enum:
        - xlsx
        - csv
        - parquet
      title: JobConfigFileFormat
    JobList:
      properties:
        page:
          type: integer
          title: Page
          description: The number of requested page. Starts from 0.
          example: 0
        pageSize:
          type: integer
          title: Pagesize
          description: >-
            The number or items to include in a single page. If the resulting
            number of items will be lower than the input, page size will show
            the number of returned items.
          example: 17
        total:
          type: integer
          title: Total
          description: Describes the number of all jobs available for the user.
          example: 150
        values:
          items:
            $ref: '#/components/schemas/Job'
          type: array
          title: Values
      type: object
      required:
        - page
        - pageSize
        - total
        - values
      title: JobList
      description: Container holding previous and active job runs information.
    JobResult:
      properties:
        job:
          $ref: '#/components/schemas/Job'
        attachments:
          items:
            $ref: '#/components/schemas/JobAttachment'
          type: array
          title: Attachments
      type: object
      required:
        - job
      title: JobResult
      description: |-
        Describes a single finished reporting job run.
        Finished job responses have also an attachment container which lists
        all available results generated during the run.
    JobStatus:
      properties:
        code:
          type: integer
          title: Code
        technicalKey:
          type: string
          title: Technicalkey
        details:
          items:
            $ref: '#/components/schemas/StatusDetails'
          type: array
          title: Details
      type: object
      required:
        - code
        - technicalKey
        - details
      title: JobStatus
    JobTTL:
      type: string
      enum:
        - 1d
        - 1w
        - 30d
        - 90d
        - 180d
        - 1y
        - 90d
      title: JobTTL
      description: Job time to live options.
    MethodNotSupported:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: MethodNotSupported
    NotFound:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: NotFound
    QuickFilter:
      type: string
      enum:
        - OPEN_CASES_ONLY
        - ONLY_WITH_DECISIONS
        - ONLY_WITH_CONFIRMED_CASES
        - ONLY_WITH_CLEARED_CASES
      title: QuickFilter
    ReportingDataMissing:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: ReportingDataMissing
    ReportingFeature:
      type: string
      enum:
        - SHOW_MATCHING_EXPLANATION
        - SHOW_RETRACTED_LINKS
        - SHOW_COVER_PAGE
        - SHOW_ADDITIONAL_ATTRIBUTES
      title: ReportingFeature
    Schema:
      properties:
        name:
          type: string
          title: Name
        fields:
          items:
            $ref: '#/components/schemas/ColumnInfo'
          type: array
          title: Fields
        filters:
          items:
            $ref: '#/components/schemas/ColumnInfoExtended'
          type: array
          title: Filters
        groups:
          items:
            $ref: '#/components/schemas/GroupInfo'
          type: array
          title: Groups
      type: object
      required:
        - name
        - fields
      title: Schema
    Status:
      properties:
        code:
          type: integer
          title: Code
        technicalKey:
          type: string
          title: Technicalkey
        details:
          items:
            $ref: '#/components/schemas/StatusDetails'
          type: array
          title: Details
      type: object
      required:
        - code
        - technicalKey
        - details
      title: Status
    StatusDetails:
      properties:
        id:
          type: integer
          title: Id
        technicalKey:
          type: string
          title: Technicalkey
        message:
          type: string
          title: Message
      type: object
      required:
        - id
        - technicalKey
        - message
      title: StatusDetails
    TrustScoreReportConfig:
      properties:
        storageId:
          type: string
          title: Storageid
        title:
          type: string
          title: Title
          default: Bank Account Trust Scores Report
      type: object
      required:
        - storageId
      title: TrustScoreReportConfig
    Unauthorized:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: Unauthorized
    ValidationError:
      properties:
        status:
          $ref: '#/components/schemas/Status'
        reason:
          type: string
          title: Reason
      type: object
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
    authorization:
      type: http
      scheme: bearer
