Get Routing Group
get
https://api.flxpoint.com/routing-groups/{id}Use this when you want to pull routing data through the API.
🔑 X-API-TOKEN⏱ 2 req/sToken: Account · Source · Channel
This page explains the endpoint. To send a live test request, use the interactive tester in Stoplight or your own Postman / HTTP client.
This will get a Routing Group by ID.
Request
Query parameters
includeSourcesquerybooleanincludeRulesquerybooleanincludeSettingqueryboolean
Example request
get
/routing-groups/{id}curl -X GET "https://api.flxpoint.com/routing-groups/{id}" \
-H "Accept: application/json" \
-H "X-API-TOKEN: YOUR_TOKEN"Responses
200OKapplication/json
idintegerThe `RoutingGroup` ID
namestringThe name of the Routing Group
solutionWorkflowEventIdintegerThis is the ID for the optional workflow that runs after a Routing Group derives a solution.
This workflow is often used to handle "if split order" situations and revert to more stringent Routing Groups as a result.
sourcesarray[RoutingGroupSource]idintegerThe `RoutingGroupSource` ID
routingGroupIdintegerThe `RoutingGroup` ID
sourceIdintegerThe `Source` ID
eligiblebooleanIf this is set to `true` the Source will be eligible for receiving POs/FRs (meaning that source will be considered during the Order Routing process)
If this is set to `false` OR a Source does not have an `RoutingGroupSource` entry for this routing group - the source will not be eligible for receiving POs/FRs.
priorityintegerWhen using the `Preferred Sources` `RoutingPriority` - this determines the "most preferred" Source.
`1` is the **most** important / preferred
`999` is the **least** important / preferred
default
999shippingAddressIdinteger(Optional) This allows you to overwrite the Shipping Address for any POs/FRs that are routing through this `RoutingGroupSource`.
Scenario : Perhaps an Order needs to be routed through your warehouse before it reaches the customer. You can create a `RoutingGroup` dedicated to this and use this `shippingAddressId` on all `RoutingGroupSource` entries to ship the Order to your warehouse first.
suppressTrackingbooleanIf you are leveraging the `shippingAddressId`, this flag will set the `PurchaseOrder` flag `suppressTracking` to true when it's generated through this `RoutingGroupSource`.
This will ensure that any `Shipment`s that are added will not be synced back to the Channel.
The primary use case behind this is in conjunction with the `shippingAddressId` override : "don't send a tracking # to the end customer when it's for my warehouse"
sourceobjectThis object represents the basic properties of a Source. To learn more about sources, visit https://docs.flxpoint.com/flxpoint/sources.
Note : Some of these properties (i.e. "address") may not be populated if the Source is being returned as a supporting property (i.e. the "/jobs" endpoint)
idintegerrequirednamestringdescriptionstringinsertedAtstring (date-time)addressIdintegerrateShoppingbooleanThe setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see https://docs.flxpoint.com/flxpoint/rate-shopping)
releaseCommittedStockOnShipmentAddedbooleandeprecated**(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released as soon as Shipments are added. If `false`, committed stock will be released after Shipments are added AND Inventory quantity changes.
releaseCommittedStockOnQuantityUpdatebooleandeprecated**(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released as soon as inventory variant quantity is changed. If `false`, committed stock will be released after Shipments are added AND Inventory quantity changes.
vendorIdintegerThe `Vendor` ID associated to a Source
typeobjectidintegernamestringallowed
Data SourceInternal WarehouseExternal WarehouseVendor Warehousehandlestringallowed
data_sourceinternal_warehouseexternal_warehousevendor_warehousecurrencyobjectidintegerrequiredcodestringrequirednamestringsymbolstringunicodeDecimalstringaddressobjectidintegernamestringField created real-time by concatenating "firstName" and "lastName"
addressLine1stringaddressLine2stringcitystringstatestringcountrystringstateCodestringcountryCodestringpostalstringPostal / Zip Code of address
emailstringphonestringFree form string field, format isn't enforced
companyNamestringfirstNamestringlastNamestringredactedbooleanRepresents if the address information was related to an Order with a PII (Personably Identifiable Information) retention policy attached. If the Order exceeds the PII retention period, this address will have information redacted.
hashstringRepresents a unique hash of this address.
commitStockbooleanWhen `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory variants.
allowBackordersbooleanIt will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock.
vendorobjectA `Vendor` represents a fulfillment partner you interact with.
A `Vendor` can have multiple `Source`s associated to it. One way to think of "Vendors" and "Sources" is a Vendor with multiple fulfillment centers (i.e. East & West Warehouses are 2 Sources associated to a single Vendor).
Vendors can have a "Vendor Portal" enabled to allow the Vendor to perform manual interactions (like updating inventory or shipping POs sent to them).
For more information, visit our documentation : https://docs.flxpoint.com/flxpoint/vendor-management
idintegerThe ID of the Vendor
createdByUserIdintegerWhen a Vendor is created in-app, a `User` ID is tracked.
createdAtstring (date-time)Timestamp of when the Vendor was created.
deletedAtstring (date-time)Timestamp of when the Vendor was deleted/archived.
namestringdescriptionstringportalEnabledbooleanThis flag determines if the Vendor can access a Vendor Portal to manually interact with Inventory/PO flows.
If this flag is `true` - there is still a requirement to ensure you have a portal configured.
To configure a Vendor Portal, you have to setup a subdomain such as : `example.vendors.flxpoint.com`
You can either do this via the UI (feature launching in late 2021) or via a ticket to our Support Team.
containsFirearmsWorkflowEventIdintegercontainsFirearmsbooleanshippingCostWorkflowEventIdintegerdropshipFeeWorkflowEventIdintegerintegrationsarray[any]settingsarray[SourceSetting]idintegerrequiredThe `SourceSetting` ID
settingobjectrequiredidintegerthe `Setting` ID
namestringrequiredA friendly name or title for the Setting
handlestringrequiredThe `handle` represents a quick human-readable version of the `id` to understand what a setting relates to.
Some example handles can be found below. To retrieve a complete list of setting handles, retrieve back a list of Settings and leverage the retrieved handles.
- `source.send_po_from_vendor_portal`
- `source.cancel_unacknowledged_items`
- `source.upload_inventory_from_vendor_portal`
- `source.upload_shipment_from_vendor_portal`
- `source.upload_invoice_from_vendor_portal`
typestringrequiredThe type of setting. This determines how you may present the selection or setting to a user.
- `string` = a short text input
- `text` = a long text input
- `number` = a numeric input
- `img` = an image link input
- `email` = a valid email address input
- `boolean` = a true/false toggle choice
- `select` = some form of selection, select settings means the `options` field must be populated with possible selections
allowed
imgbooleantime_interval_thresholdemailstringtextselectnumberradiomultijsonvalueTypestringrequiredThe type of value the setting is expecting.
- `integer` = a whole number value
- `decimal` = a decimal number value
- `string` = a short text value
- `boolean` = a true/false value
allowed
integerbooleantime_interval_thresholdstringselectemaildecimalnumbermultijsonplaceholderstringAn optional "placeholder" that will be used for text or numeric based inputs. Note : a placeholder is different than "defaultValue". Placeholders simply suggest a value.
Often times placeholders might be used to suggest a value on an input that we cannot default for other reasons.
defaultValuestringThe `defaultValue` represents our recommended selection for a given Setting.
For example, the "Protect Against Duplicate Orders" setting has a `defaultValue : true` to promote all new users to leverage this functionality by default.
descriptionstringDescription of the setting - this will appear below the setting name in the UI when a user is configuring it.
optionsstringA field expecting a `JSON Array` in the format : `[{ "[value]" : "[descriptor]"}]` where :
- `[value]` = the value of the selection that will be stored in the `value` field when saved
- `[descriptor]` = a way to describe the selection to users so they know what they are choosing.
An example for this is :
- `payment_provider` setting
- `options` : `{"1" :"Stripe" ,"2" : "Square"}`
`Stripe` and `Square` appear in a dropdown. When a user chooses `Stripe` we store `1` in the `value` field.
parentSettingIdintegerIf the setting is associated to another setting, this field may be populated.
For example, you may choose to `Override PO Cancellations` notifications to go to a separate email address. To do this you may configure the `notification.purchase_order_canceled.override_email` setting. This override setting has a `parentSettingId` to the standard email notification `notification.purchase_order_canceled`
This field is primarily used for UI purposes to nest additional settings below a parent setting.
categorySettingCategorysourceIdintegerId of channel this channel setting belong to.
valuestringrequiredThe setting value that is configured
insertedAtstring (date-time)updatedAtstring (date-time)autoCreateListingsWorkflowEventIdintegerautoRebuildEnabledOnstring (date-time)autoRebuildConfirmedByUserstringautoListEnabledOnstring (date-time)autoListConfirmedByUserstringautoCreateListingsForAllInventoriesbooleanautoCreateListingsForSpecificInventoriesbooleanautoGenerateInvoiceWorkflowIdintegershippingAddressobjectidintegernamestringField created real-time by concatenating "firstName" and "lastName"
addressLine1stringaddressLine2stringcitystringstatestringcountrystringstateCodestringcountryCodestringpostalstringPostal / Zip Code of address
emailstringphonestringFree form string field, format isn't enforced
companyNamestringfirstNamestringlastNamestringredactedbooleanRepresents if the address information was related to an Order with a PII (Personably Identifiable Information) retention policy attached. If the Order exceeds the PII retention period, this address will have information redacted.
hashstringRepresents a unique hash of this address.
rulesarray[RoutingRule]idintegerorderRoutingGroupIdintegerorderRoutingRuleTypeobjectidintegernamestringhandlestringoptionalMarginAllowedbooleandescriptionstringhasBreakOutConditionbooleanbreakOutEnabledTextstringbreakOutDisabledTextstringtooltipstringpriorityintegerfixedValuenumberpercentageValuenumberenableBreakOutbooleanmarginInMilesnumberenabledbooleansettingobjectidintegerorderRoutingGroupIdintegerorderCannotBeRoutedActionHandlestringorderCannotBeRoutedEmailstringorderRouteBasedOnLowerCostbooleanpreferredSourceIdintegerholdFirearmsOrdersbooleanholdMultipleFrOrdersbooleanExample response
{
"id": 0,
"name": "string",
"solutionWorkflowEventId": 0,
"sources": [
{
"id": 0,
"routingGroupId": 0,
"sourceId": 0,
"eligible": true,
"priority": 0,
"shippingAddressId": 0,
"suppressTracking": true,
"source": {
"id": 0,
"name": "string",
"description": "string",
"insertedAt": "2026-04-20T00:00:00Z",
"addressId": 0,
"rateShopping": true,
"releaseCommittedStockOnShipmentAdded": true,
"releaseCommittedStockOnQuantityUpdate": true,
"vendorId": 0,
"type": {
"id": null,
"name": null,
"handle": null
},
"currency": {
"id": null,
"code": null,
"name": null,
"symbol": null,
"unicodeDecimal": null
},
"address": {
"id": null,
"name": "Joe Smith",
"addressLine1": "120 1st Lane",
"addressLine2": "Suite 123",
"city": "Jacksonville",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"postal": "12345",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": null,
"firstName": "Joe",
"lastName": "Smith",
"redacted": null,
"hash": null
},
"commitStock": true,
"allowBackorders": true,
"vendor": {
"id": null,
"createdByUserId": null,
"createdAt": null,
"deletedAt": null,
"name": null,
"description": null,
"portalEnabled": null
},
"containsFirearmsWorkflowEventId": 0,
"containsFirearms": true,
"shippingCostWorkflowEventId": 0,
"dropshipFeeWorkflowEventId": 0,
"integrations": [
null
],
"settings": [
null
],
"autoCreateListingsWorkflowEventId": 0,
"autoRebuildEnabledOn": "2026-04-20T00:00:00Z",
"autoRebuildConfirmedByUser": "string",
"autoListEnabledOn": "2026-04-20T00:00:00Z",
"autoListConfirmedByUser": "string",
"autoCreateListingsForAllInventories": true,
"autoCreateListingsForSpecificInventories": true,
"autoGenerateInvoiceWorkflowId": 0
},
"shippingAddress": {
"id": 0,
"name": "Joe Smith",
"addressLine1": "120 1st Lane",
"addressLine2": "Suite 123",
"city": "Jacksonville",
"state": "Florida",
"country": "United States",
"stateCode": "FL",
"countryCode": "US",
"postal": "12345",
"email": "person@example.com",
"phone": "1-555-123-4567",
"companyName": "string",
"firstName": "Joe",
"lastName": "Smith",
"redacted": true,
"hash": "string"
}
}
],
"rules": [
{
"id": 0,
"orderRoutingGroupId": 0,
"orderRoutingRuleType": {
"id": 0,
"name": "string",
"handle": "string",
"optionalMarginAllowed": true,
"description": "string",
"hasBreakOutCondition": true,
"breakOutEnabledText": "string",
"breakOutDisabledText": "string",
"tooltip": "string"
},
"priority": 0,
"fixedValue": 0,
"percentageValue": 0,
"enableBreakOut": true,
"marginInMiles": 0,
"enabled": true
}
],
"setting": {
"id": 0,
"orderRoutingGroupId": 0,
"orderCannotBeRoutedActionHandle": "string",
"orderCannotBeRoutedEmail": "string",
"orderRouteBasedOnLowerCost": true,
"preferredSourceId": 0,
"holdFirearmsOrders": true,
"holdMultipleFrOrders": true
}
}401Unauthorized
No schema documented for this status.
404Not Found
No schema documented for this status.
OpenAPI fragment
{
"get": {
"summary": "Get Routing Group",
"description": "This will get a Routing Group by ID. ",
"parameters": [
{
"schema": {
"type": "boolean",
"default": false
},
"in": "query",
"name": "includeSources"
},
{
"schema": {
"type": "boolean",
"default": false
},
"in": "query",
"name": "includeRules"
},
{
"schema": {
"type": "boolean",
"default": false
},
"in": "query",
"name": "includeSetting"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoutingGroup"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Not Found"
}
}
}
}Ready to run it? Send the curl from your terminal or Postman, or use the interactive tester in Stoplight.Open in Stoplight