Requests for Quotes
An RFQ, or Request for Quote, is used by purchasers to ask for pricing and availability on items they are looking to purchase.
They can be responded to using the Quote endpoints.
Schema​
Request for Quote​
| Name | Type | Description | Example |
|---|---|---|---|
| id | ID | Unique identifier for rfqs | "ckmnpybisiy5x08abky4g2d1f" |
| deliveryInstructions | string? | Additional instructions for how to deliver the items | "Gate code is 1234" |
| deliveryLocation | Location? | Delivery location for rfq | |
| deliveryLocationBranch | Branch? | Branch information for the delivery location | |
| deliveryLocationAdditionalFields | object? | Additional custom fields for the delivery location | |
| taxCodeId | ID | Kojo RFQ location identifier | "ckmnpybisiy5x08abky4g2d1f" |
| discount | float? | The dollar amount of discounts to subtract from the order total | 125.60 |
| fieldContactName | string? | Name of the field contact receiving the order | "John Doe" |
| fieldContactPhone | string? | Phone number of the field contact receiving the order | "8001854367" |
| needByDateDay | DateTime? | The date the order is needed by | |
| needByWindow | NeedByWindow | Window the order should be delivered by | |
| notes | string? | Additional handwritten details attached to this rfq | |
| bidNumber | string? | User-defined value to identify this RFQ | "1234" |
| items | Item[] | The line items in the rfq | |
| state | RFQState | The current state of the rfq | |
| buyerId | ID | Unique identifier for the buyer company | "ckmnpybisiy5x08abky4g2d1f" |
| buyer | string | Buyer company name | "Customer Company name" |
| taxCodeId | ID | Order tax code identifier | |
| taxExempt | boolean | Indicates that the order is exempt from any and all tax rates entered on line items | |
| bidByDate | DateTime | When to submit a bid on this RFQ by | |
| createdAt | DateTime | When this rfq was created | |
| updatedAt | DateTime | When this rfq was last updated | |
| purchasingAgent | User | User at buyer organization responsible for reconciling the order | |
| createdBy | User | The user who created the rfq | |
| updatedBy | User? | The user who last edited the rfq |
Enums​
NeedByWindow​
| Value | Description |
|---|---|
| ASAP | As soon as possible |
| AMEarly | Early morning |
| AM | Morning |
| PM | Afternoon |
| PMLate | Late Afternoon |
| UNSPECIFIED | Unspecified |
RFQState​
| Value | Description |
|---|---|
| BID_ACTIVE | RFQ is active and accepting bids |
| BID_CANCELLED | RFQ was cancelled |
| BID_COMPLETE | RFQ process is completed |
REST Endpoints​
GET /rfq/:id​
Reads a single order by ID. Note that orders can only be uniquely identified by this ID, as it is possible to have draft or cancelled orders with duplicated PO#'s.
Parameters​
| Name | Description | Example |
|---|---|---|
| id | The ID of the order to fetch | "cl63u8ez503271lr7stfwx53x" |
Response​
A single RFQ.
Example Request​
GET https://api.kojo.tech/seller/rfq/cljn1vfrv0001q9i4d11nldnv
Example Response​
{
"id": "cljn1vfrv0001q9i4d11nldnv",
"bidNumber": "EDI-TEST-RFQ",
"bidByDate": "2023-07-07T16:08:05.390Z",
"jobId": "clip0pko60142q9upizqo6cpn",
"buyerId": "clip0pk8r0086q9upv0mktm4l",
"deliveryLocationId": "clip0pkpl014tq9up1c9voj3v",
"fieldContactName": "connll",
"fieldContactPhone": "+18008675309",
"needByDateDay": "2023-07-04T07:00:00.000Z",
"needByWindow": "ASAP / Rush",
"notes": null,
"taxCodeId": null,
"taxExempt": false,
"createdAt": "2023-07-03T16:02:58.843Z",
"updatedAt": "2023-07-04T23:57:52.859Z",
"state": "BID_ACTIVE",
"deliveryLocation": {
"id": "clip0pkpl014tq9up1c9voj3v",
"addressLine1": "780 S Airport Blvd",
"addressLine2": null,
"name": "SFO Terminal 1 - Main",
"city": "San Francisco",
"state": "CA",
"zipcode": "94128",
"directions": "Follow Terminal 1 departure signs to construction grounds.",
"phone": null
},
"deliveryLocationBranch": {
"id": "clip0pkpl014tq9up1c9voj3v",
"name": "Main Branch",
"code": "BRANCH001"
},
"deliveryLocationAdditionalFields": {
"customField1": "value1",
"customField2": "value2"
},
"vendor": {},
"job": {
"id": "clip0pko60142q9upizqo6cpn",
"jobCode": "12412426",
"name": "SFO Terminal 1"
},
"items": [
{
"id": "cljn25adv000cq9i4279qaxu0",
"lineNumber": 1,
"manufacturer": null,
"manufacturerPartNumber": null,
"needByDate": null,
"notes": null,
"quantity": 55,
"unitDiscount": null,
"unitsOfMeasure": "EA",
"universalProductCode": null,
"vendorPartNumber": null,
"taxRate": null,
"createdAt": "2023-07-03T16:10:38.420Z",
"updatedAt": "2023-07-04T23:57:52.910Z",
"backorderLeadTime": null,
"backorderQuantity": null,
"description": "Burger",
"unitPrice": null,
"extPriceFloat": 0
},
{
"id": "cljn25lq1000gq9i4quxi5ob9",
"lineNumber": 2,
"manufacturer": null,
"manufacturerPartNumber": null,
"needByDate": null,
"notes": null,
"quantity": 55,
"unitDiscount": null,
"unitsOfMeasure": "EA",
"universalProductCode": null,
"vendorPartNumber": null,
"taxRate": null,
"createdAt": "2023-07-03T16:10:53.113Z",
"updatedAt": "2023-07-04T23:57:52.910Z",
"backorderLeadTime": null,
"backorderQuantity": null,
"description": "Fries",
"unitPrice": null,
"extPriceFloat": 0
}
],
"billingLocation": {
"id": "clip0pk8h007zq9upo6s68iek",
"addressLine1": "1725 Slough Avenue",
"addressLine2": null,
"name": "Dunder Mifflin HQ",
"city": "Scranton",
"state": "PA",
"zipcode": "18501",
"directions": null,
"phone": "570-343-1112"
},
"createdBy": {
"id": "clip0pk6k0001q9up8jjfr3t5",
"displayName": "Procurement Agent",
"firstName": "Procurement",
"lastName": "Agent",
"email": "procurement@usekojo.com",
"phone": "650-382-9051",
"role": "Procurement",
"organizationId": "clip0pk8r0086q9upv0mktm4l"
},
"buyer": {
"id": "clip0pk8r0086q9upv0mktm4l",
"name": "Dunder Mifflin",
"phone": null,
"customerAccountNumbers": {"send": "TESTCC", "receive": [ "TESTCC" ]},
"location": {}
}
}
GET /rfqs​
Read all rfqs, with pagination
Parameters​
Accepts all standard pagination parameters.
Allowed orderBy fields: createdAt, flaggedAt, id, needByDateDay, purchaseOrderNumber, updatedAt
Response​
A list of RFQ objects.
Example Request​
GET https://api.kojo.tech/seller/rfqs
Example Request with Pagination and Filtering​
The following example will return the first 100 orders that are open (to exclude already acknowledged orders) with an offset of 0, that have been updated since 12/15/2023 at 20:15:42 UTC.
GET https://api.kojo.tech/seller/rfqs?limit=100&offset=0&state=BID_ACTIVE&bidNumber=123
Example Response​
[
{
"id": "cljn1vfrv0001q9i4d11nldnv",
"bidNumber": "EDI-TEST-RFQ",
"bidByDate": "2023-07-07T16:08:05.390Z",
"jobId": "clip0pko60142q9upizqo6cpn",
"buyerId": "clip0pk8r0086q9upv0mktm4l",
"deliveryLocationId": "clip0pkpl014tq9up1c9voj3v",
"fieldContactName": "connll",
"fieldContactPhone": "+18008675309",
"needByDateDay": "2023-07-04T07:00:00.000Z",
"needByWindow": "ASAP / Rush",
"notes": null,
"taxCodeId": null,
"taxExempt": false,
"createdAt": "2023-07-03T16:02:58.843Z",
"updatedAt": "2023-07-04T23:57:52.859Z",
"state": "BID_ACTIVE",
"deliveryLocation": {
"id": "clip0pkpl014tq9up1c9voj3v",
"addressLine1": "780 S Airport Blvd",
"addressLine2": null,
"name": "SFO Terminal 1 - Main",
"city": "San Francisco",
"state": "CA",
"zipcode": "94128",
"directions": "Follow Terminal 1 departure signs to construction grounds.",
"phone": null
},
"deliveryLocationBranch": {
"id": "clip0pkpl014tq9up1c9voj3v",
"name": "Main Branch",
"code": "BRANCH001"
},
"deliveryLocationAdditionalFields": {
"customField1": "value1",
"customField2": "value2"
},
"vendor": {},
"job": {
"id": "clip0pko60142q9upizqo6cpn",
"jobCode": "12412426",
"name": "SFO Terminal 1"
},
"items": [
{
"id": "cljn25adv000cq9i4279qaxu0",
"lineNumber": 1,
"manufacturer": null,
"manufacturerPartNumber": null,
"needByDate": null,
"notes": null,
"quantity": 55,
"unitDiscount": null,
"unitsOfMeasure": "EA",
"universalProductCode": null,
"vendorPartNumber": null,
"taxRate": null,
"createdAt": "2023-07-03T16:10:38.420Z",
"updatedAt": "2023-07-04T23:57:52.910Z",
"backorderLeadTime": null,
"backorderQuantity": null,
"description": "Burger",
"unitPrice": null,
"extPriceFloat": 0
},
{
"id": "cljn25lq1000gq9i4quxi5ob9",
"lineNumber": 2,
"manufacturer": null,
"manufacturerPartNumber": null,
"needByDate": null,
"notes": null,
"quantity": 55,
"unitDiscount": null,
"unitsOfMeasure": "EA",
"universalProductCode": null,
"vendorPartNumber": null,
"taxRate": null,
"createdAt": "2023-07-03T16:10:53.113Z",
"updatedAt": "2023-07-04T23:57:52.910Z",
"backorderLeadTime": null,
"backorderQuantity": null,
"description": "Fries",
"unitPrice": null,
"extPriceFloat": 0
}
],
"billingLocation": {
"id": "clip0pk8h007zq9upo6s68iek",
"addressLine1": "1725 Slough Avenue",
"addressLine2": null,
"name": "Dunder Mifflin HQ",
"city": "Scranton",
"state": "PA",
"zipcode": "18501",
"directions": null,
"phone": "570-343-1112"
},
"createdBy": {
"id": "clip0pk6k0001q9up8jjfr3t5",
"displayName": "Procurement Agent",
"firstName": "Procurement",
"lastName": "Agent",
"email": "procurement@usekojo.com",
"phone": "650-382-9051",
"role": "Procurement",
"organizationId": "clip0pk8r0086q9upv0mktm4l"
},
"buyer": {
"id": "clip0pk8r0086q9upv0mktm4l",
"name": "Dunder Mifflin",
"phone": null,
"customerAccountNumbers": {"send": "TESTCC", "receive": [ "TESTCC" ]},
"location": {}
}
}
]