Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Confluence open api
docExpansionfull
operationsSortermethod
showCommonExtensionstrue
tagsSorteralpha
openapi: 3.0.3
info:
  title: Reporting API Specification
  description: Reporting API Specification. All operations requires Bearer token from login-process. For more information,
please visit https://bokbasen.jira.com/wiki/spaces/api/pages/2994962433/Authentication+Service+upcoming
  version: 1.0.0

servers:
  - url: 'https://api.bokbasen.io/reporting'
    description: Production
  - url: 'https://api.stage.bokbasen.io/reporting'
    description: Stage


paths:
  
  /loan/tibi/v1:
      post:
        summary: POST TIBI loan report
        operationId: postTibiLoanReport
        requestBody:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TibiLoanReport'
          required: true
        responses:
          201:
            description: Successfully registered streaming report
            content:
              application/json:
                schema:
                  $ref: '#/components/schemas/LoanReportResponse'
          400:
            $ref: '#/components/responses/BadRequest'
          413:
            description: Payload is to large. 10 MB limit. 

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    
    LoanReportResponse:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          description: The report ID.
    TibiLoanReport:
      type: object
      required:
      - reportInfo
      - items
      properties:
        reportInfo:
          type: object
          required:
          - period
          properties:
            id:
              type: string
              format: uuid
              description: Report id in UUID format. Can be used to update a reports content. Must exist if used.
              example: "feeada9c-af12-4733-86fe-4b60fa70b669"
            period:
              type: string
              format: year-month
              description: The period the report is for in the YYYY-mm format
              example: 2024-05
        items:
          type: array
          x-field-extra-annotation: "@lombok.Builder.Default"
          items:
            $ref: '#/components/schemas/TibiItem'
    TibiItem:
      type: object
      required:
      - ean
      - count
      - libraryUnit
      - adaptedVersion
      properties:
        ean:
          type: string
          example: "9782123456789"
          description: EAN of the original book you are reporting numbers for
        count:
          type: integer
          example: "55"
          description: The number of loans of the ean in the given period
        libraryUnit:
          type: string
          description: The library where the loan happened
          example: "NLB"
        adaptedVersion:
          $ref: '#/components/schemas/TibiAdaptedVersionInfo'
    TibiAdaptedVersionInfo:
      type: object
      required:
      - format
      - availableDate
      - audioContent
      - textContent
      - brailleContent
      - speechSynthesis
      properties:
        reference:
          type: string
          description: Internal reference to product. Eg. booknumber.
          example: "686512"
        format:
          type: string
          description: The format of the edition
          example: "DAISY2.0"
        availableDate:
          type: string
          format: date
          description: The date the adapted version was ready for loan
          example: "2024-09-01"
        ean:
          type: string
          description: The ean of the adapted book version if any
          example: "9876543212345"
        audioContent:
          type: boolean
          description: True if the adapted version contains audio content
          example: true
        textContent:
          type: boolean
          description: True if the adapted version contains text content
          example: true
        brailleContent:
          type: boolean
          description: True if the adapted version contains braille content
          example: true
        speechSynthesis:
          type: boolean
          description: True if the adapted version contains speech synthesis
          example: true
    ProblemDetail:
      title: An RFC 9457 problem object
      type: object
      properties:
        type:
          type: string
          format: uri-reference
        title:
          type: string
        status:
          type: integer
          description: HTTP status code
          minimum: 100
          maximum: 599
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
security:
  - bearerAuth: [ ]