Fairmarkit RFQ API

The RFQ API from Fairmarkit — 11 operation(s) for rfq.

OpenAPI Specification

fairmarkit-rfq-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: BUYER PUBLIC Business Units RFQ API
  version: '3'
  description: The Fairmarkit Buyer API is a RESTful API that uses HTTP requests to allow you to access and use your Fairmarkit data. It has predictable resource-oriented URLs that use standard HTTP response codes, authentication, and verbs. See the Fairmarkit API developer portal for more information.
  termsOfService: https://www.fairmarkit.com/terms-of-service
  contact:
    name: Fairmarkit Support
    url: https://fmkt.zendesk.com/hc/en-us
    email: support@fairmarkit.com
servers:
- url: https://staging.fairmarkit.com/
tags:
- name: RFQ
paths:
  /services/self-service/api/v3/rfq/{uuid}/internal-notes/:
    post:
      tags:
      - RFQ
      summary: Add Internal Note
      operationId: add_internal_note_services_self_service_api_v3_rfq__uuid__internal_notes__post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQInternalNote'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/InternalNote'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Creates a new internal note for an RFQ event.
    get:
      tags:
      - RFQ
      summary: List Internal Notes
      operationId: get_internal_notes_services_self_service_api_v3_rfq__uuid__internal_notes__get
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: false
        schema:
          title: Limit
          maximum: 100
          minimum: 1
          type: integer
          default: 20
          description: Maximum number of records to return. Defaults to 20.
        name: limit
        in: query
        description: Maximum number of records to return. Defaults to 20.
      - required: false
        schema:
          title: Offset
          minimum: 0
          type: integer
          default: 0
          description: Zero-based offset of the first record to return. Defaults to 0.
        name: offset
        in: query
        description: Zero-based offset of the first record to return. Defaults to 0.
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ListRetrieve_InternalNote_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns a list of internal notes for an RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/:
    delete:
      tags:
      - RFQ
      summary: Delete RFQ Event
      operationId: soft_delete_services_self_service_api_v3_rfq__uuid___delete
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Deletes an existing RFQ event.
    put:
      tags:
      - RFQ
      summary: Update RFQ Event
      operationId: update_services_self_service_api_v3_rfq__uuid___put
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQUpdate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/RFQRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Updates an existing RFQ event.
    get:
      tags:
      - RFQ
      summary: Get RFQ Event Details
      operationId: retrieve_services_self_service_api_v3_rfq__uuid___get
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/RFQRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns details for an RFQ event.
  /services/self-service/api/v3/rfq/:
    get:
      tags:
      - RFQ
      summary: List RFQ Events
      operationId: get_rfq_list_services_self_service_api_v3_rfq__get
      parameters:
      - description: Start of the created-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Min
          description: Start of the created-at time range. Use ISO 8601 format.
        name: created_at_min
        in: query
      - description: End of the created-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Max
          description: End of the created-at time range. Use ISO 8601 format.
        name: created_at_max
        in: query
      - description: Start of the updated-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Min
          description: Start of the updated-at time range. Use ISO 8601 format.
        name: updated_at_min
        in: query
      - description: End of the updated-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Max
          description: End of the updated-at time range. Use ISO 8601 format.
        name: updated_at_max
        in: query
      - description: Maximum number of records to return. Defaults to 20.
        required: false
        schema:
          title: Limit
          maximum: 100
          minimum: 1
          type: integer
          default: 20
          description: Maximum number of records to return. Defaults to 20.
        name: limit
        in: query
      - description: Zero-based offset of the first record to return. Defaults to 0.
        required: false
        schema:
          title: Offset
          minimum: 0
          type: integer
          default: 0
          description: Zero-based offset of the first record to return. Defaults to 0.
        name: offset
        in: query
      - required: false
        schema:
          $ref: '#/components/schemas/CoreRFQStatus'
          description: Filter by status.
        name: status
        in: query
        description: Filter by status.
      - required: false
        schema:
          title: External Id
          type: string
        name: external_id
        in: query
        description: Filter RFQ records by external RFQ ID.
      - description: Fairmarkit API Key
        required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ListRetrieve_RFQListDetail_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns a list of RFQ events.
    post:
      tags:
      - RFQ
      summary: Create RFQ Event
      operationId: create_services_self_service_api_v3_rfq__post
      parameters:
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQ'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/RFQRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Creates a new RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/cancel:
    post:
      tags:
      - RFQ
      summary: Cancel RFQ Event
      operationId: cancel_services_self_service_api_v3_rfq__uuid__cancel_post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQCancelRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Cancels an existing RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/award:
    post:
      tags:
      - RFQ
      summary: Award RFQ
      operationId: award_rfq_services_self_service_api_v3_rfq__uuid__award_post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: API key for authentication.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQAwardRequestData'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/RfqIDResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Awards an RFQ by selecting quotation items and optionally providing a purchase order number.
  /services/self-service/api/v3/rfq/{uuid}/quotations/:
    get:
      tags:
      - RFQ
      summary: List Quotations
      operationId: get_quotations_list_services_self_service_api_v3_rfq__uuid__quotations__get
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: Limit
          maximum: 100
          minimum: 1
          type: integer
          default: 20
          description: Maximum number of records to return. Defaults to 20.
        name: limit
        in: query
        description: Maximum number of records to return. Defaults to 20.
      - required: false
        schema:
          title: Offset
          minimum: 0
          type: integer
          default: 0
          description: Zero-based offset of the first record to return. Defaults to 0.
        name: offset
        in: query
        description: Zero-based offset of the first record to return. Defaults to 0.
      - description: If true, return only awarded quotations and within them only awarded items/subitems. Filter is applied on the current page only; `count` and pagination links reflect the unfiltered set.
        required: false
        schema:
          title: Is Awarded Only
          type: boolean
          description: If true, return only awarded quotations and within them only awarded items/subitems. Filter is applied on the current page only; `count` and pagination links reflect the unfiltered set.
          default: false
        name: is_awarded_only
        in: query
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ListRetrieve_Quotation_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns a list of quotations for an RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/archive:
    post:
      tags:
      - RFQ
      summary: Archive RFQ Event
      operationId: archive_services_self_service_api_v3_rfq__uuid__archive_post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQArchiveRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Archives an existing RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/approvals:
    get:
      tags:
      - RFQ
      summary: List RFQ Approvals
      operationId: get_rfq_approvals_services_self_service_api_v3_rfq__uuid__approvals_get
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                title: Response Get Rfq Approvals
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalDetail'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns approval data for an RFQ event.
  /services/self-service/api/v3/rfq/{uuid}/approvals/{approval_id}/reject-step:
    post:
      tags:
      - RFQ
      summary: Reject RFQ Step
      operationId: reject_rfq_step_services_self_service_api_v3_rfq__uuid__approvals__approval_id__reject_step_post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: true
        schema:
          title: Approval Id
          format: uuid
          type: string
        name: approval_id
        in: path
        description: Approval ID.
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalStepRejectRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApprovalIdResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Rejects a step in the RFQ approval workflow.
  /services/self-service/api/v3/rfq/{uuid}/approvals/{approval_id}/approve-step:
    post:
      tags:
      - RFQ
      summary: Approve RFQ Step
      operationId: approve_rfq_step_services_self_service_api_v3_rfq__uuid__approvals__approval_id__approve_step_post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
        description: RFQ ID (Fairmarkit).
      - required: true
        schema:
          title: Approval Id
          type: string
          format: uuid
        name: approval_id
        in: path
        description: Approval ID.
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalStepRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApprovalIdResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Approves a step in the RFQ approval workflow.
  /services/self-service/api/v3/rfq/{uuid}/purchase-order/:
    description: Updates purchase order information for an existing RFQ. The RFQ must be awarded before this endpoint can update it.
    put:
      tags:
      - RFQ
      summary: Update Purchase Order
      operationId: update_purchase_order_services_self_service_api_v3_rfq__uuid__purchase_order__put
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RFQPurchaseOrder'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/RFQRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Updates purchase order information for an existing RFQ.
components:
  schemas:
    RFQ:
      title: RFQ
      required:
      - title
      - closes_at
      - buyer
      - items
      type: object
      description: Data for an RFQ. An RFQ (request for quote) is a buyer's request to one or more suppliers to provide a quoted price for a specified list of items or services.
      properties:
        title:
          title: Title
          type: string
          description: A brief, descriptive title for the request.
        closes_at:
          title: Closes At
          type: string
          format: date-time
          description: Date and time when the RFQ is scheduled to close. String must be formatted using ISO 8601 format. Enter time in 30-minute intervals.
        external_id:
          title: External Id
          type: string
          description: External RFQ reference ID. It can be used to track RFQs across systems.
        urgency:
          allOf:
          - $ref: '#/components/schemas/RFQUrgency'
          default: normal
          description: Urgency of the request. Available options include Normal, Rush, or Emergency.
        payment_process:
          allOf:
          - $ref: '#/components/schemas/RFQPaymentProcess'
          default: po
          description: How the buyer will pay for goods and services. Available options include `po`, `invoice_only`, or `credit_card`.
        currency:
          allOf:
          - $ref: '#/components/schemas/Currency'
          default: USD
          description: Three-character alphabetic code that represents a currency. Fairmarkit uses the ISO 4217 international standard.
        is_marketplace:
          title: Is Marketplace
          type: boolean
          default: false
          description: Is the RFQ shared to the Fairmarkit marketplace?
        notes:
          title: Notes
          type: string
          description: Notes to suppliers. Up to 4,000 characters can be entered.
        address1:
          title: Address1
          type: string
          description: Address line 1.
        address2:
          title: Address2
          type: string
          description: Address line 2.
        city:
          title: City
          type: string
          description: Address city.
        state:
          title: State
          type: string
          description: Address state.
        zip:
          title: Zip
          type: string
          description: Address zip code.
        shipping_type:
          title: Shipping Type
          anyOf:
          - $ref: '#/components/schemas/RFQShippingType'
          - $ref: '#/components/schemas/EmptyString'
          description: Preferred shipping method. Available options include *Courier*, *Critical*, *Freight*, *Ground*, *Ground w/ Freight Pricing*, *Next Day*, *Next Day - AM*, *Ocean Freight*, *Priority Mail*, *Priority Mail Express*, *Same Day*, *Saturday*, *Three Day*, *Two Day*, and *Two Day - Am*. See [Shipping type and Carrier](https://docs.staging.fairmarkit.com/content/glossaries/shippingtype-carrier.htm) for more information.
        carrier:
          title: Carrier
          anyOf:
          - $ref: '#/components/schemas/RFQCarrier'
          - $ref: '#/components/schemas/EmptyString'
          description: Preferred shipping carrier. Available options depend on on the selected Shipping Type. See [Shipping type and Carrier](https://docs.staging.fairmarkit.com/content/glossaries/shippingtype-carrier.htm) for more information.
        country:
          title: Country
          anyOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/EmptyString'
        preferred_delivery_date:
          title: Preferred Delivery Date
          type: string
          format: date-time
          description: Preferred Delivery Date.
        categories:
          title: Categories
          maxItems: 50
          uniqueItems: true
          type: array
          description: Categories.
          items:
            type: string
            format: uuid
        external_data:
          title: External Data
          type: object
          description: Additional, open field to store internal information about the RFQ event.
        meta_tags:
          title: Meta Tags
          description: Meta tags to store additional information. Send a list of meta tags, and they will be processed. To remove all meta tags, send an empty list.
          type: array
          items:
            $ref: '#/components/schemas/api__v3__models__meta_tag__MetaTagRetrieve'
        business_unit:
          title: Business Unit
          type: string
          format: uuid
          description: Business unit UUID (Fairmarkit).
        erp_system_uuid:
          title: Erp System Uuid
          type: string
          format: uuid
          description: ERP system UUID (Fairmarkit).
        requester_title:
          title: Requester Title
          type: string
          description: Requester Title.
        buyer:
          title: Buyer
          type: string
          description: Fairmarkit buyer's email address.
        items:
          title: Items
          type: array
          description: A list of requested items and services.
          items:
            $ref: '#/components/schemas/RFQItem'
        archiving_reason:
          type: string
          title: Archiving Reason
          default: ''
        archiving_note:
          type: string
          title: Archiving Note
          default: ''
        cancellation_reason:
          type: string
          title: Cancellation Reason
          default: ''
    NoBidKind:
      title: NoBidKind
      enum:
      - out_of_stock
      - items_not_carried
      - other
      - more_information_needed_to_quote
      - price_not_competitive
      - ship_address_outside_our_coverage_area
      type: string
      description: Reason categories a supplier can select when declining to bid on an RFQ.
    RFQPurchaseOrder:
      title: RFQPurchaseOrder
      required:
      - po_number
      type: object
      properties:
        po_number:
          title: Po Number
          type: string
          description: Purchase order number.
      description: Data for associating a purchase order with an RFQ. The RFQ must be awarded to update.
    RFQArchivingReason:
      title: RFQArchivingReason
      enum:
      - required_rush_order
      - created_event_version
      - created_new_round
      - incorrectly_sent
      - archived_through_bundling
      - extension_of_existing_po
      - sourced_outside_of_fairmarkit
      - duplicate_request
      - sourced_from_original_manufacturer_or_managed_spend
      - managed_spend
      - after_the_fact_po
      - emergency_event
      - preferred_supplier
      - other
      - withdrawn
      - ''
      description: RFQ archiving reason values.
    ServiceUOM:
      title: ServiceUOM
      enum:
      - each
      - fte
      - yes_no
      - hour
      - day
      - analysis
      - multiple_choice
      - audit
      - campaign
      - contract
      - event
      - integration
      - production
      - program
      - project
      - site
      - sme
      - training
      - webinar
      - year
      - quarter
      - month
      - week
      - minute
      - second
      - date
      - date_range
      - text
      - attachment
      - percent
      - no_response
      - number
      - compliance
      - lump sum
      - set
      - metric ton
      - words
      - asin
      - segments
      - annotations_lines
      - labels
      - videos
      - pages
      - per_thousand_words
      - meter_minute
      - pikofarad
      - acre
      - ton_cubic_meter
      - enzyme_units
      - gigajoule
      - canister
      - crate
      - activity_unit
      - mile
      - cubic_millimeter
      - milliwatt
      - megawatt_hour
      - points
      - group_proportion
      - microsiemens_per_cm
      description: Supported units of measurement for services.
    ValidationError:
      title: ValidationError
      required:
      - loc
      - msg
      - type
      type: object
      description: Details for a validation error.
      properties:
        loc:
          title: Location
          type: array
          description: Error location
          items:
            anyOf:
            - type: string
            - type: integer
        msg:
          title: Message
          type: string
          description: Human readable explanation of the error.
        type:
          title: Error Type
          type: string
          description: Computer-readable identifier of the error type.
    RFQAwardRequestData:
      title: RFQAwardRequestData
      required:
      - awarded_quotation_items
      type: object
      properties:
        awarded_quotation_items:
          type: array
          items:
            $ref: '#/components/schemas/AwardedQuotationItem'
          title: Awarded Quotation Items
        po_number:
          type: string
          title: Po Number
    Approver:
      title: Approver
      required:
      - id
      - email
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Unique identifier for the approver.
        email:
          title: Email
          type: string
          description: Email address of the approver.
      description: Information about an approver.
    BusinessUnitBuyerCompany:
      title: BusinessUnitBuyerCompany
      description: Defines the buyer company for a business unit.
      required:
      - id
      - uuid
      - title
      type: object
      properties:
        id:
          title: Id
          type: integer
          description: Company ID.
        uuid:
          title: Uuid
          type: string
          description: Company UUID.
        title:
          title: Title
          type: string
          description: Company name.
    RFQUrgency:
      title: RFQUrgency
      enum:
      - normal
      - rush
      - emergency
      type: string
      description: RFQ urgency values.
    ApprovalStep:
      title: ApprovalStep
      required:
      - id
      - approver
      - status
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Unique identifier for the approval step.
        approver:
          title: Approver
          allOf:
          - $ref: '#/components/schemas/Approver'
          description: Information about the person responsible for this step.
        status:
          title: Status
          type: string
          description: Current status of the approval step.
        response:
          title: Response
          allOf:
          - $ref: '#/components/schemas/ApprovalStepResponse'
          description: Response data if the step has been acted upon.
        reassigned_at:
          title: Reassigned At
          type: string
          format: date-time
          description: Timestamp when the step was rea

# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fairmarkit/refs/heads/main/openapi/fairmarkit-rfq-api-openapi.yml