FlxpointAPI Help CenterBeta

Get Sources

gethttps://api.flxpoint.com/sources

Use this when you want to pull source 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 endpoint will retrieve back a list of Sources for a configured account. This endpoint requires an Account level API token

Request

Query parameters
  • filterByIdsqueryarray[integer]

    Optionally pass a list of Source IDs to filter on. Max 50 IDs

  • filterFirearmsEnabledqueryboolean

    Optionally set this to `true` to filter sources that contain firearms. If `false` or not passed, all Sources will be returned

  • filterArchivedqueryboolean

    Set this to `false` to include archived Sources. Default is `true` so archived Sources are not returned

  • includeAddressqueryboolean

    Set this to `true` to return back the `address` on the Source

  • includeIntegrationsqueryboolean

    Set this to `true` to return back the `integrations` on the Source

  • includeSettingsqueryboolean

    Set this to `true` to return back the `settings` on the Source. This will include all available settings and not just those that have already been configured.

Example request

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

Responses

200OKapplication/json
array[Source]
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
settingobjectrequired
idinteger
the `Setting` ID
namestringrequired
A friendly name or title for the Setting
handlestringrequired
The `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`
typestringrequired
The 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
allowedimgbooleantime_interval_thresholdemailstringtextselectnumberradiomultijson
valueTypestringrequired
The 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
allowedintegerbooleantime_interval_thresholdstringselectemaildecimalnumbermultijson
placeholderstring
An 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.
defaultValuestring
The `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.
descriptionstring
Description of the setting - this will appear below the setting name in the UI when a user is configuring it.
optionsstring
A 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.
parentSettingIdinteger
If 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.
categoryobject
idinteger
handlestring
allowedsupplier.settingsdealer.invoice.settingsaccount.settingsnotificationsaccount.b2bchannel.settingsfeature_flagsdealer.channel.settingssource.settingsvendor.settings
namestring
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
Example response
[
  {
    "id": 0,
    "name": "string",
    "description": "string",
    "insertedAt": "2026-04-20T00:00:00Z",
    "addressId": 0,
    "rateShopping": true,
    "releaseCommittedStockOnShipmentAdded": true,
    "releaseCommittedStockOnQuantityUpdate": true,
    "vendorId": 0,
    "type": {
      "id": 0,
      "name": "Data Source",
      "handle": "data_source"
    },
    "currency": {
      "id": 0,
      "code": "string",
      "name": "string",
      "symbol": "string",
      "unicodeDecimal": "string"
    },
    "address": {
      "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"
    },
    "commitStock": true,
    "allowBackorders": true,
    "vendor": {
      "id": 0,
      "createdByUserId": 0,
      "createdAt": "2026-04-20T00:00:00Z",
      "deletedAt": "2026-04-20T00:00:00Z",
      "name": "string",
      "description": "string",
      "portalEnabled": true
    },
    "containsFirearmsWorkflowEventId": 0,
    "containsFirearms": true,
    "shippingCostWorkflowEventId": 0,
    "dropshipFeeWorkflowEventId": 0,
    "integrations": [
      null
    ],
    "settings": [
      {
        "id": 0,
        "setting": {
          "id": null,
          "name": null,
          "handle": null,
          "type": null,
          "valueType": null,
          "placeholder": null,
          "defaultValue": null,
          "description": null,
          "options": null,
          "parentSettingId": null,
          "category": null
        },
        "sourceId": 0,
        "value": "string",
        "insertedAt": "2026-04-20T00:00:00Z",
        "updatedAt": "2026-04-20T00:00:00Z"
      }
    ],
    "autoCreateListingsWorkflowEventId": 0,
    "autoRebuildEnabledOn": "2026-04-20T00:00:00Z",
    "autoRebuildConfirmedByUser": "string",
    "autoListEnabledOn": "2026-04-20T00:00:00Z",
    "autoListConfirmedByUser": "string",
    "autoCreateListingsForAllInventories": true,
    "autoCreateListingsForSpecificInventories": true,
    "autoGenerateInvoiceWorkflowId": 0
  }
]
401Unauthorized

No schema documented for this status.

OpenAPI fragment
{
  "get": {
    "summary": "Get Sources",
    "description": "This endpoint will retrieve back a list of Sources for a configured account. This endpoint requires an Account level API token",
    "parameters": [
      {
        "schema": {
          "type": "array",
          "maxItems": 50,
          "example": "123,456,789",
          "uniqueItems": true,
          "items": {
            "type": "integer"
          }
        },
        "in": "query",
        "name": "filterByIds",
        "description": "Optionally pass a list of Source IDs to filter on. Max 50 IDs",
        "style": "form",
        "explode": false
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "filterFirearmsEnabled",
        "description": "Optionally set this to `true` to filter sources that contain firearms. If `false` or not passed, all Sources will be returned"
      },
      {
        "schema": {
          "type": "boolean",
          "default": true
        },
        "in": "query",
        "name": "filterArchived",
        "description": "Set this to `false` to include archived Sources. Default is `true` so archived Sources are not returned"
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeAddress",
        "description": "Set this to `true` to return back the `address` on the Source"
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeIntegrations",
        "description": "Set this to `true` to return back the `integrations` on the Source"
      },
      {
        "schema": {
          "type": "boolean",
          "default": false
        },
        "in": "query",
        "name": "includeSettings",
        "description": "Set this to `true` to return back the `settings` on the Source. This will include all available settings and not just those that have already been configured."
      }
    ],
    "responses": {
      "200": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Source"
              }
            }
          }
        }
      },
      "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