Fairmarkit RFQ API
The RFQ API from Fairmarkit — 11 operation(s) for rfq.
The RFQ API from Fairmarkit — 11 operation(s) for rfq.
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