FlxpointAPI Help CenterBeta

Create Source

posthttps://api.flxpoint.com/sources

Use this when you want to create 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.

Create a new source. This endpoint requires an Account level API token

Request

Bodyapplication/json
namestringrequired
descriptionstring
typeHandlestringrequired
alloweddata_sourceinternal_warehouseexternal_warehousevendor_warehouse
addressobject
Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated based on the data available. (i.e. "FL" could be passed to "stateCode" to derive the "state" value "Florida" - also works in the opposite direction).
namestring
If `name` is provided and `firstName` and `lastName` are not provided, we will split this into a `firstName` and `lastName` fields
firstNamestring
lastNamestring
addressLine1string
citystring
postalstring
Postal / Zip Code
addressLine2string
statestring
If "state code" is provided, this field will automatically be populated for US States.
countrystring
If "country code" is populated, this will automatically be populated for most countries.
stateCodestring
If "state" is populated, this will automatically be populated for US States.
countryCodestring
If "country" is populated, this will automatically be populated for most countries. ISO 3166 format
emailstring (email)
phonestring
companyNamestring
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
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.
containsFirearmsboolean

Example request

post/sources
curl -X POST "https://api.flxpoint.com/sources" \
  -H "Accept: application/json" \
  -H "X-API-TOKEN: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "name": "string",
         "description": "string",
         "typeHandle": "data_source",
         "address": {
           "name": "Joe Smith",
           "firstName": "Joe",
           "lastName": "Smith",
           "addressLine1": "1000 1st Lane",
           "city": "Jacksonville",
           "postal": "12345",
           "addressLine2": "Suite 123",
           "state": "Florida",
           "country": "United States",
           "stateCode": "FL",
           "countryCode": "US",
           "email": "person@example.com",
           "phone": "1-555-123-4567",
           "companyName": "string"
         },
         "rateShopping": true,
         "releaseCommittedStockOnShipmentAdded": true,
         "releaseCommittedStockOnQuantityUpdate": true,
         "vendorId": 0,
         "commitStock": true,
         "allowBackorders": true,
         "containsFirearms": true
       }'
Example body · application/json
{
  "name": "string",
  "description": "string",
  "typeHandle": "data_source",
  "address": {
    "name": "Joe Smith",
    "firstName": "Joe",
    "lastName": "Smith",
    "addressLine1": "1000 1st Lane",
    "city": "Jacksonville",
    "postal": "12345",
    "addressLine2": "Suite 123",
    "state": "Florida",
    "country": "United States",
    "stateCode": "FL",
    "countryCode": "US",
    "email": "person@example.com",
    "phone": "1-555-123-4567",
    "companyName": "string"
  },
  "rateShopping": true,
  "releaseCommittedStockOnShipmentAdded": true,
  "releaseCommittedStockOnQuantityUpdate": true,
  "vendorId": 0,
  "commitStock": true,
  "allowBackorders": true,
  "containsFirearms": true
}

Responses

200OKapplication/json
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": 0,
        "name": "string",
        "handle": "string",
        "type": "img",
        "valueType": "integer",
        "placeholder": "string",
        "defaultValue": "string",
        "description": "string",
        "options": "string",
        "parentSettingId": 0,
        "category": {
          "id": null,
          "handle": null,
          "name": 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
{
  "post": {
    "summary": "Create Source",
    "description": "Create a new source. This endpoint requires an Account level API token",
    "parameters": [],
    "requestBody": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CreateSourceRequest"
          }
        }
      }
    },
    "responses": {
      "200": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "$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