openapi: 3.0.1
info:
  title: FLWS REST API
  version: v1
servers:
- url: https://webprod.flexlink.com/flws/api
security:
- bearerAuth: []
paths:
  /v1/auth/authenticate:
    post:
      tags:
      - auth
      description: Authenticate a user by username and password
      operationId: authenticate_1
      requestBody:
        content:
          application/json; charset=UTF-8:
            schema:
              $ref: '#/components/schemas/LoginRequest'
      responses:
        "200":
          description: User successfully authenticated
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/Message'
        "401":
          description: Unauthorized
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/customers/{customerNumber}/spare-parts-carts:
    get:
      tags:
      - cart
      description: Get list of spare parts carts for a customer
      operationId: getSparePartsCarts_1
      parameters:
      - name: customerNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SparePartsCart'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
    post:
      tags:
      - cart
      description: Create a new cart with spare parts for a customer
      operationId: createSparePartsCart_1
      parameters:
      - name: customerNumber
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSparePartsCartRequest'
      responses:
        "201":
          description: Successfully created new cart
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/licensemanager/renew:
    post:
      operationId: createVerificationRequest_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenewLicenseRequest'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityString'
  /v1/projectlist:
    get:
      tags:
      - project
      description: List all projects
      operationId: getAllProjects_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/windchill/GetConfiguration:
    post:
      tags:
      - WindChill config
      description: Find existing tactonmodel
      operationId: getConfigurationString_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WindChillResponseDTO'
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindChillResponseDTO'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindChillResponseDTO'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindChillResponseDTO'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindChillResponseDTO'
  /v1/customers/{customerNumber}/crm-contacts:
    get:
      tags:
      - contact
      description: Get list of customer contacts from CRM
      operationId: getCustomerContacts_1
      parameters:
      - name: customerNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Contact'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/customer:
    get:
      tags:
      - customer
      description: Get customer by customer number and company code
      operationId: getCustomers_1
      parameters:
      - name: customerNo
        in: query
        required: true
        schema:
          type: string
      - name: companyCode
        in: query
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerResponse'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/support/installed-base:
    get:
      tags:
      - support
      description: List all installed base
      operationId: getInstalledBase_1
      parameters:
      - name: start
        in: query
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InstalledBaseDataExt'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/support/installed-base-empty-projects:
    get:
      tags:
      - support
      description: "List projects without order info, installed base format"
      operationId: getOtherProjectsHandler_1
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InstalledBaseDataExt'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/product/groups:
    get:
      tags:
      - product
      description: List all product groups
      operationId: getProductGroups_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductGroupAlt'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/products/{productNumber}/spare-parts:
    get:
      tags:
      - product
      description: Get spare parts for a product number
      operationId: getProductSpareParts_1
      parameters:
      - name: productNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SparePartData'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/product/types:
    get:
      tags:
      - product
      description: List all product types
      operationId: getProductTypes_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductType'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/projectlist/{projectNumber}/products:
    get:
      tags:
      - project
      description: List all products that have been ordered in the project
      operationId: getProjectProducts_1
      parameters:
      - name: projectNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CartItemProductInfo'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/projectlist/{projectNumber}:
    get:
      tags:
      - project
      description: Search for projects with project numbers starting with path param
      operationId: getProjects_1
      parameters:
      - name: projectNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/products-conf/{configId}/spare-parts:
    get:
      tags:
      - products-conf
      description: Get Spare parts based on a BOM of a configItem
      operationId: getSparePartsByConfigId_1
      parameters:
      - name: configId
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SparePartData'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/customers/{customerNumber}/spare-parts-carts/{cartId}:
    get:
      tags:
      - cart
      description: Get cart with spare parts for a customer
      operationId: getSparePartsCartById_1
      parameters:
      - name: customerNumber
        in: path
        required: true
        schema:
          type: string
      - name: cartId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SparePartsCartWithProducts'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
    delete:
      tags:
      - cart
      description: Remove a cart with spare parts for a customer
      operationId: removeSparePartsCart_1
      parameters:
      - name: customerNumber
        in: path
        required: true
        schema:
          type: string
      - name: cartId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "204":
          description: Successful delete
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/messages:
    get:
      tags:
      - messages
      description: Get temporary messages
      operationId: getTemporaryMessages_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TemporaryMessage'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/userinfo:
    get:
      tags:
      - user
      description: Get information about the current API user
      operationId: getUserInfo_1
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/auth/userinfo:
    post:
      tags:
      - auth
      description: Find a user by username or email
      operationId: getUserInfoByUsernameOrEmail_1
      parameters:
      - name: X-Secret
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoRequest'
      responses:
        "200":
          description: User was found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/licensemanager/createlicense:
    post:
      tags:
      - License manager
      description: "create license in license manager, used by ols"
      operationId: licenseManagerCreateLicense_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicenseMangerServiceDTO'
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseMangerServiceDTO'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseMangerServiceDTO'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseMangerServiceDTO'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseMangerServiceDTO'
  /v1/auth/{userId}/reset-password:
    post:
      tags:
      - auth
      description: Update password for user
      operationId: resetUserPassword_1
      parameters:
      - name: X-Secret
        in: header
        schema:
          type: string
      - name: userId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPasswordResetRequest'
      responses:
        "200":
          description: User password successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
  /v1/tools/send-email:
    post:
      tags:
      - tools
      description: send e-mail
      operationId: sendEmail_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Email'
      responses:
        "204":
          description: Successfully send
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                type: string
  /v1/upload/{cartId}:
    post:
      tags:
      - cart
      description: Upload attachment for cart in ols
      operationId: uploadFile_1
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Attachment'
      responses:
        "201":
          description: Successfully send
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    Message:
      type: object
      properties:
        message:
          type: string
    LoginRequest:
      type: object
      properties:
        username:
          type: string
        password:
          type: string
    CreateSparePartsCartRequest:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/SparePartsCartProduct'
    SparePartsCartProduct:
      type: object
      properties:
        productNumber:
          type: string
        quantity:
          type: integer
          format: int64
    HttpHeaders:
      type: object
      properties:
        empty:
          type: boolean
        location:
          type: string
          format: uri
        lastModified:
          type: integer
          format: int64
        all:
          type: object
          additionalProperties:
            type: string
          writeOnly: true
        contentLength:
          type: integer
          format: int64
        contentType:
          $ref: '#/components/schemas/MediaType'
        date:
          type: integer
          format: int64
        ifModifiedSince:
          type: integer
          format: int64
        connection:
          type: array
          items:
            type: string
        origin:
          type: string
        ifNotModifiedSince:
          type: integer
          format: int64
        etag:
          type: string
        accept:
          type: array
          items:
            $ref: '#/components/schemas/MediaType'
        cacheControl:
          type: string
        acceptCharset:
          type: array
          items:
            type: object
            properties:
              registered:
                type: boolean
        expires:
          type: integer
          format: int64
        ifNoneMatch:
          type: array
          items:
            type: string
        upgrade:
          type: string
        pragma:
          type: string
        allow:
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - GET
            - POST
            - HEAD
            - OPTIONS
            - PUT
            - PATCH
            - DELETE
            - TRACE
      additionalProperties:
        type: array
        items:
          type: string
    MediaType:
      type: object
      properties:
        type:
          type: string
        subtype:
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        qualityValue:
          type: number
          format: double
        wildcardSubtype:
          type: boolean
        wildcardType:
          type: boolean
        charSet:
          type: object
          properties:
            registered:
              type: boolean
        concrete:
          type: boolean
    ResponseEntityString:
      type: object
      properties:
        headers:
          type: object
          properties:
            empty:
              type: boolean
            location:
              type: string
              format: uri
            lastModified:
              type: integer
              format: int64
            all:
              type: object
              additionalProperties:
                type: string
              writeOnly: true
            contentLength:
              type: integer
              format: int64
            contentType:
              $ref: '#/components/schemas/MediaType'
            date:
              type: integer
              format: int64
            ifModifiedSince:
              type: integer
              format: int64
            connection:
              type: array
              items:
                type: string
            origin:
              type: string
            ifNotModifiedSince:
              type: integer
              format: int64
            etag:
              type: string
            accept:
              type: array
              items:
                $ref: '#/components/schemas/MediaType'
            cacheControl:
              type: string
            acceptCharset:
              type: array
              items:
                type: object
                properties:
                  registered:
                    type: boolean
            expires:
              type: integer
              format: int64
            ifNoneMatch:
              type: array
              items:
                type: string
            upgrade:
              type: string
            pragma:
              type: string
            allow:
              uniqueItems: true
              type: array
              items:
                type: string
                enum:
                - GET
                - POST
                - HEAD
                - OPTIONS
                - PUT
                - PATCH
                - DELETE
                - TRACE
          additionalProperties:
            type: array
            items:
              type: string
        body:
          type: string
        statusCode:
          type: string
          enum:
          - "100"
          - "101"
          - "102"
          - "103"
          - "200"
          - "201"
          - "202"
          - "203"
          - "204"
          - "205"
          - "206"
          - "207"
          - "208"
          - "226"
          - "300"
          - "301"
          - "302"
          - "302"
          - "303"
          - "304"
          - "305"
          - "307"
          - "308"
          - "400"
          - "401"
          - "402"
          - "403"
          - "404"
          - "405"
          - "406"
          - "407"
          - "408"
          - "409"
          - "410"
          - "411"
          - "412"
          - "413"
          - "413"
          - "414"
          - "414"
          - "415"
          - "416"
          - "417"
          - "418"
          - "419"
          - "420"
          - "421"
          - "422"
          - "423"
          - "424"
          - "426"
          - "428"
          - "429"
          - "431"
          - "500"
          - "501"
          - "502"
          - "503"
          - "504"
          - "505"
          - "506"
          - "507"
          - "508"
          - "509"
          - "510"
          - "511"
    RenewLicenseRequest:
      type: object
      properties:
        licenseSerialNumber:
          type: string
        orderNo:
          type: string
        userId:
          type: string
    Project:
      type: object
      properties:
        projectId:
          type: integer
          format: int32
        projectNumber:
          type: string
        projectName:
          type: string
        companyCode:
          type: string
        saleOrganization:
          type: string
        salesOrderNumber:
          type: string
        active:
          type: boolean
        createdTime:
          type: string
        customerNumber:
          type: string
        getpS_PSP_PNR:
          type: string
        companyName:
          type: string
    ProjectListResponse:
      type: object
      properties:
        projects:
          type: array
          items:
            $ref: '#/components/schemas/Project'
    WindChillResponseDTO:
      type: object
      properties:
        safestate:
          type: string
        secret:
          type: string
        userId:
          type: string
    WindChillDTO:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        flxc:
          type: string
    Contact:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        salutation:
          type: string
        title:
          type: string
        department:
          type: string
        email:
          type: string
        phone:
          type: string
        mobilePhone:
          type: string
        customerSeq:
          type: integer
          format: int64
    Address:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        name2:
          type: string
        addressField1:
          type: string
        addressField2:
          type: string
        addressField3:
          type: string
        addressField4:
          type: string
        street1:
          type: string
        street2:
          type: string
        street3:
          type: string
        location:
          type: string
        zip:
          type: string
        city:
          type: string
        country:
          type: string
        countryCode:
          type: string
        addressType:
          type: string
        region:
          type: string
        defaultShipTo:
          type: boolean
    Customer:
      type: object
      properties:
        customerNo:
          type: string
        name:
          type: string
        name2:
          type: string
        deliveryTerms:
          type: string
        deliveryTerms2:
          type: string
        priceList:
          type: string
        secondaryPriceList:
          type: string
        currency:
          type: string
        warehouse:
          type: string
        facility:
          type: string
        statisticsIdentity1:
          type: string
        salesUnitCurrency:
          type: string
        salesUnitCountryCode:
          type: string
        salesUnitPriceList:
          type: string
        salesUnitCustomerNumber:
          type: string
        paymentTermsCode:
          type: string
        paymentTermsName:
          type: string
        thirdPriceList:
          type: string
        phone1:
          type: string
        phone2:
          type: string
        salesRepresentative:
          type: string
        reference1:
          type: string
        reference2:
          type: string
        flexlinkReference:
          type: string
        discountModel:
          type: string
        deliveryMethod:
          type: string
        deliveryMethodName:
          type: string
        crmSeq:
          type: integer
          format: int64
        custCrmId:
          type: string
        yomiName:
          type: string
        webSite:
          type: string
        fax:
          type: string
        primaryContact:
          type: string
        postalAddress1:
          type: string
        postalAddress2:
          type: string
        postalAddress3:
          type: string
        postalAddress4:
          type: string
        internalErp:
          type: boolean
        intUnitCountryCode:
          type: string
        addressId:
          type: string
        address1:
          type: string
        address2:
          type: string
        address3:
          type: string
        address4:
          type: string
        salesOrganization:
          type: string
        oldCustomerNumber:
          type: string
        sourceSystem:
          type: string
        createdBy:
          type: string
        deliveryAddress:
          $ref: '#/components/schemas/Address'
        billingAddress:
          $ref: '#/components/schemas/Address'
        visitingAddress:
          $ref: '#/components/schemas/Address'
        accountType:
          type: string
        vatNumber:
          type: string
        companyCode:
          type: string
        salesOffice:
          type: string
        shipToWeekdays:
          type: array
          items:
            type: integer
            format: int32
        discount:
          type: number
          format: double
        customerGroup:
          type: string
        countryCode:
          type: string
        status:
          type: integer
          format: int32
        internalFacility:
          type: string
        salesUnit:
          type: boolean
        interCustomerPlantDeliveryAddress:
          $ref: '#/components/schemas/Address'
    CustomerResponse:
      type: object
      properties:
        customer:
          $ref: '#/components/schemas/Customer'
    InstalledBaseDataExt:
      type: object
      properties:
        ci_no:
          type: integer
          format: int32
        product_no:
          type: string
        model:
          type: string
        sales_unit:
          type: string
        op_center:
          type: string
        su_erp_proj:
          type: string
        shcu_country:
          type: string
        shcu_street:
          type: string
        shcu_city:
          type: string
        shcu_name:
          type: string
        shcu_no:
          type: string
        shcu_zip:
          type: string
        eu_name:
          type: string
        eu_city:
          type: string
        Description:
          type: string
        GroupCode:
          type: string
        ProductGroup:
          type: string
        MaterialType:
          type: string
        MaterialGroup:
          type: string
        OrderNo:
          type: string
        CustomerNo:
          type: string
        CompanyCode:
          type: string
        Reference:
          type: string
        Email:
          type: string
        CompanyName:
          type: string
        Quantity:
          type: integer
          format: int32
        GKAM:
          type: string
        SalesOffice:
          type: string
        LinkedProject:
          type: string
        WarrantyDate:
          type: string
        SATDate:
          type: string
        AssetValue:
          type: integer
          format: int64
        Currency:
          type: string
        SalesOfficeKey:
          type: string
        country_key:
          type: string
    ProductGroupAlt:
      type: object
      properties:
        Name:
          type: string
    SparePartData:
      type: object
      properties:
        SparePartNo:
          type: string
        SparePartName:
          type: string
        ExistsInOLS:
          type: integer
          format: int32
        Active:
          type: integer
          format: int32
        Description:
          type: string
        ImageName:
          type: string
        ThumbName:
          type: string
        ThumbNameZoom:
          type: string
        ProductGroup:
          type: string
        MaterialType:
          type: string
        Recommended:
          type: boolean
    ProductType:
      type: object
      properties:
        keyId:
          type: integer
          format: int32
        id:
          type: string
        name:
          type: string
        languageCode:
          type: string
    CartItemProductInfo:
      type: object
      properties:
        ProductNo:
          type: string
        Name:
          type: string
        Description:
          type: string
        Packsize:
          type: integer
          format: int32
        Weight:
          type: string
        ProductGroup:
          type: string
        ImageName:
          type: string
        ThumbName:
          type: string
        ThumbNameZoom:
          type: string
        MaterialType:
          type: string
        Entries:
          type: integer
          format: int32
        SumQty:
          type: integer
          format: int32
        SpCount:
          type: integer
          format: int32
        Cfid:
          type: string
    SparePartsCartWithProducts:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        createdDate:
          type: string
          format: date
        products:
          type: array
          items:
            $ref: '#/components/schemas/SparePartsCartProduct'
    SparePartsCart:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        createdDate:
          type: string
          format: date
    TemporaryMessage:
      type: object
      properties:
        id:
          type: integer
          format: int32
        validFrom:
          type: string
          format: date
        validTo:
          type: string
          format: date
        message:
          type: string
    UserInfo:
      type: object
      properties:
        username:
          type: string
        name:
          type: string
        email:
          type: string
        locale:
          type: string
        customerNumber:
          type: string
        sapCustomerNumber:
          type: string
        country:
          type: string
        salesOrganization:
          type: string
        warehouse:
          type: string
        facility:
          type: string
        companyCode:
          type: string
        internal:
          type: boolean
        groups:
          type: array
          items:
            type: string
        userRoles:
          type: array
          items:
            type: string
    UserInfoRequest:
      type: object
      properties:
        email:
          type: string
        username:
          type: string
    LicenseMangerServiceDTO:
      type: object
      properties:
        softwareProductNumber:
          type: string
        customerNumber:
          type: string
        customerEmail:
          type: string
        olsOrderNumber:
          type: string
        olsUserId:
          type: string
        productGroup:
          type: string
        softwareName:
          type: string
        customerName:
          type: string
        machineProductGrpMap:
          type: object
          additionalProperties:
            type: string
        quantity:
          type: integer
          format: int64
    UserPasswordResetRequest:
      type: object
      properties:
        password:
          type: string
    Email:
      type: object
      properties:
        To:
          type: string
        Subj:
          type: string
        Body:
          type: string
    Attachment:
      type: object
      properties:
        headers:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        object:
          type: object
        contentType:
          type: object
          properties:
            type:
              type: string
            subtype:
              type: string
            parameters:
              type: object
              additionalProperties:
                type: string
            wildcardSubtype:
              type: boolean
            wildcardType:
              type: boolean
        contentDisposition:
          $ref: '#/components/schemas/ContentDisposition'
        contentId:
          type: string
        dataHandler:
          type: object
          properties:
            dataSource:
              type: object
              properties:
                name:
                  type: string
                inputStream:
                  type: object
                contentType:
                  type: string
                outputStream:
                  type: object
            name:
              type: string
            inputStream:
              type: object
            content:
              type: object
            contentType:
              type: string
            outputStream:
              type: object
            commandMap:
              type: object
              properties:
                mimeTypes:
                  type: array
                  items:
                    type: string
              writeOnly: true
            transferDataFlavors:
              type: array
              items:
                type: object
                properties:
                  mimeType:
                    type: string
                  humanPresentableName:
                    type: string
                  subType:
                    type: string
                  mimeTypeSerializedObject:
                    type: boolean
                  defaultRepresentationClassAsString:
                    type: string
                  representationClassInputStream:
                    type: boolean
                  representationClassReader:
                    type: boolean
                  representationClassCharBuffer:
                    type: boolean
                  representationClassByteBuffer:
                    type: boolean
                  representationClassSerializable:
                    type: boolean
                  representationClassRemote:
                    type: boolean
                  flavorSerializedObjectType:
                    type: boolean
                  flavorRemoteObjectType:
                    type: boolean
                  flavorJavaFileListType:
                    type: boolean
                  flavorTextType:
                    type: boolean
                  primaryType:
                    type: string
            preferredCommands:
              type: array
              items:
                type: object
                properties:
                  commandName:
                    type: string
                  commandClass:
                    type: string
            allCommands:
              type: array
              items:
                type: object
                properties:
                  commandName:
                    type: string
                  commandClass:
                    type: string
    ContentDisposition:
      type: object
      properties:
        type:
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        filename:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      name: Authorization
      in: header
      scheme: bearer
      bearerFormat: JWT
