FlxpointAPI Help CenterBeta

Get Routing Groups

gethttps://api.flxpoint.com/routing-groups

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.

Endpoint to retrieve back a list of routing groups. To understand more about routing groups, visit our documentation : https://docs.flxpoint.com/flxpoint/routing-groups

You can also look at the `RoutingGroup` model for additional context.

Requires Account-level Token privileges.

Request

Query parameters
  • includeSourcesqueryboolean

    Determines if `sources` are retrieved back and included in the response. Default `false`.

  • includeRulesqueryboolean

    Determines if `routing priorities` are retrieved back and included in the response. Default `false`.

  • includeSettingqueryboolean

    Determines if `routing group setting` is retrieved back and included in the response. Default `false`.

Example request

get/routing-groups
curl -X GET "https://api.flxpoint.com/routing-groups" \
  -H "Accept: application/json" \
  -H "X-API-TOKEN: YOUR_TOKEN"

Responses

200OKapplication/json
array[RoutingGroup]
idinteger
The `RoutingGroup` ID
namestring
The name of the Routing Group
solutionWorkflowEventIdinteger
This 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]
idinteger
The `RoutingGroupSource` ID
routingGroupIdinteger
The `RoutingGroup` ID
sourceIdinteger
The `Source` ID
eligibleboolean
If 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.
priorityinteger
When using the `Preferred Sources` `RoutingPriority` - this determines the "most preferred" Source. `1` is the **most** important / preferred `999` is the **least** important / preferred
default 999
shippingAddressIdinteger
(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.
suppressTrackingboolean
If 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"
sourceobject
This 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)
idintegerrequired
namestring
descriptionstring
insertedAtstring (date-time)
addressIdinteger
rateShoppingboolean
The 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.
vendorIdinteger
The `Vendor` ID associated to a Source
typeobject
idinteger
namestring
allowedData SourceInternal WarehouseExternal WarehouseVendor Warehouse
handlestring
alloweddata_sourceinternal_warehouseexternal_warehousevendor_warehouse
currencyobject
idintegerrequired
codestringrequired
namestring
symbolstring
unicodeDecimalstring
addressobject
idinteger
namestring
Field created real-time by concatenating "firstName" and "lastName"
addressLine1string
addressLine2string
citystring
statestring
countrystring
stateCodestring
countryCodestring
postalstring
Postal / Zip Code of address
emailstring
phonestring
Free form string field, format isn't enforced
companyNamestring
firstNamestring
lastNamestring
redactedboolean
Represents 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.
hashstring
Represents a unique hash of this address.
commitStockboolean
When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory variants.
allowBackordersboolean
It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock.
vendorobject
A `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
idinteger
The ID of the Vendor
createdByUserIdinteger
When 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.
namestring
descriptionstring
portalEnabledboolean
This 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.
containsFirearmsWorkflowEventIdinteger
containsFirearmsboolean
shippingCostWorkflowEventIdinteger
dropshipFeeWorkflowEventIdinteger
integrationsarray[any]
settingsarray[SourceSetting]
idintegerrequired
The `SourceSetting` ID
settingSettingrequired
sourceIdinteger
Id of channel this channel setting belong to.
valuestringrequired
The setting value that is configured
insertedAtstring (date-time)
updatedAtstring (date-time)
autoCreateListingsWorkflowEventIdinteger
autoRebuildEnabledOnstring (date-time)
autoRebuildConfirmedByUserstring
autoListEnabledOnstring (date-time)
autoListConfirmedByUserstring
autoCreateListingsForAllInventoriesboolean
autoCreateListingsForSpecificInventoriesboolean
autoGenerateInvoiceWorkflowIdinteger
shippingAddressobject
idinteger
namestring
Field created real-time by concatenating "firstName" and "lastName"
addressLine1string
addressLine2string
citystring
statestring
countrystring
stateCodestring
countryCodestring
postalstring
Postal / Zip Code of address
emailstring
phonestring
Free form string field, format isn't enforced
companyNamestring
firstNamestring
lastNamestring
redactedboolean
Represents 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.
hashstring
Represents a unique hash of this address.
rulesarray[RoutingRule]
idinteger
orderRoutingGroupIdinteger
orderRoutingRuleTypeobject
idinteger
namestring
handlestring
optionalMarginAllowedboolean
descriptionstring
hasBreakOutConditionboolean
breakOutEnabledTextstring
breakOutDisabledTextstring
tooltipstring
priorityinteger
fixedValuenumber
percentageValuenumber
enableBreakOutboolean
marginInMilesnumber
enabledboolean
settingobject
idinteger
orderRoutingGroupIdinteger
orderCannotBeRoutedActionHandlestring
orderCannotBeRoutedEmailstring
orderRouteBasedOnLowerCostboolean
preferredSourceIdinteger
holdFirearmsOrdersboolean
holdMultipleFrOrdersboolean
Example response
[
  {
    "id": 0,
    "name": "string",
    "solutionWorkflowEventId": 0,
    "sources": [
      {
        "id": 0,
        "routingGroupId": 0,
        "sourceId": 0,
        "eligible": true,
        "priority": 0,
        "shippingAddressId": 0,
        "suppressTracking": true,
        "source": {
          "id": null,
          "name": null,
          "description": null,
          "insertedAt": null,
          "addressId": null,
          "rateShopping": null,
          "releaseCommittedStockOnShipmentAdded": null,
          "releaseCommittedStockOnQuantityUpdate": null,
          "vendorId": null,
          "type": null,
          "currency": null,
          "address": null,
          "commitStock": null,
          "allowBackorders": null,
          "vendor": null,
          "containsFirearmsWorkflowEventId": null,
          "containsFirearms": null,
          "shippingCostWorkflowEventId": null,
          "dropshipFeeWorkflowEventId": null,
          "integrations": null,
          "settings": null,
          "autoCreateListingsWorkflowEventId": null,
          "autoRebuildEnabledOn": null,
          "autoRebuildConfirmedByUser": null,
          "autoListEnabledOn": null,
          "autoListConfirmedByUser": null,
          "autoCreateListingsForAllInventories": null,
          "autoCreateListingsForSpecificInventories": null,
          "autoGenerateInvoiceWorkflowId": null
        },
        "shippingAddress": {
          "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
        }
      }
    ],
    "rules": [
      {
        "id": 0,
        "orderRoutingGroupId": 0,
        "orderRoutingRuleType": {
          "id": null,
          "name": null,
          "handle": null,
          "optionalMarginAllowed": null,
          "description": null,
          "hasBreakOutCondition": null,
          "breakOutEnabledText": null,
          "breakOutDisabledText": null,
          "tooltip": null
        },
        "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.

OpenAPI fragment
{
  "get": {
    "summary": "Get Routing Groups",
    "description": "Endpoint to retrieve back a list of routing groups. To understand more about routing groups, visit our documentation : https://docs.flxpoint.com/flxpoint/routing-groups\n\nYou can also look at the `RoutingGroup` model for additional context.\n\nRequires Account-level Token privileges. ",
    "parameters": [
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeSources",
        "description": "Determines if `sources` are retrieved back and included in the response. Default `false`. "
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeRules",
        "description": "Determines if `routing priorities` are retrieved back and included in the response. Default `false`. "
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeSetting",
        "description": "Determines if `routing group setting` is retrieved back and included in the response. Default `false`. "
      }
    ],
    "responses": {
      "200": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "description": "",
              "items": {
                "$ref": "#/components/schemas/RoutingGroup"
              }
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized"
      }
    }
  }
}
Ready to run it? Send the curl from your terminal or Postman, or use the interactive tester in Stoplight.Open in Stoplight