---
openapi: 3.0.3
info:
  description: "The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)"
  title: Request For Quotation
  version: v3
servers:
- url: https://example.com/api/v3
  variables:
    api-version:
      default: v3.0.0
paths:
  /{api-endpoint}/request-for-quotation:
    post:
      servers:
      - url: https://example.com/query-api/v3
        variables:
          api-version:
            default: v3
      tags:
      - RequestForQuotation
      operationId: postRequestForQuotation
      parameters:
      - name: api-endpoint
        in: path
        description: The API endpoint to send a request for quotation to a manufacturer.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        $ref: '#/components/requestBodies/Filter'
      responses:
        "200":
          $ref: '#/components/responses/RequestForQuotation'
        "401":
          $ref: '#/components/responses/ClientError'
        "402":
          $ref: '#/components/responses/Unauthorized'
        "403":
          $ref: '#/components/responses/Forbidden'
        "404":
          $ref: '#/components/responses/NotFoundError'
components:
  schemas:
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
    Error:
      type: object
      required:
      - details
      properties:
        message:
          type: string
          minLength: 1
        path:
          type: string
          minLength: 1
        details:
          type: object
          minLength: 1
          additionalProperties:
            type: object
        code:
          type: string
          nullable: true
    Filter:
      type: object
      required:
      - filter
      properties:
        filter:
          type: string
          description: The filter to use.
          example:
           $ref: '#/components/schemas/RequestForQuotation'
    urn_samm_io.catenax.request_for_quotation_3.0.0_SourceCharacteristic:
      type: string
      description: "digital address of the sender (e.g.token, IP address, link, user\
        \ account)"
    urn_samm_io.catenax.request_for_quotation_3.0.0_IdCharacteristic:
      type: string
      description: internal identifier in user account
    urn_samm_io.catenax.request_for_quotation_3.0.0_NameCharacteristic:
      type: string
      description: name for the request for user account management (usually name
        of the part to be manufactured)
    urn_samm_io.catenax.request_for_quotation_3.0.0_DateTimeCharacteristic:
      type: string
      pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\
        .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"
      description: date and time of the request in user account
    urn_samm_io.catenax.request_for_quotation_3.0.0_RFQVersionCharacteristic:
      type: string
      description: version of this request in case there were any changes
    urn_samm_io.catenax.request_for_quotation_3.0.0_RFQIdentificationCharacteristic:
      description: all properties necessary for identification of the request for
        quotation
      type: object
      properties:
        rfqSource:
          description: "RFQ-Identification: digital address of the sender (e.g.token,\
            \ IP address, link, user account)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SourceCharacteristic'
        rfqId:
          description: "RFQ-Identification: internal identifier in user account"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_IdCharacteristic'
        rfqName:
          description: "RFQ-Identification: name for the request for user account\
            \ management (usually name of the product to be manufactured)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_NameCharacteristic'
        rfqDateTime:
          description: "RFQ-Identification: date and time of the request in user account"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DateTimeCharacteristic'
        rfqVersion:
          description: "RFQ-Identification: version of this request in case there\
            \ were any changes"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQVersionCharacteristic'
      required:
      - rfqId
      - rfqName
      - rfqDateTime
      - rfqVersion
    urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic:
      type: string
      description: file format
    urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic:
      type: string
      description: 'path or address to the file '
    urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic:
      type: string
      description: name of the file
    urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic:
      description: "the file object itself, in case this could be sent via the API"
      type: object
      properties: {}
    urn_samm_io.catenax.request_for_quotation_3.0.0_FileCharacteristic:
      description: in case there are additional documents or files to share
      type: object
      properties:
        fileType:
          description: "RFQ-Configuration: file format"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic'
        filePath:
          description: 'path or address to the file '
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic'
        fileName:
          description: name of the file
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic'
        fileObject:
          description: "the file object itself, in case this could be sent via the\
            \ API"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic'
      required:
      - fileType
      - fileName
    urn_samm_io.catenax.request_for_quotation_3.0.0_PartIdCharacteristic:
      type: string
      description: identifier of the part from CAD File
    urn_samm_io.catenax.request_for_quotation_3.0.0_PartNameCharacteristic:
      type: string
      description: "name of the part in CAD file. In case the CAD file has only one\
        \ part, this could also be the file name"
    urn_samm_io.catenax.request_for_quotation_3.0.0_ManufacturingDomainCharacteristic:
      type: string
      description: "domain of required process (e.g. subtractive manufacturing, additive\
        \ manufacturing, assembly)"
    urn_samm_io.catenax.request_for_quotation_3.0.0_GeneralToleranceCharacteristic:
      type: string
      description: selection of defined tolerance classes
    urn_samm_io.catenax.request_for_quotation_3.0.0_AdditionalQualityRequirementsCharacteristic:
      type: string
      description: specific requirements to guarantee quality
    urn_samm_io.catenax.request_for_quotation_3.0.0_ValueCharacteristic:
      type: string
      description: value to detail the part material item
    urn_samm_io.catenax.request_for_quotation_3.0.0_ValueTypeCharacteristic:
      type: string
      description: value type to specify the property value
    urn_samm_io.catenax.request_for_quotation_3.0.0_PropertyNameCharacteristic:
      type: string
      description: name of the property
    urn_samm_io.catenax.request_for_quotation_3.0.0_SetMaterialPropertiesCharacteristic:
      description: 'set of property data to detail material properties '
      type: object
      properties:
        value:
          description: value to detail the part material item
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ValueCharacteristic'
        valueType:
          description: value type to specify the value of the property
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ValueTypeCharacteristic'
        propertyName:
          description: name of the property
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PropertyNameCharacteristic'
      required:
      - value
      - valueType
      - propertyName
    urn_samm_io.catenax.request_for_quotation_3.0.0_PartMaterialGroupCharacteristic:
      type: string
      description: definition of material group for preselection
    urn_samm_io.catenax.request_for_quotation_3.0.0_MaterialCharacteristic:
      description: material definition with further information
      type: object
      properties:
        materialProperties:
          description: "material definition with additional detail properties with\
            \ name, value and value type, like name= density, value=2.7, type=g/m3\
            \ or name= chemical term, value=AlMgMn, type=periodic table"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetMaterialPropertiesCharacteristic'
        materialFamily:
          description: definition of material family for preselection
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartMaterialGroupCharacteristic'
      required:
      - materialProperties
    urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic:
      type: number
      description: The quantity value associated with the unit expressed as float.
    urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference:
      type: string
      pattern: "[a-zA-Z]*:[a-zA-Z]+"
      description: Describes a Property containing a reference to one of the units
        in the Unit Catalog.
    urn_samm_io.catenax.request_for_quotation_3.0.0_PartQuantityCharacteristic:
      description: quantity to be ordered
      type: object
      properties:
        quantityNumber:
          description: The number of objects related to the measurement unit
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic'
        measurementUnit:
          description: Unit of Measurement for the quantity of serialized objects
          $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference'
      required:
      - quantityNumber
      - measurementUnit
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList:
      description: List of process step identifiers to reference to  other process
        steps that are part of the bill of process
      type: array
      items:
        type: string
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic:
      type: string
      description: Characteristic to express string values
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_SemanticListCharacteristic:
      description: A list containing all semantic references for a parameter
      type: array
      items:
        type: string
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterKeyCharacteristic:
      type: string
      description: Enumeration that predefines values for the parameter key
      enum:
      - HasValue
      - HasNoValue
      - HasValueRange
      - HasTolerances
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRange:
      description: Entity for each value range item
      type: object
      properties:
        lowerValue:
          description: Lower border of a value range item
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        upperValue:
          description: Upper border for a value range item
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        name:
          description: Name of the parameter
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
      required:
      - lowerValue
      - upperValue
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRangeList:
      description: List with value ranges for a parameter
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRange'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesEntity:
      description: Entity to express the tolerances of a parameter
      type: object
      properties:
        lowerLimit:
          description: The lower direct limit of the tolerance
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        upperLimit:
          description: Upper direct limit of the tolerance
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        name:
          description: Name of the parameter
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
      required:
      - lowerLimit
      - upperLimit
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesCharacteristic:
      description: List with tolerances for a parameter's value
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesEntity'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_Parameter:
      description: "Generic entity to characterize parameters. It distinguished four\
        \ cases: a parameter without a value, a parameter with a value, a parameter\
        \ with a value range and a parameter with tolerances "
      type: object
      properties:
        name:
          description: Name of the parameter
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        value:
          description: Value of the parameter
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        semanticReference:
          description: Reference to a semantic namespace in which the type of the
            parameter is defined
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_SemanticListCharacteristic'
        parameterKey:
          description: "Enumeration that is used to distinguish whether the parameter\
            \ has no value, has a value, has a value range or has a value with tolerances"
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterKeyCharacteristic'
        valueRangeList:
          description: List with value ranges for a parameter
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRangeList'
        tolerances:
          description: 'Tolerances for a parameter '
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesCharacteristic'
      required:
      - name
      - semanticReference
      - parameterKey
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList:
      description: A list of parameters
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_Parameter'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElement:
      description: Entity to link the current process step to its successors
      type: object
      properties:
        successor:
          description: 'List of subsequent process step which can be executed in any
            order '
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList'
      required:
      - successor
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElementList:
      description: Set of process steps which have to be executed in parallel
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElement'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElements:
      description: List of process steps that must be executed in parallel
      type: object
      properties:
        precedenceElements:
          description: List process steps that must be executed in parallel
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElementList'
      required:
      - precedenceElements
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceRelationCharacteristic:
      description: 'List to express alternative process sequences '
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElements'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepTypeCharacteristic:
      type: string
      description: "Distinguishes 4 cases of process steps: the first and the last\
        \ process step, a process step that is in between the first and the last,\
        \ or a subprocess step "
      enum:
      - IsFirstElement
      - IsLastElement
      - IsProcessElement
      - IsSubprocessElement
    urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic:
      type: string
      description: Characteristic for identifiers.
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStep:
      description: Entity to characterize single process steps
      type: object
      properties:
        processStepIdentifier:
          description: Unique identifier for a concrete process step
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList'
        inputParameters:
          description: Optional list of parameters that are required to execute the
            corresponding process step
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList'
        outputParameters:
          description: Optional list of parameters that are returned from the process
            step and can be used as inputParameters for subsequent steps
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList'
        precedenceRelation:
          description: "List of alternative process steps from which the manufacturer\
            \ has to select exactly one step to be executed. In case of no alternative\
            \ process step, the list features only one element. In case of the last\
            \ element, the property is not used, since the process step has no successor"
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceRelationCharacteristic'
        childProcessSteps:
          description: "List of child processes that need to be executed to complete\
            \ the parent process step. It enables the expression of hierarchies between\
            \ capabilities, e.g. a transport capability needs to execute at least\
            \ a pick, a move and a place capability"
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList'
        processStepType:
          description: "Distinguishes process steps based on whether there are the\
            \ first or last process step to be executed, or if they are a subprocess\
            \ step, which subdivides a higher-level process step into smaller process\
            \ steps"
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepTypeCharacteristic'
        capabilityId:
          description: Locally unique identifier for a capability.
          $ref: '#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic'
      required:
      - processStepIdentifier
      - processStepType
      - capabilityId
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepsList:
      description: Unordered list that contains all process steps to manufacture a
        product. The relation between these process steps are created through the
        precedence relation property
      type: array
      items:
        $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStep'
    urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic:
      type: string
      description: Characteristic for Bill of process Identifiers
    urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait:
      type: string
      description: Constraint for defining a SemVer version.
      pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"
    urn_samm_io.catenax.request_for_quotation_3.0.0_BillOfProcessCharacteristic:
      description: reference to SharedBillOfProcess Model
      type: object
      properties:
        process:
          description: "List that contains all manufacturing steps of a product, whereat\
            \ each manufacturing step refers to exactly one capability. This list\
            \ contains all process steps that are required to manufacture the product,\
            \ specified with the bill of process  "
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepsList'
        productVersion:
          description: Version of the product whose manufacturing steps are specified
            with the bill of process. It can for example specify a concrete variant
            of a product
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        productName:
          description: Name of the product whose production steps are specified within
            the bill of process
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic'
        billOfProcessIdentification:
          description: Unique identifier for a bill of process that can be used to
            reference instances of the bill of process
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic'
        version:
          description: The unique identifier of the aspect model defining the structure
            and the semantics of the message's header. The version number should reflect
            the versioning schema of aspect models in Catena-X.
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait'
      required:
      - process
      - productVersion
      - productName
      - billOfProcessIdentification
      - version
    urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfPartsCharacteristic:
      description: "list of parts contained in the CAD file, to be defined in RFQ\
        \ configuration"
      type: object
      properties:
        partId:
          description: "RFQ-PartConfiguration: identifier of the part from CAD File"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartIdCharacteristic'
        partName:
          description: "RFQ-PartConfiguration: name of the part in CAD file. In case\
            \ the CAD file has only one part, this could also be the file name."
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartNameCharacteristic'
        manufacturingDomain:
          description: "RFQ-PartConfiguration: domain of required process (e.g. subtractive\
            \ manufacturing, additive manufacturing, assembly)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ManufacturingDomainCharacteristic'
        generalTolerance:
          description: "RFQ-PartConfiguration: selection of defined tolerance classes"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_GeneralToleranceCharacteristic'
        additionalRequirements:
          description: "RFQ-PartConfiguration: specific requirements e.g. to guarantee\
            \ quality, like premium quality check or standard quality check or test\
            \ part required (makes only sense for batch)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_AdditionalQualityRequirementsCharacteristic'
        material:
          description: "RFQ-PartConfiguration: material definition with further information"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_MaterialCharacteristic'
        partQuantity:
          description: "RFQ-PartConfiguration: Quantity of which the part item is\
            \ assembled into the parent item (within the CAD File). In general it\
            \ is '1' for serialized parts."
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartQuantityCharacteristic'
        billOfProcess:
          description: "RFQ-PartConfiguration: list of process steps for part to be\
            \ manufactured"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_BillOfProcessCharacteristic'
      required:
      - partId
      - partName
      - generalTolerance
      - material
      - partQuantity
    urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic:
      type: string
      format: date
      description: delivery date
    urn_samm_io.catenax.request_for_quotation_3.0.0_CommentCharacteristic:
      type: string
      description: placeholder for any kind of additional comments
    urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfFilesCharacteristic:
      description: in case there are additional documents or files to share
      type: object
      properties:
        fileType:
          description: "RFQ-Configuration: file format"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic'
        filePath:
          description: 'path or address to the file '
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic'
        fileName:
          description: name of the file
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic'
        fileObject:
          description: "the file object itself, in case this could be sent via the\
            \ API"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic'
      required:
      - fileType
      - fileName
    urn_samm_io.catenax.request_for_quotation_3.0.0_OrderQuantityCharacteristic:
      description: quantity to be ordered
      type: object
      properties:
        quantityNumber:
          description: The number of objects related to the measurement unit
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic'
        measurementUnit:
          description: Unit of Measurement for the quantity of serialized objects
          $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference'
      required:
      - quantityNumber
      - measurementUnit
    urn_samm_io.catenax.request_for_quotation_3.0.0_RFQConfigurationCharacteristic:
      description: all information to configure a request for quotation
      type: object
      properties:
        cadFile:
          description: "RFQ-Configuration: CAD file as geometry definition, e.g. step\
            \ file"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileCharacteristic'
        parts:
          description: "RFQ-Configuration: list of parts contained in the CAD file"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfPartsCharacteristic'
        firstDeliveryDate:
          description: "RFQ-Configuration: Date of desired, first, but not must delivery"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic'
        lastDeliveryDate:
          description: "RFQ-Configuration: date of required and last acceptable delivery"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic'
        additionalComments:
          description: "RFQ-Configuration: placeholder for any kind of additional\
            \ comments"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_CommentCharacteristic'
        additionalFiles:
          description: "RFQ-Configuration: in case there are additional documents\
            \ or files to share (like e.g. technical drawings)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfFilesCharacteristic'
        orderQuantity:
          description: "RFQ-Configuration: quantity at all, valid for complete order\
            \ (usually number of products to be ordered)"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_OrderQuantityCharacteristic'
      required:
      - cadFile
      - parts
      - lastDeliveryDate
      - orderQuantity
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderNameCharacteristic:
      type: string
      description: name of the sender
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAddressCharacteristic:
      type: string
      description: address of sender
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderCompanyNameCharacteristic:
      type: string
      description: company name of sender
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderEMailCharacteristic:
      type: string
      description: ' e-mail address of sender'
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderPhoneNumberCharacteristic:
      type: string
      description: phone number of sender
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAccountAddressCharacteristic:
      type: string
      description: address of sender for account
    urn_samm_io.catenax.request_for_quotation_3.0.0_SenderDeliveryAddressCharacteristic:
      type: string
      description: address of sender for delivery
    urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryRequirementsCharacteristic:
      type: string
      description: any kind of delivery requirements
    urn_samm_io.catenax.request_for_quotation_3.0.0_RFQSenderCharacteristic:
      description: "all data about sender of request for quotation, important for\
        \ offer and delivery"
      type: object
      properties:
        senderName:
          description: "RFQ-Sender: name of the sender"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderNameCharacteristic'
        senderAdress:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAddressCharacteristic'
        senderCompanyName:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, company name\
            \ of sender"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderCompanyNameCharacteristic'
        senderEMail:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, e-mail address\
            \ of sender"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderEMailCharacteristic'
        senderPhoneNumber:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, phone number\
            \ of sender"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderPhoneNumberCharacteristic'
        senderAccountAddress:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender\
            \ for account"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAccountAddressCharacteristic'
        senderDeliveryAddress:
          description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender\
            \ for delivery"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderDeliveryAddressCharacteristic'
        deliveryRequirements:
          description: "RFQ-Sender: filled by customer, any kind of delivery requirements"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryRequirementsCharacteristic'
      required:
      - senderName
      - senderAdress
      - senderEMail
      - senderPhoneNumber
      - senderAccountAddress
      - senderDeliveryAddress
    urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait:
      type: string
      description: "The provided regular expression ensures that the UUID is composed\
        \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\
        \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\
        \ optionally prefixed by \"urn:uuid:\" to make it an IRI."
      pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"
    urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic:
      type: string
      description: Defining a string value for the context
    urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp:
      type: string
      pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\
        .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"
      description: Describes a Property which contains the date and time with an optional
        timezone.
    urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait:
      type: string
      description: "The provided regular expression ensures that the BPNL is composed\
        \ of prefix 'BPNL', 10 digits and two alphanumeric letters."
      pattern: "^BPNL[a-zA-Z0-9]{12}$"
    urn_samm_io.catenax.request_for_quotation_3.0.0_CXHeaderCharacteristic:
      description: header information by Catena-X
      type: object
      properties:
        messageId:
          description: "Unique ID identifying the message. The purpose of the ID is\
            \ to uniquely identify a single message, therefore it MUST not be reused."
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait'
        context:
          description: |-
            Information about the context the message should be considered in.
            The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.
            Both the identifier and the version number MUST correspond to the content of the message.
            If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.<ASPECT-MODEL-NAME>:1.x.x) MUST be used as a value of the context field. This is considered the default case.
            In all other cases the value of the context field MUST follow the pattern <domain>-<subdomain>-<object>:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).
            Versioning only refers to major versions in both default and fallback cases.
            Note: The version of the message's header is specified in the version field.
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic'
        sentDateTime:
          description: Time zone aware timestamp holding the date and the time the
            message was sent by the sending party. The value MUST be formatted according
            to the ISO 8601 standard
          $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp'
        senderBpn:
          description: The Business Partner Number of the sending party. The value
            MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints
            are defined in the corresponding standard
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait'
        receiverBpn:
          description: The Business Partner Number of the receiving party. The value
            MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints
            are defined in the corresponding standard.
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait'
        expectedResponseBy:
          description: Time zone aware timestamp holding the date and time by which
            the sending party expects a certain type of response from the receiving
            party. The meaning and interpretation of the fields's value are context-bound
            and MUST therefore be defined by any business domain or platform capability
            making use of it. The value MUST be formatted according to the ISO 8601
            standard
          $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp'
        relatedMessageId:
          description: Unique ID identifying a message somehow related to the current
            one
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait'
        version:
          description: The unique identifier of the aspect model defining the structure
            and the semantics of the message's header. The version number should reflect
            the versioning schema of aspect models in Catena-X.
          $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait'
      required:
      - messageId
      - context
      - sentDateTime
      - senderBpn
      - receiverBpn
      - version
    RequestForQuotation:
      description: The request for quotation represents the data structure to configure
        a manufacturing request and send this to a supplier receive a quotation
      type: object
      properties:
        rfqIdentification:
          description: all properties necessary for identification of the request
            for quotation
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQIdentificationCharacteristic'
        rfqConfiguration:
          description: all information to configure a request for quotation
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQConfigurationCharacteristic'
        rfqSender:
          description: "all data about sender of request for quotation, important\
            \ for offer and delivery"
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQSenderCharacteristic'
        cxHeader:
          description: header information by Catena-X
          $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_CXHeaderCharacteristic'
      required:
      - rfqIdentification
      - rfqConfiguration
      - rfqSender
      - cxHeader
  responses:
    Unauthorized:
      description: The requesting user or client is not authenticated.
    Forbidden:
      description: The requesting user or client is not authorized to access resources
        for the given tenant.
    NotFoundError:
      description: The requested Twin has not been found.
    ClientError:
      description: Payload or user input is invalid. See error details in the payload
        for more.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RequestForQuotation:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestForQuotation'
      description: The request was successful.
  requestBodies:
    RequestForQuotation:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestForQuotation'
    Filter:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Filter'
