# Flxpoint API, complete reference > Every operation in the Flxpoint REST API: 246 operations across > 27 resources, version 1.0. Flxpoint is a retail > operations platform for multi-channel ecommerce, dropship automation and order > management across suppliers and sales channels. - Base URL: https://api.flxpoint.com - Authentication: an API token sent in the `X-API-TOKEN` header - Human documentation: https://www.apihelpcenter.flxpoint.com - OpenAPI 3 specification: https://www.apihelpcenter.flxpoint.com/api/openapi - Generated from the specification, so it matches the reference pages exactly. Nested request and response schemas are summarised to their top level here. Follow the docs link on an operation, or read the OpenAPI specification, for the full shape. --- ## Account 7 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/account ### GET /account Get Account Only account API Tokens can use this endpoint - Operation id: `getAccount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getaccount Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `id` (integer, required) - `productPriceWorkflowEventId` (integer) - `defaultOrderRoutingGroupId` (integer) - `orderRoutingWorkflowEventId` (integer) - `subdomain` (string) - `brandName` (string) - `companyName` (string) ### GET /account/purchase-order-strategy Get Account PO Strategy Deprecated, please use `/account/po-strategy` - Operation id: `getAccountPurchaseOrderStrategy` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getaccountpurchaseorderstrategy Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `autoProcess` (boolean) - `purchaseOrderNumberStrategyId` (integer) - `passOrderCustomFieldsToPo` (boolean) - `passOrderItemCustomFieldsToPo` (boolean) - `packingSlipFormat` (string (basic | detailed)): Required when 'auto generate packing slip' source setting is enabled. Specifies the type of packing slip format being ap - `packingSlipOptions` (string) ### GET /account/settings Get Account Settings This endpoint allows you to retrieve settings that are actively configured for a given account. - Operation id: `getAccountSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getaccountsettings Query parameters: - `findByHandles` (query, string, optional): A setting handle, or a comma-separated list of setting handles to retrieve - `findByCategoryHandle` (query, string, optional): A single category handle to retrieve settings for Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `settingId` (integer) - `name` (string) - `handle` (string (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 | skip_getting_started_source_wizard | account.settings.rate_shopping | feature_flag.channel_wizard), required) - `required` (boolean) - `type` (string) - `valueType` (string) - `hidden` (boolean) - `placeholder` (string) - `id` (integer) - `accountId` (integer) - `value` (string) - `defaultValue` (string) - `insertedAt` (string) - `updatedAt` (string) - `description` (string) - `options` (string) - `parentSettingId` (integer) - `settingCategory` (object) ### GET /account/custom-aggregate-fields Get Custom Aggregate Fields Get all setup custom aggregate fields - Operation id: `getCustomAggregateFields` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getcustomaggregatefields Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `aggregateFieldDataTypeId` (integer) - `customAggregateFieldOptionId` (integer) - `name` (string) - `handle` (string) - `ignoreOutOfStock` (boolean) - `accountId` (integer) ### GET /settings Get Settings This endpoint allows you to retrieve the possible settings. Settings are categorized into separate domains. In order to retrieve settings for a specific domain, pass the appropriate `handle`. This endpoint does NOT retrieve the `values` that are configured for a specific Account, Source, Channel, Reseller, etc. The values are retrieved via separate endpoints (i.e. /sources/{sourceId}/settings) **You must either pass `findByCategory` or `findByHandle or `findById`** - Operation id: `getSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getsettings Query parameters: - `findByCategory` (query, string, optional): A setting category handle will retrieve back all settings for a specific category. For more information on these categories, see the `handle` field description on `SettingCategory` - `findByHandles` (query, string, optional): A setting handle, or a comma separate list of setting handles to retrieve. - `findById` (query, integer, optional): A setting id, this will retrieve a setting associated with this setting id Responses: - `200`: OK - `201`: Created - `400`: Bad Request Success response body, array of object: - `id` (integer): the `Setting` ID - `name` (string, required): A friendly name or title for the Setting - `handle` (string, required): The `handle` represents a quick human-readable version of the `id` to understand what a setting relates to. Some example - `type` (string (img | boolean | time_interval_threshold | email | string | text | select | number), required): The type of setting. This determines how you may present the selection or setting to a user. - `string` = a short text i - `valueType` (string (integer | boolean | time_interval_threshold | string | select | email | decimal | number), required): The type of value the setting is expecting. - `integer` = a whole number value - `decimal` = a decimal number value - `s - `placeholder` (string): An optional "placeholder" that will be used for text or numeric based inputs. Note : a placeholder is different than "de - `defaultValue` (string): The `defaultValue` represents our recommended selection for a given Setting. For example, the "Protect Against Duplicate - `description` (string): Description of the setting - this will appear below the setting name in the UI when a user is configuring it. - `options` (string): A field expecting a `JSON Array` in the format : `[{ "[value]" : "[descriptor]"}]` where : - `[value]` = the value of th - `parentSettingId` (integer): If the setting is associated to another setting, this field may be populated. For example, you may choose to `Override P - `category` (object) ### GET /account/users Get Users Only account API Tokens can use this endpoint. Get users for an account. - Operation id: `getUsers` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/getusers Query parameters: - `ids` (query, array of integer, optional): A list of ids to filter on - `emails` (query, array of string, optional): A list of emails to filter on Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `firstName` (string, required) - `lastName` (string, required) - `email` (string, required) - `isPrimary` (boolean) - `insertedAt` (string) - `updatedAt` (string) - `lastLoginAt` (string) - `notificationsLastCheckedAt` (string) - `lastSessionAt` (string) - `minutesOfActivity` (integer) - `timeZone` (string): IANA time zone identifier, for example America/New_York. Null when the user has not chosen one. - `role` (object) ### POST /account/settings Update Account Settings - Operation id: `postAccountSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/account/postaccountsettings Request body (application/json), array of object: - `settingId` (integer) - `name` (string) - `handle` (string (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 | skip_getting_started_source_wizard | account.settings.rate_shopping | feature_flag.channel_wizard), required) - `required` (boolean) - `type` (string) - `valueType` (string) - `hidden` (boolean) - `placeholder` (string) - `id` (integer) - `accountId` (integer) - `value` (string) - `defaultValue` (string) - `insertedAt` (string) - `updatedAt` (string) - `description` (string) - `options` (string) - `parentSettingId` (integer) - `settingCategory` (object) Responses: - `200`: OK - `401`: Unauthorized --- ## Channel 8 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/channel ### POST /channel/ Create Channel Create a channel. Requires an account level token. - Operation id: `postChannel` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/postchannel Request body (application/json), object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha ### GET /channel/{id} Get Channel Retrieves back a Channel by its ID. This endpoint requires an Account or Channel token for authentication. - Operation id: `getChannelById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/getchannelbyid Responses: - `200`: OK - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found Success response body, object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha ### GET /channels/{channelId}/settings Get Channel Settings This endpoint allows you to retrieve the setting `values` that are configured for a Channel. You can filter down the list of settings returned by passing `handles`. Note: you must use a token with Account privileges. - Operation id: `getChannelSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/getchannelsettings Query parameters: - `findByHandles` (query, string, optional): A setting handle, or a comma-separated list of setting handles to retrieve. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer, required): The `ChannelSetting` ID - `setting` (object, required) - `channelId` (integer): Id of channel this channel setting belong to. - `value` (string, required): The setting value that is configured - `insertedAt` (string) - `updatedAt` (string) ### GET /channel/ Get Channels Get all channels configured on the account. This endpoint requires an account level API token. - Operation id: `getChannels` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/getchannels Query parameters: - `includeIntegrations` (query, boolean, optional): Set this to `true` to return back the `integrations` on the Channel - `includeArchived` (query, boolean, optional): Set this to `true` to also return back channels that have been archived. By default these are excluded in the response. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha ### PUT /channel/{id} Put Channel Put an updated channel. Requires an account level token. - Operation id: `putChannel` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/putchannel Request body (application/json), object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha ### PUT /channel/{id}/locations Put Channel Locations Replaces all configured locations on a MLI channel. Channel must be MLI otherwise a 400 Bad Request is returned. - Operation id: `putChannelLocations` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/putchannellocations Request body (application/json), object: - `channelLocations` (array of object) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found Success response body, object: - `channelLocations` (array of object) ### PATCH /channel/{id} Update Channel This endpoint allows you to update metadata associated to a Channel. To use this endpoint, simply specify the parameter you'd like to patch. Only the parameters the are passed will be patched. - Operation id: `patch-channel-id` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/patch-channel-id Query parameters: - `name` (query, string, optional): Channel Name - `description` (query, string, optional): Channel Description - `pricingWorkflowEventId` (query, integer, optional): The ID of the Listing Price & Quantity Workflow for the Channel - `autoGeneratePoOnImport` (query, boolean, optional): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel - `listingStatusWorkflowEventId` (query, integer, optional): The ID of the Listing Status Workflow for the Channel - `primary` (query, boolean, optional): Mark this channel as the primary channel. Will set any existing channels marked as primary to false. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found Success response body, object: - `name` (string, required): Channel Name - `description` (string): Channel Description - `primary` (boolean) - `listingStrategy` (string (single | best | mli), required): The strategy used to manage listing pricing and quantity on the channel. -`single` = Single Vendor -`best` = Best Vendor - `pricingStrategy` (string (lowest | average | highest)): Only applicable when `listingStrategy = mli`. Determines how prices should be aggregated or set based on the connected s - `pricingFactor` (string (total | item), required): Only applicable when `listingStrategy = best`. When comparing costs across sources/vendors should the dropship fee and s - `pricingMarkup` (string (basic | advanced | none), required): Should basic, advanced, or no pricing controls be applied. - `quantityAggregation` (boolean): Only applicable when using a pricing strategy of `best`. This denotes that quantity should be aggregated from all releva - `channelInvoiceReceiptOptionId` (integer) - `invoiceReceiptAccountCustomAlertId` (integer) - `paymentCollection` (boolean) - `channelInvoiceDefaultStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `channelInvoiceCc` (string) - `pricingWorkflowEventId` (integer): The ID of the Listing Price & Quantity Workflow for the Channel. - `autoGeneratePoOnImport` (boolean): A setting that enables auto-generation of PO/FRs upon Order Import from the Channel. - `listingStatusWorkflowEventId` (integer): The ID of the Listing Status Workflow for the Channel. - `allowBackorder` (boolean) - `listingBuilderMappingTemplateId` (integer) - `inStoreOrder` (boolean) - `listPriceProtection` (boolean): Indicates whether price protection is applied to the listing. When true, the listing will not be eligible to sync to cha ### PUT /channels/{channelId}/settings Update Channel Settings This endpoint configures Channel Settings. You must specify either a `handle` or `settingId` to associate settings. If a passed setting has not been configured yet, this will associate a `value` (i.e. configure that setting). If a passed setting has already been configured, this will overwrite the previous `value`. - Operation id: `putChannelSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/channel/putchannelsettings Request body (application/json), array of object: - `value` (string, required): The `value` of a `Setting` - `handle` (string): The handle of a `Setting` - `settingId` (integer): The `Setting` ID Responses: - `200`: OK - `401`: Unauthorized --- ## Connection 6 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/connection ### POST /connections Create Connection Endpoint to create a Connection. Requires Account-level privileges. - Operation id: `postConnection` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/postconnection Request body (application/json), object: - `connectionType` (string) - `name` (string) - `configs` (array of object) Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `id` (integer) - `connectionType` (string) - `connectionTypeId` (integer) - `connectionTypeName` (string) - `requiresConnectionToTest` (boolean) - `name` (string) - `configs` (array of object) ### GET /connections/available-configs Get Available Connection Configs Endpoint to retrieve back a list of available connection configs based on the connection type. Requires Account-level privileges. - Operation id: `getConnectionAvailableTypeConfigs` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/getconnectionavailabletypeconfigs Query parameters: - `handle` (query, string, required): The connection type handle Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `handle` (string) - `name` (string) - `required` (boolean) - `editable` (boolean) - `dataType` (string) - `defaultValue` (string) - `options` (array of object) - `advanced` (boolean) - `value` (string) - `hidden` (boolean) - `description` (string) - `sortOrder` (integer) ### GET /connections/{id} Get Connection Endpoint to retrieve back a Connection by ID. Requires Account-level privileges. - Operation id: `getConnectionById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/getconnectionbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Connection Not Found Success response body, object: - `id` (integer) - `connectionType` (string) - `connectionTypeId` (integer) - `connectionTypeName` (string) - `requiresConnectionToTest` (boolean) - `name` (string) - `configs` (array of object) ### GET /connections/types Get Connection Types Endpoint to retrieve back a list of connection types. Requires Account-level privileges. - Operation id: `getConnectionTypes` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/getconnectiontypes Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `name` (string) - `handle` (string) ### GET /connections Get Connections Endpoint to retrieve back a list of Connections. Requires Account-level privileges. - Operation id: `getConnections` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/getconnections Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `connectionType` (string) - `connectionTypeId` (integer) - `connectionTypeName` (string) - `requiresConnectionToTest` (boolean) - `name` (string) - `configs` (array of object) ### PUT /connections/{id} Update Connection Endpoint to update an existing Connection. Requires Account-level privileges. - Operation id: `putConnectionById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/connection/putconnectionbyid Request body (application/json), object: - `connectionType` (string) - `name` (string) - `configs` (array of object) Responses: - `200`: OK - `401`: Unauthorized - `404`: Connection Not Found Success response body, object: - `id` (integer) - `connectionType` (string) - `connectionTypeId` (integer) - `connectionTypeName` (string) - `requiresConnectionToTest` (boolean) - `name` (string) - `configs` (array of object) --- ## Fulfillment Request 18 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request ### PATCH /fulfillment-requests/{fulfillmentRequestId}/acknowledge Acknowledge Fulfillment Request Acknowledge all Fulfillment Request Line item quantities which are not already acknowledged/canceled - Operation id: `acknowledgeAllFulfillmentRequestItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/acknowledgeallfulfillmentrequestitems Request body (application/json), object: - `confirmationNumber` (string) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### PATCH /fulfillment-requests/{fulfillmentRequestId}/committed-stock Adjust Applicable Committed Stock This endpoint will intelligently reconcile and adjust/release all applicable committed stock for the Fulfillment Request. The cases in which these occurr are as follows : - Shipments : Will automatically release any committed stock for associated shipments that have not yet had their shipped quantity released. - Canceled & Voided : Will automatically release all committed stock in the case that the Fulfillment Request is now canceled or voided. - Line Item Qty Change : If a Fulfillment Request prior to being processed has any quantities modified this endpoint will reconcile the difference between what is already committed and what was modified and will then either release or add the difference. This endpoint will not double/over release when interacted with multiple times (it's idempotent). This makes it safe to call even if you are unsure of whether or not all stock has been appropriately released. - Operation id: `adjustApplicableCommittedStockForFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/adjustapplicablecommittedstockforfulfillmentrequest Responses: - `200`: OK - `204`: No Content - `401`: Unauthorized - `404`: Not Found ### POST /fulfillment-requests/{fulfillmentRequestId}/adjust Adjust Fulfillment Request This endpoint allows for partial acknowledgements and/or cancellations by specifying items. - Operation id: `adjustFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/adjustfulfillmentrequest Request body (application/json), object: - `items` (array of object) - `killOrFillType` (string (fill | kill)): `killOrFillType` can be either `fill` Or `kill`. By default it will be `fill`. - `fill` : This will unallocate the quant - `cancelUnacknowledgedItemQuantity` (boolean): Indicate whether or not remaining unacknowledged quantity should be canceled. Passing a `null` value here will use the e Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### PATCH /fulfillment-requests/{fulfillmentRequestId}/cancel Cancel Fulfillment Request Cancels all Fulfillment Request Line item quantities which are not already acknowledged/canceled - Operation id: `cancelAllFRItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/cancelallfritems Query parameters: - `killOrFillType` (query, string, optional): `killOrFillType` can be either `fill` Or `kill`. By default it will be `fill`. `fill` : This will unallocate the quantities from the order item level so that another Fulfillment Request can be generated for alternative fulfillment. `kill` : This will cancel the quantities at the order item level indicating no further fulfillment should occur. - `cancelReason` (query, string, optional): use this to state the reason for cancel Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### POST /fulfillment-requests/{fulfillmentRequestId}/committed-stock Commit Stock For Fulfillment Request Commit Stock for fulfillment request - Operation id: `commitStockForFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/commitstockforfulfillmentrequest Responses: - `200`: OK - `204`: No Content - `400`: Bad Request - `401`: Unauthorized ### POST /fulfillment-requests Create Fulfillment Request This endpoint creates a Fulfillment Request (FR)! Fulfillment Requests can be created by using an Account token. A `sourceId` is required to create a Purchase Order. Fulfillment Request Items are associated to `Order Items` by `orderItemId`. Fulfillment Request Items are associated to `Inventory` by `sku` or `inventoryVariantId`. For more information, see the `item` request details below. When an Fulfillment Request is created, it will : - Estimate Shipping Costs (via Workflow or Rate Shopping) - Estimate Dropship Fees (via Workflow) - Run `PO/FR Strategy` settings (Auto Processing, PO Workflow, PO # Utilities, etc.) For more information about Fulfillment Requests, see our docs : https://docs.flxpoint.com/flxpoint/purchase-orders-fulfillment-requests - Operation id: `createFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/createfulfillmentrequest Request body (application/json), object: - `fulfillmentRequestNumber` (string): A unique identifier that will be passed to your source to identify the FR. If one is not provided the default account & - `fulfillmentRequestType` (string (PO | FR | TO | SPO | FO)): The type of PO : - Purchase Order (PO) - Fulfillment Request (FR) [Deprecated - use Fulfillment Order instead] - Transfe - `fulfillmentRequestStatus` (string (unprocessed | processing | processed | acknowledged | voided | canceled | po_number_exceeds_max_length | duplicate)): Leave `null` to let Flxpoint handle via Workflow rules (PO Strategy settings). A `non-null` status will by-pass any PO S - `orderId` (integer, required): The flxpoint ID of the order this PO is for - `sourceId` (integer, required): The flxpoint source ID the PO should be fulfilled to - `shippingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `billingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `shippingText` (string): Deprecated - `note` (string): A note that can optionally be passed through all the way to the source - `totalCost` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `suppressTracking` (boolean): If set to true shipments for this PO will not be propagated to the originating channel order via sync order operations i - `fflInfoRequired` (boolean): Set to true to indicate that the PO contains items that are firearms and will require valid FFL license information befo - `holdUntil` (string): If passed the PO will not be processed via automated flxpoint operations until a time older than the value passed - `rateShoppedId` (string): Used by internal flxpoint processes to track third party rate shopping responses - `packageDimensionUnit` (string (inch | centimeter)): used to specify the unit of measurement being used by packageLength, packageHeight, packageWidth. Currently our system s - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (string (pound | ounce | gram | kilogram)): used to specify the unit of measurement being used by packageWeight. Currently our system supports 'pound', 'ounce', 'gr - `packageWeight` (number) - `crossDockPurchaseOrderId` (integer): Establish this PO as part of a cross docking request by providing the cross dock PO ID - `fulfillmentRequestItems` (array of object, required) - `fulfillmentRequestAttributes` (array of object): if there is a requirement to associate some extra information with the purchase order, it can be done by passing an arra - `sourceShippingMethodId` (integer): The ID of the method you intend for the source to ship the PO via. You are required to configure these yourself on your - `shippingDistance` (number): Leave `null` for Flxpoint to calculate shipping distance. If a `non-null` value is passed, Flxpoint will not calculate s Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `409`: PO Number is already in use. Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### PATCH /fulfillment-requests/{fulfillmentRequestId}/processing-failed Fail Fulfillment Request Update Fulfillment Request as failed during processing.
Only a fulfillment request in processing status `Processing` or `Processed` can be updated as `Failed`.
It will then transition into processing status `Processing Error`. - Operation id: `failFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/failfulfillmentrequest Query parameters: - `error` (query, string, required): reason why processing failed Responses: - `204`: No Content - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PATCH /fulfillment-requests/{fulfillmentRequestId}/generate-packing-slip Generate Packing Slip - Operation id: `generatePackingSlip` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/generatepackingslip Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### GET /fulfillment-requests/{fulfillmentRequestId}/committed-stock Get Committed Stock For Fulfillment Request Get committed stock for a fulfillment request - Operation id: `getCommittedStockForFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/getcommittedstockforfulfillmentrequest Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `inventoryVariantId` (integer) - `sourceId` (integer) - `purchaseOrderId` (integer) - `purchaseOrderItemId` (integer) - `quantity` (integer) - `purchaseOrderItemQuantity` (integer): this is set equal to purchase order item quantity. This is used to compare with purchase order item quantity and figure - `committedAt` (string) - `updatedAt` (string) ### GET /fulfillment-requests/count Get Count of Fulfillment Requests This endpoint will get a count of Fulfillment Requests applicable to your filters - Operation id: `getFulfillmentRequestsCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/getfulfillmentrequestscount Query parameters: - `findOrderId` (query, integer, optional): Filter Fulfillment Requests by Order ID. - `sinceId` (query, integer, optional): If passed, returns results with an ID greater than this. - `fulfillmentRequestNumbers` (query, array of string, optional): Finds elements matching these Fulfillment Request Numbers. Max 50 - `filterSourceId` (query, integer, optional): Filter Fulfillment Requests by Source ID. - `filterFulfilmentStatus` (query, string, optional): Filter Fulfillment Requests by Fulfillment Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterInvoiced` (query, boolean, optional): Filter Fulfillment Requests that have source invoice available. - `filterStatus` (query, string, optional): Filter Fulfillment Requests by Fulfillment Request Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterIsAcknowledged` (query, boolean, optional): Filter Fulfillment Requests based on whether or they were acknowledged (true returns only acknowledged, false only those that are not acknowledged). - `filterAcknowledgedAfter` (query, string, optional): Filter Fulfillment Requests that were acknowledged after this date-time. - `filterIsSent` (query, boolean, optional): Filter Fulfillment Requests based on whether or they have been sent to the source (true returns only those that have been sent, false only those that have not yet been sent). - `filterSentAfter` (query, string, optional): Filter Fulfillment Requests that were sent after this date-time. - `filterGeneratedAfter` (query, string, optional): Filter Fulfillment Requests that were generated after this date-time. - `filterIsCanceled` (query, boolean, optional): Filter Fulfillment Requests based on whether or they were canceled (true returns only canceled, false only those that are not canceled). - `filterCanceledAfter` (query, string, optional): Filter Fulfillment Requests that were canceled after this date-time. - `filterIsVoided` (query, boolean, optional): Filter Fulfillment Requests based on whether or they were voided (true returns only voided, false only those that are not voided). - `filterVoidedAfter` (query, string, optional): Filter Fulfillment Requests that were voided after this date-time. - `filterIsHeld` (query, boolean, optional): Filter Fulfillment Requests based on whether or they are being held (true returns only held, false only those that are not held). - `filterHasError` (query, boolean, optional): Filter Fulfillment Requests based on whether or they have a processing error (true returns only those with errors, false only those without errors). - `filterEligibleForProcessing` (query, boolean, optional): Filters Fulfillment Requests based on whether the order it related to is Open/Not Managed (true returns only if the order it is related to is Open/Not Managed, false does not filter PO based on order status). - `filterPurchaseOrderTypeIds` (query, array of integer, optional): Filter Purchase Orders by type id, using ids from the PurchaseOrderType Enum. - `isPurchaseOrderAccountingSynced` (query, boolean, optional): Filter to only include Purchase Orders that have been synced to an Accounting Integration. - `isOrderAccountingSynced` (query, boolean, optional): Filter to only include those created for Orders that have been synced to an Accounting Integration. Does not relate to the whether or not the Purchase Order has been synced. - `hasAccountingError` (query, boolean, optional): Filter to include Purchase Orders based on whether or not they have a previous error saved while sending to an Accounting Integration - `filterOrderInvoiced` (query, boolean, optional): Filter to only include those created for Orders that have invoices. Does not relate to the whether or not the Purchase Order has been invoiced. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `count` (integer, required) ### GET /fulfillment-requests/{fulfillmentRequestId} Get Fulfillment Request - Operation id: `getFulfillmentRequestById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/getfulfillmentrequestbyid Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### GET /fulfillment-requests/processing Get Fulfillment Request In Processing This endpoint will retrieve a list of Fulfillment Requests AND `Update the Fulfillment Requests to Processed` NOTE : This means, if our API times out for you - those Fulfillment Requests may transition into a "Processed" state despite you not receiving them. It's not recommended to use this endpoint, and it may be deprecated in the near future. We'd recommend using `GET /fulfillment-requests` to retrieve and `PATCH /fulfillment-requests/{fulfillmentRequestId}/acknowledge` to respond - Operation id: `getFulfillmentRequestsInProcessingAndTransitionThemToProcessed` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/getfulfillmentrequestsinprocessingandtransitionthemtoprocessed Query parameters: - `filterSourceId` (query, integer, optional): filter Fulfillment Request by Source ID Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### GET /fulfillment-requests Get Fulfillment Requests This endpoint will retrieve back Fulfillment Requests. Fulfillment Requests can be retrieved using an Account or Source token. If an Account Token is used, eligible Fulfillment Requests for the account will be fetched. With a source token, Fulfillment Requests for the source can only be retrieved. All filter parameters are optional. Passing a null or an empty value will ignore filtering for the specified conditions. - Operation id: `getFulfillmentRequests` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/getfulfillmentrequests Query parameters: - `findOrderId` (query, integer, optional): Filter Fulfillment Requests by Order ID. - `sinceId` (query, integer, optional): If passed, returns results with an ID greater than this. - `poNumbers` (query, array of string, optional): deprecated use `frNumbers`. Finds elements matching these Fulfillment Request Numbers. Max 50 - `frNumbers` (query, array of string, optional): Finds elements matching these Fulfillment Request Numbers. Max 50 - `filterSourceId` (query, integer, optional): Filter Fulfillment Requests by Source ID. - `filterFulfilmentStatus` (query, string (Awaiting Shipment | Shipped | Partially Shipped | Canceled), optional): Filter Fulfillment Requests by Fulfillment "Shipped" Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterInvoiced` (query, boolean, optional): Filter Fulfillment Requests that have source invoice available. - `filterPageNumber` (query, integer, optional): Current Page - `filterPageSize` (query, integer, optional): Number of entries per page - `filterStatus` (query, string (Unprocessed | Processed | Acknowledged | Canceled | Failed | Voided | Processing | Additional Info Required), optional): Filter Fulfillment Requests by Fulfillment Requests Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterIsAcknowledged` (query, boolean, optional): Filters Fulfillment Requests based on whether or they were acknowledged (true returns only acknowledged, false only those that are not acknowledged). - `filterAcknowledgedAfter` (query, string, optional): Filter Fulfillment Requests that were acknowledged after this date-time. - `filterIsSent` (query, boolean, optional): Filters Fulfillment Requests based on whether or they have been sent to the source (true returns only those that have been sent, false only those that have not yet been sent). - `filterSentAfter` (query, string, optional): Filter Fulfillment Requests that were sent from Flxpoint to the source after this date-time. FRs processed outside of Flxpoint will most likely not have a time set. - `filterGeneratedAfter` (query, string, optional): Filter Fulfillment Requests that were generated after this date-time. - `filterIsCanceled` (query, boolean, optional): Filters Fulfillment Requests based on whether or they were canceled (true returns only canceled, false only those that are not canceled). - `filterCanceledAfter` (query, string, optional): Filters Fulfillment Requests that were canceled after this date-time. - `filterIsVoided` (query, boolean, optional): Filters Fulfillment Requests based on whether or they were voided (true returns only voided, false only those that are not voided). - `filterVoidedAfter` (query, string, optional): Filters Fulfillment Requests that were voided after this date-time. - `filterIsHeld` (query, boolean, optional): Filters Fulfillment Requests based on whether or not they are held. When `true` is passed, it retrieves Fulfillment Requests that have hold until time set. When `false` is passed, it retrieves Fulfillment Requests that have no hold until time set or ones whose hold until time has elapsed (current time is after the `hold until` time) - `filterHasError` (query, boolean, optional): Filters Fulfillment Requests based on whether or they have a processing error (true returns only those with errors, false only those without errors). - `filterEligibleForProcessing` (query, boolean, optional): Use this to filter Fulfillment Requests that are eligible for processing. Passing true will return FRs only where the related order (if applicable) is in Open or Not Managed status and the FR is in Unprocessed status. Passing false will return FRs where the order (if applicable) is not in either of those statuses, or if so the FR has been transitioned out of Unprocessed status. Passing "null" or an empty value will not filter FRs based on order or FR status. - `filterPurchaseOrderTypeIds` (query, array of integer, optional): deprecated use `filterFulfillmentRequestType` Filter Fulfillment Requests by type id, using ids from the PurchaseOrderType Enum. - `filterFulfillmentRequestType` (query, array of string, optional): Filter Fulfillment Requests by Type, Accepts a comma-separated list to filter on multiple types at once. - `isPurchaseOrderAccountingSynced` (query, boolean, optional): deprecated use `isFulfillmentRequestAccountingSynced`. Filter to only include or exclude Fulfillment Requests that have been synced to an Accounting Integration. - `isFulfillmentRequestAccountingSynced` (query, boolean, optional): Filter to only include or exclude Fulfillment Requests that have been synced to an Accounting Integration - `isOrderAccountingSynced` (query, boolean, optional): Filter to only include or exclude those created for Orders that have been synced to an Accounting Integration. Does not relate to the whether or not the Fulfillment Requests has been synced. - `hasAccountingError` (query, boolean, optional): Filter to include or exclude Fulfillment Requests based on whether or not they have a previous error saved while sending to an Accounting Integration - `filterOrderInvoiced` (query, boolean, optional): Filter to only include or exclude those created for Orders that have invoices. Does not relate to the whether or not the Fulfillment Requests has been invoiced. - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response - `hasTag` (query, string, optional): Only returns Fulfillment Requests that have the matching tag - `filterStockCommitted` (query, boolean, optional): Filter Fulfillment Requests that have stock committed. - `filterOrderStatus` (query, string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed), optional): Only returns Fulfillment Requests associated with orders that have the matching status. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page ### PATCH /fulfillment-requests/{fulfillmentRequestId}/processed Process Fulfillment Request Update a Fulfillment Request as `Processed`.
Only Fulfillment Requests in `Processing` status can be transitioned to `Processed`. If the Fulfillment Request is already in `Processed` status, a 200 (OK) response will be returned. - Operation id: `processFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/processfulfillmentrequest Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### DELETE /fulfillment-requests/{fulfillmentRequestId}/committed-stock Release All Committed Stock For Fulfillment Request Release committed stock for fulfillment request - Operation id: `releaseAllCommittedStockForFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/releaseallcommittedstockforfulfillmentrequest Request body (application/json), object: - `onlyReleaseFulfillmentRequestItemIds` (array of integer): List of fulfillment request item IDs to release - `onlyReleaseFulfillmentRequestItemSkus` (array of string): List of fulfillment request item SKUs to release Responses: - `200`: OK - `204`: No Content - `400`: Bad Request - `401`: Unauthorized ### PATCH /fulfillment-requests/{fulfillmentRequestId}/processing Start Processing Fulfillment Request Transition a Fulfillment Request into `Processing` status. This is the API equivalent of the **Process** action in the Flxpoint UI.
Only Fulfillment Requests in `Unprocessed` status can be transitioned to `Processing`. Any other status is rejected with a 400 (Bad Request). If the Fulfillment Request is already in `Processing` status, a 200 (OK) response will be returned. Fulfillment Requests whose supplier is configured to send Fulfillment Requests from the Vendor Portal are rejected with a 400 (Bad Request), because those are transitioned directly to `Processed` when processed. Not to be confused with **Process Fulfillment Request** (`processFulfillmentRequest`), which transitions `Processing` to `Processed`. - Operation id: `startProcessingFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/startprocessingfulfillmentrequest Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PATCH /fulfillment-requests/{fulfillmentRequestId}/accounting-sync Sync Accounting Update Fulfillment Request as synced to external system - Operation id: `syncFulfillmentRequestForAccounting` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/syncfulfillmentrequestforaccounting Request body (application/json), object: - `accountingSynced` (boolean): specify whether or not it was synced to the external system - `externalAccountingId` (string): identfier in the external system that identifies this Fulfillment Request - `accountingError` (string): any error encountered in syncing this `Fulfillment Request` to the external system - `items` (array of object): list of `Fulfillment Request Items` synced in the external accounting system Responses: - `204`: No Content - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PUT /fulfillment-requests/{id} Update Fulfillment Request This endpoint updates a Fulfillment Request (FR). - Operation id: `updateFulfillmentRequest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/fulfillment-request/updatefulfillmentrequest Request body (application/json), object: - `fulfillmentRequestNumber` (string): A unique identifier that will be passed to your source to identify the FR. If one is not provided the default account & - `sourceId` (integer, required): The flxpoint source ID the PO should be fulfilled to - `shippingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `billingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `note` (string): A note that can optionally be passed through all the way to the source - `totalCost` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `suppressTracking` (boolean): If set to true shipments for this PO will not be propagated to the originating channel order via sync order operations i - `fflInfoRequired` (boolean): Set to true to indicate that the PO contains items that are firearms and will require valid FFL license information befo - `holdUntil` (string): If passed the PO will not be processed via automated flxpoint operations until a time older than the value passed - `packageDimensionUnit` (string (inch | centimeter)): used to specify the unit of measurement being used by packageLength, packageHeight, packageWidth. Currently our system s - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (string (pound | ounce | gram | kilogram)): used to specify the unit of measurement being used by packageWeight. Currently our system supports 'pound', 'ounce', 'gr - `packageWeight` (number) - `fulfillmentRequestItems` (array of object, required) - `fulfillmentRequestAttributes` (array of object): Meta data in the form of key-value pairs. - `sourceShippingMethodId` (integer): The ID of the method you intend for the source to ship the PO via. You are required to configure these yourself on your - `shippingDistance` (number): Leave `null` for Flxpoint to calculate shipping distance. If a `non-null` value is passed, Flxpoint will not calculate s - `accountingSynced` (boolean) - `externalAccountingId` (string) Responses: - `200`: Updated - `400`: Bad Request - `401`: Unauthorized - `404`: FR does not exist Success response body, object: - `id` (integer): A unique identifier for the fulfillment request. - `fulfillmentRequestNumber` (string) - `orderId` (integer): The unique identifier for the order associated with the fulfillment request. This field is used to link the fulfillment - `sentAt` (string): The date and time when it was sent to the supplier - `sourceId` (integer): Unique identifier of the source which will fulfill this Fulfillment Request. - `acknowledgedAt` (string): The acknowledgedAt field refers to the date and time when a vendor or supplier that is responsible for fulfilling the or - `secondaryAcknowledgedAt` (string) - `canceledAt` (string): The date and time when the fulfillment request was canceled. - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string): A unique identifier returned from the source for indicating receipt and identifying the Fulfillment Request once it has - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `fulfillmentRequestStatus` (object) - `fulfillmentRequestFulfillmentStatus` (object) - `generatedAt` (string): The date and time when this Fulfillment Request was generated. - `voidedAt` (string): The date and time when this Fulfillment Request was voided. - `accountId` (integer) - `totalItems` (integer): Total Number of Fulfillment Request Items. - `totalCost` (number): Total cost of the Fulfillment Request Items - `totalQuantity` (integer): Total quantity of the Fulfillment Request Items. - `shippedQuantity` (integer): Total quantity of the Fulfillment Request Items that has been shipped. - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean): Indicates whether or not tracking information should be suppressed for the associated fulfillment request. If this field - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 28 more fields, see the docs page --- ## Inbound Shipments 3 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/inbound-shipments ### PATCH /inbound-shipments/{id}/receive Fully Receive Inbound Shipment Fully receive all items - Operation id: `fullyReceiveInboundShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inbound-shipments/fullyreceiveinboundshipment Query parameters: - `updateInventoryOnceReceived` (query, boolean, optional): Update inventory after receiving shipment Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### GET /inbound-shipments Get Inbound Shipments This endpoint allows you to get a list of ”inbound”, shipments from Stocking Purchase Orders and Transfer Orders.

Use the source token or an account token along with the sourceId to see the inbound shipments going to that source. - Operation id: `getInboundShipments` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inbound-shipments/getinboundshipments Query parameters: - `sourceId` (query, integer, optional): This field will automatically be populated if you are using a Source API Token. If you are using an Account API Token, this field is required. - `receivedStatus` (query, string (awaiting_to_receive | partially_received | received | voided), optional): status string signifying how much restocking has been done - `shippedStatus` (query, string (not_started | partially_completed | completed), optional): status string to filter inbound shipments on the basis of their shipped status - `createdAfter` (query, string, optional): Filters down to Inbound Shipments that have been created after this timestamp. (Timestamp in UTC) - `page` (query, integer, optional): if not specified, defaults to: 1 - `pageSize` (query, integer, optional): If not provided, this field will be defaulted to "20" - `sourceName` (query, string, optional): filter inbound shipments on the basis of source name. If sourceId and sourceName, both are provided, preference will be give to sourceId Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sourceId` (integer) - `generatedAt` (string) - `sentAt` (string) - `acknowledgedAt` (string) - `voidedAt` (string) - `canceledAt` (string) - `lastModifiedAt` (string) - `shippingAddress` (object) - `shippingAddressId` (integer) - `billingAddress` (object) - `billingAddressId` (integer) - `note` (string): A note that can optionally be passed through all the way to the source - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderReceivedStatus` (object) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `beingProcessed` (boolean) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - `packageWeight` (number) - `voidedReason` (string) - `processingErrorReason` (string): The reason this purchase order could not be processed - `cancelReason` (string) - `items` (array of object) - `purchaseOrderAttributes` (array of object) - `shipments` (array of object) - `sourceName` (string) ### POST /inbound-shipments/{id}/receive Partially Receive Inbound Shipment Partially receive items - Operation id: `partiallyReceiveInboundShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inbound-shipments/partiallyreceiveinboundshipment Query parameters: - `updateInventoryOnceReceived` (query, boolean, optional): Update inventory after receiving shipment Request body (application/json), object: - `purchaseOrderId` (integer, required) - `items` (array of object, required) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found --- ## Inventory 14 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/inventory ### POST /inventory [Deprecated] Create/Update Inventory Create or update up to 20 parents with variants at a time. This endpoint performs a full update of all data passed. This means any null/missing values provided will also be updated. For updating just variants (that already exist) with new prices/quantities see the `PUT Inventory Variants` endpoint. **Deprecated.** - Operation id: `postInventory` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/postinventory Request body (application/json), array of object: - `sourceId` (integer): Only required to be passed if you are using an account token type - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `archived` (boolean) - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOne` (string) - `categoryTwo` (string) - `categoryThree` (string) Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer): If the parent was created or updated this will be populated. If the parent did not exist and failed to be created this w - `sku` (string) - `success` (boolean): Whether or not the parent was successfully created/updated. If this is false the `errors` property will contain informat - `errors` (array of object) - `variants` (array of object) ### GET /inventory/variant/{variantId}/pair [Deprecated] Get Inventory Pair Deprecated - recommended to use `/inventory/variants` endpoints with `includeParent` **Deprecated.** - Operation id: `getInventoryVariantPairByVariantId` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventoryvariantpairbyvariantid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `parent` (object, required) - `variant` (object, required) ### GET /inventory/{parentId}/{variantId} [Deprecated] Get Inventory Pair Deprecated, use `/inventory/variant/{variantId}` with `includeParent` **Deprecated.** - Operation id: `getInventoryPair` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventorypair Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `parent` (object, required) - `variant` (object, required) ### GET /inventory/{sourceId}/parent [Deprecated] Get Inventory Parent **Deprecated.** - Operation id: `getInventoryParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventoryparent Query parameters: - `findBySku` (query, string, optional): Find a parent/variant by SKU - `findById` (query, integer, optional): Find a variant/parent by ID - `includeVariants` (query, boolean, optional): Include variants for the parent Responses: - `200`: OK - `400`: If neither `findBySku` or `findById` is passed. - `401`: Unauthorized - `404`: Not Found Success response body, object: - `sourceId` (integer) - `restricted` (boolean) - `variantCount` (integer) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object) - `categoryTwo` (object) - `categoryThree` (object) - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `contentUpdatedAt` (string) - `lastArchivedAt` (string) - `lastUnarchivedAt` (string) ### GET /inventory/{sourceId}/variant [Deprecated] Get Inventory Variant Deprecated. Use `GET /inventory/variant/{variantId}` to find by ID or `GET /inventory/variants` with `findBySKUs` **Deprecated.** - Operation id: `getInventoryVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventoryvariant Query parameters: - `findBySku` (query, string, optional): Find a parent/variant by SKU - `findById` (query, integer, optional): Find a variant by ID - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Inventory Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "parent.customFields" node will be populated. - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates" node will not be populated. Responses: - `200`: OK - `400`: If neither `findBySku` or `findById` is passed. - `401`: Unauthorized - `404`: Not Found Success response body, object: - `sourceId` (integer) - `inventoryParentId` (integer) - `supplierVariantId` (string) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) - `referenceIdentifier` (string) - `inventoryVariantId` (string) - `committedQuantity` (integer) - `incomingQuantity` (integer) - `quantity` (integer) - `totalQuantity` (integer) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `masterSku` (string): If available from your data source populate with your primary product master SKU to enable easily linking to your existi - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `totalQuantityLastChangedAt` (string) - `archived` (boolean) - `cost` (number) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `customAggregateFields` (array of object) - `parent` (object) - `linkedProductVariants` (array of object) - ...and 9 more fields, see the docs page ### GET /inventory/search/variant [Deprecated] Search Inventory Variants Deprecated, please use GET /inventory/variants **Deprecated.** - Operation id: `listInventoryVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/listinventoryvariants Query parameters: - `filterSourceId` (query, integer, optional): ID of source whose inventory is required - `filterUpdatedAfter` (query, string, optional): Retrieve inventory variants updated after this date - `filterPageNumber` (query, integer, optional): Current Page - `filterPageSize` (query, integer, optional): Number of entries per page - `filterByInventoryVariantIds` (query, string, optional): Inventory variant IDs separated by a comma - `filterBySkus` (query, array of string, optional): A list of Inventory Variant SKUs to filter on. Max must be less than or equal to filterPageSize. Recommended to not include full metadata while using this. This will work in conjunction with the other `filter` params EXCEPT `filterByIds`. - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max must be less than or equal to filterPageSize. - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Inventory Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "parent.customFields" node will be populated. - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates" node will not be populated. - `includeLinkedProductVariants` (query, boolean, optional): If "false" is passed, the "linkedProductvariants" node will not be populated. - `filterNeedsDeleting` (query, boolean, optional): If "true" is passed, it will return inventory variants which are scheduled to delete. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `sourceId` (integer) - `inventoryParentId` (integer) - `supplierVariantId` (string) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) - `referenceIdentifier` (string) - `inventoryVariantId` (string) - `committedQuantity` (integer) - `incomingQuantity` (integer) - `quantity` (integer) - `totalQuantity` (integer) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `masterSku` (string): If available from your data source populate with your primary product master SKU to enable easily linking to your existi - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `totalQuantityLastChangedAt` (string) - `archived` (boolean) - `cost` (number) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `customAggregateFields` (array of object) - `parent` (object) - `linkedProductVariants` (array of object) - ...and 9 more fields, see the docs page ### POST /inventory/parents Create/Update Inventory Create or update up to 20 parents with variants at a time. This endpoint performs a full update of all data passed. Excluded fields will remain unchanged. This means that explicitly passing null for 'title' will null out title, but skipping passing any json for 'title' will preserve the previous value. For updating just variants (that already exist) with new prices/quantities see the `PUT Inventory Variants` endpoint. - Operation id: `modifyInventory` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/modifyinventory Query parameters: - `modifyParentOptions` (query, string (none | replace | merge | deleteIncluded), optional): Should options of the parent be modified - `modifyVariantOptions` (query, string (none | replace | merge | deleteIncluded), optional): Should options of the variant be modified - `modifyParentImages` (query, string (none | replace | merge | deleteIncluded), optional): Should images of the parent be modified - `modifyVariantImages` (query, string (none | replace | merge | deleteIncluded), optional): Should images of the variant be modified - `modifyParentCustomFields` (query, string (none | replace | merge | deleteIncluded), optional): Should custom fields of the parent be modified - `modifyVariantCustomFields` (query, string (none | replace | merge | deleteIncluded), optional): Should custom fields of the variant be modified - `modifyVariantCustomAggregateFields` (query, string (none | replace | merge | deleteIncluded), optional): Should custom aggregate fields of the variant be modified - `modifyAttributes` (query, string (none | replace | merge | deleteIncluded), optional): Should attributes be modified Request body (application/json), array of object: - `sourceId` (integer): Only required to be passed if you are using an account token type - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `archived` (boolean) - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOne` (string) - `categoryTwo` (string) - `categoryThree` (string) Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer): If the parent was created or updated this will be populated. If the parent did not exist and failed to be created this w - `sku` (string) - `success` (boolean): Whether or not the parent was successfully created/updated. If this is false the `errors` property will contain informat - `result` (string (new | changed | unchanged | archived)) - `parentOptionsResult` (object) - `parentImagesResult` (object) - `parentCustomFieldsResult` (object) - `parentAttributesResult` (object) - `variants` (array of object) - `errors` (array of object) ### DELETE /inventory/parent/{parentId} Delete Inventory Parent Endpoint to delete parent inventory and all of its variants. - Operation id: `deleteInventoryParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/deleteinventoryparent Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found - `409`: Conflict Success response body, object: - `numberOfInventoryVariantsDeleted` (integer) - `numberOfInventoryParentsDeleted` (integer) ### DELETE /inventory/variant/{variantId} Delete Inventory Variant Endpoint to delete inventory variants. - Operation id: `deleteInventoryVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/deleteinventoryvariant Query parameters: - `deleteParentIfLastVariant` (query, boolean, optional): Delete the parent product if the variant being deleted is the last variant. Default `True` Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found - `409`: Inventory variant is linked to product variant. Success response body, object: - `numberOfInventoryVariantsDeleted` (integer) - `numberOfInventoryParentsDeleted` (integer) ### GET /inventory/variant/{variantId} Get Inventory Variant - Operation id: `getInventoryVariantById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventoryvariantbyid Query parameters: - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeLinkedProductVariants` (query, boolean, optional): If "false" is passed, the "linkedProductVariants" node will not be populated. Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `sourceId` (integer) - `inventoryParentId` (integer) - `supplierVariantId` (string) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) - `referenceIdentifier` (string) - `inventoryVariantId` (string) - `committedQuantity` (integer) - `incomingQuantity` (integer) - `quantity` (integer) - `totalQuantity` (integer) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `masterSku` (string): If available from your data source populate with your primary product master SKU to enable easily linking to your existi - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `totalQuantityLastChangedAt` (string) - `archived` (boolean) - `cost` (number) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `customAggregateFields` (array of object) - `parent` (object) - `linkedProductVariants` (array of object) - ...and 9 more fields, see the docs page ### GET /inventory/variants Get Inventory Variants This endpoint will fetch back a list of Inventory Variants. If values are provided for both `skus` and `ids` parameters only `ids` will be used. - Operation id: `getInventoryVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/getinventoryvariants Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `sourceId` (query, integer, optional): This will be automatically populated for Source API Tokens. Required if using an Account API Token - `updatedAfter` (query, string, optional): Only retrieves back inventory records that hae been updated after the date specified - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max must be less than or equal to pageSize. - `upcs` (query, array of string, optional): Finds elements matching these UPCs. Max must be less than or equal to pageSize. - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max must be less than or equal to pageSize. - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeLinkedProductVariants` (query, boolean, optional): If "false" is passed, the "linkedProductVariants" node will not be populated. - `filterNeedsDeleting` (query, boolean, optional): If "true" is passed, it will return inventory variants which are scheduled to delete. - `filterArchived` (query, boolean, optional): If "true" is passed, it will return only archived variants. If "false" is passed, only unarchived variants will be returned. The default value of null will return all variants. - `filterCustomFieldName` (query, string, optional): Filter inventory variants that contain a custom field matching the name provided. - `filterCustomFieldValue` (query, string, optional): Filter inventory variants that contain a custom field matching the value provided. Must be used in conjunction with a passed value for `filterCustomFieldName`, otherwise a `400` bad request will be returned. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `sourceId` (integer) - `inventoryParentId` (integer) - `supplierVariantId` (string) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) - `referenceIdentifier` (string) - `inventoryVariantId` (string) - `committedQuantity` (integer) - `incomingQuantity` (integer) - `quantity` (integer) - `totalQuantity` (integer) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `masterSku` (string): If available from your data source populate with your primary product master SKU to enable easily linking to your existi - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `totalQuantityLastChangedAt` (string) - `archived` (boolean) - `cost` (number) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `customAggregateFields` (array of object) - `parent` (object) - `linkedProductVariants` (array of object) - ...and 9 more fields, see the docs page ### PATCH /inventory/parents/{parentId}/tags Update Inventory Parent Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateInventoryParentTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/updateinventoryparenttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found ### PATCH /inventory/variants/{variantId}/tags Update Inventory Variant Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateInventoryVariantTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/updateinventoryvarianttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found ### PUT /inventory/variants Update Inventory Variants This endpoint is used to update inventory variants. (Up to 50 in one request) - Operation id: `updateInventoryVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/inventory/updateinventoryvariants Query parameters: - `modifyCost` (query, string (none | update | updateNonNull), optional): Should the cost of the variant be modified - `modifyMsrp` (query, string (none | update | updateNonNull), optional): Should the MSRP of the variant be modified - `modifyMap` (query, string (none | update | updateNonNull), optional): Should the MAP of the variant be modified - `modifyQuantity` (query, string (none | update | updateNonNull), optional): Should the quantity of the variant be modified - `modifyShippingCost` (query, string (none | update | updateNonNull), optional): Should the shipping cost of the variant be modified - `modifyDropShipFee` (query, string (none | update | updateNonNull), optional): Should the dropship fee of the variant be modified - `modifyInventoryListPrice` (query, string (none | update | updateNonNull), optional): Should the inventory list price of the variant be modified - `modifyAllowBackorders` (query, string (none | update | updateNonNull), optional): Should allow back orders of the variant be modified - `modifyWeight` (query, string, optional): Should the weight of the variant be modified - `modifyHeight` (query, string, optional): Should the height of the variant be modified - `modifyLength` (query, string, optional): Should the length of the variant be modified - `modifyWidth` (query, string, optional): Should the width of the variant be modified - `modifyWeightUnit` (query, string, optional): Should the dimension unit of the variant be modified - `modifyDimensionUnit` (query, string, optional): Should the weight unit of the variant be modified - `modifyRequiresFfl` (query, string (none | update | updateNonNull), optional): Should the `requiresFfl` field of the variant be modified - `modifyCustomFields` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should custom fields of the variant be modified Request body (application/json), array of object: - `inventoryVariantId` (integer, required) - `sku` (string, required) - `cost` (number) - `msrp` (number) - `map` (number) - `quantity` (integer) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) - `allowBackorders` (boolean) - `customAggregateFieldUpdates` (array of object) - `archived` (boolean): Optional parameter. Values of null will be treated as no change is requested. - `weight` (number) - `height` (number) - `width` (number) - `length` (number) - `weightUnit` (object) - `dimensionUnit` (object) - `requiresFfl` (boolean): Indicate if FFL information will be required to fulfill this inventory variant - `customFields` (array of object) Responses: - `200`: OK - `400`: Bad Request Success response body, array of object: - `inventoryVariantId` (integer) - `sku` (string) - `success` (boolean): Indicates whether the update was successful - `message` (string): If the update was unsuccessful this will indicate why --- ## Listing 19 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/listing ### GET /listing/variants/{variantId}/pair [Deprecated] Get Listing Pair This endpoint is deprecated. Instead, we'd encourage you to use : `GET /listing/variants/{id}` and pass `includeParent` flag **Deprecated.** - Operation id: `getListingPairByVariantId` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingpairbyvariantid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `parent` (object, required) - `variant` (object, required) ### POST /listing/search/parents [Deprecated] Search Listing Parents [Deprecated] Please use `GET /listing/parents`. Lists Listing Variants that meet the input filters **Deprecated.** - Operation id: `postListingSearchParents` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/postlistingsearchparents Query parameters: - `pageSize` (query, integer, optional): Number of entries per page - `page` (query, integer, optional) - `includeAttributes` (query, boolean, optional) - `includeCategories` (query, boolean, optional) - `includeImages` (query, boolean, optional) - `includeOptions` (query, boolean, optional) - `includeVariants` (query, boolean, optional): When `true` this will include at most 10 variants per parent. - `includeVariantImages` (query, boolean, optional) - `includeVariantOptionValues` (query, boolean, optional) - `includeVariantOverwrites` (query, boolean, optional) - `includeVariantCustomFields` (query, boolean, optional) Request body (application/json), object: - `filterChannelId` (integer) - `filterParentIds` (array of integer) - `filterNeedsPublished` (boolean) - `filterImagesCached` (boolean) Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryTwo` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryThree` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `channelId` (integer, required) - `productParentId` (integer, required) - `externalListingId` (string) - `publishError` (string) - `syncError` (string) - `staticContentUpdatedAt` (string) - `staticContentSyncedAt` (string) - `linkAttemptedAt` (string) - `listingStatus` (object) - `changeToListingStatus` (object) - `pausedAt` (string) - `scheduledToDeleteAt` (string) - `tags` (array of string) - `imageFetcherEventTriggered` (boolean) ### POST /listing/search/variants [Deprecated] Search Listing Variants Lists Listing Variants that meet the input filters **Deprecated.** - Operation id: `postListingSearchVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/postlistingsearchvariants Query parameters: - `pageSize` (query, integer, optional): Number of entries per page - `page` (query, integer, optional) - `includeParent` (query, boolean, optional) - `includeImages` (query, boolean, optional) - `includeOptionValues` (query, boolean, optional) - `includeOverwrites` (query, boolean, optional): will include dynamic prices and quantities if they are overwritten with fixed values - `includeCustomFields` (query, boolean, optional) Request body (application/json), object: - `filterChannelId` (integer) - `filterParentIds` (array of integer) - `filterVariantIds` (array of integer) - `filterExternalIds` (array of string) - `filterProductVariantIds` (array of integer) - `filterSkus` (array of string) - `filterUpcs` (array of string) - `filterMpns` (array of string) - `filterEans` (array of string) - `filterAsins` (array of string) - `filterNeedsSynced` (boolean) - `filterNeedsDeleting` (boolean) Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `listingParentId` (integer) - `price` (number) - `salePrice` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `masterSku` (string): Your master SKU is the SKU you use at your central product catalog level that is used as the primary means of identifyin - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number) - `quantity` (integer) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `bundle` (boolean): Indicates if this variant is a bundle. Configured at the product level and unchangeable. - `channelId` (integer, required) - `productVariantId` (integer, required) - ...and 30 more fields, see the docs page ### PATCH /listing/parents Acknowledge Listing Parents If you are leveraging the `publish` flag on `GET /listing/parents`, this endpoint allows you to respond to those interactions. If a listing has a `changeToListingStatus` pending and you respond WITHOUT an `error`, Flxpoint will assume the status change worked as intended. - Operation id: `acknowledgeListingParents` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/acknowledgelistingparents Request body (application/json), array of object: - `listingParentId` (integer, required) - `externalListingId` (string): (Optional) Must be Unique (per channel)! If you are responding to a `publish` operation (meaning, this is a brand new li - `error` (string): If this field is `null`, we will assume a successful interaction. If an interaction failed, please provide a reason by p - `variants` (array of object, required) - `images` (array of object) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized ### PATCH /listing/variants Acknowledge Listing Variants If you are leveraging the `sync` flag on `GET /listing/variants`, this endpoint allows you to respond to those interactions. If a listing has a `changeToListingStatus` pending and you respond WITHOUT an `error`, Flxpoint will assume the status change worked as intended. - Operation id: `acknowledgeListingVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/acknowledgelistingvariants Request body (application/json), array of object: - `listingVariantId` (integer, required) - `syncedAt` (string): Timestamp indicating when the listing was synced to the channel. Defaults to the current timestamp if not provided. This - `error` (string): If this field is `null`, we will assume a successful interaction. If an interaction failed, please provide a reason by p - `overrideStatus` (object) - `isLinkedToRegularProduct` (boolean) Responses: - `200`: OK - `401`: Unauthorized ### POST /listing/parents Create/Update Listing Parent Create/Update a listing parent - Operation id: `postListingParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/postlistingparent Query parameters: - `restrictCreateOrUpdate` (query, string (createOnly | updateOnly), optional): [Optional] When using a endpoint that can create or update products by SKU, use this parameter to restrict the endpoint to perform only a creation or only an update based on the existence of that SKU. If you pass `createOnly` and the SKU exists nothing will be updated, and if you pass `updateOnly` and the SKU doesn't exist nothing will be created. - `modifyContent` (query, string (none | update | updateNonNull), optional): Should content fields of the parent/variant be modified - `modifyOptions` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should options of the parent/variant be modified - `modifyImages` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should images of the parent/variant be modified - `modifyAttributes` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should attributes of the parent be modified - `modifyCustomFields` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should custom fields of the parent be modified - `modifyCategories` (query, string (none | update | delete), optional): Should categories of the parent be modified - `modifyPublishData` (query, string (none | update | updateNonNull), optional): Should publish fields (ie `publishError`, `staticContentUpdatedAt`, `staticContentSyncedAt`) of the parent/variant be modified - `modifyChannelData` (query, string (none | update | updateNonNull), optional): Should channel related fields (ie `externalLIstingId`, `linkAttemptedAt`, `linkedToRegularProduct`, `externalReferenceId`, `externalReferenceIdType`) of the parent/variant be modified - `modifySyncData` (query, string (none | update | updateNonNull), optional): Should sync fields (ie `syncError`, `dynamicContentUpdatedAt`, `dynamicContentSyncedAt`) of the parent/variant be modified - `modifyStatusData` (query, string (none | update | updateNonNull), optional): Should status fields (ie `pausedAt`, `listingStatusId`, `changeToListingStatusId`, `scheduledToDeleteAt`) of the parent/variant be modified - `modifyCategoryAiData` (query, string (none | update | delete), optional): Should category ai data be modified Request body (application/json), object: - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryTwo` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryThree` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object): DEPRECATED : Variants included in this call will not be updated. You need to use the dedicated variant endpoint to updat - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `channelId` (integer, required) - `productParentId` (integer, required) - `externalListingId` (string) - `publishError` (string) - `syncError` (string) - `staticContentUpdatedAt` (string) - `staticContentSyncedAt` (string) - `linkAttemptedAt` (string) - `listingStatus` (object) - `changeToListingStatus` (object) - `pausedAt` (string) Responses: - `200`: OK - Existing parent was updated OR the `restrictCreateOrUpdate` param was provided with a value of `createOnly` and the parent already existed in which case nothing was modified and the existing parent will be returned. - `201`: CREATED - A new parent was created - `204`: NO CONTENT - Only possible when using the `restrictCreateOrUpdate = updateOnly` param and the parent listing does not exist. This will return an empty/null response body. - `400`: When a invalid data condition is provided - `401`: Unauthorized - `409`: Conflict - If the SKU provided already exists on a different parent a conflict will be returned Success response body, object: - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryTwo` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryThree` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `channelId` (integer, required) - `productParentId` (integer, required) - `externalListingId` (string) - `publishError` (string) - `syncError` (string) - `staticContentUpdatedAt` (string) - `staticContentSyncedAt` (string) - `linkAttemptedAt` (string) - `listingStatus` (object) - `changeToListingStatus` (object) - `pausedAt` (string) - `scheduledToDeleteAt` (string) - `tags` (array of string) - `imageFetcherEventTriggered` (boolean) ### POST /listing/variants Create/Update Listing Variant Create/Update a listing variant - Operation id: `postListingVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/postlistingvariant Query parameters: - `restrictCreateOrUpdate` (query, string (createOnly | updateOnly), optional): [Optional] When using a endpoint that can create or update products by SKU, use this parameter to restrict the endpoint to perform only a creation or only an update based on the existence of that SKU. If you pass `createOnly` and the SKU exists nothing will be updated, and if you pass `updateOnly` and the SKU doesn't exist nothing will be created. - `modifyContent` (query, string (none | update | updateNonNull), optional): Should content fields of the parent/variant be modified - `modifyIdentifiers` (query, string (none | update | updateNonNull), optional): Should identifier fields (ie Master SKU, UPC, MPN, GTIN, ASIN, Reference Identifier) of the variant be modified - `modifyDimensions` (query, string (none | update | updateNonNull), optional): Should dimension fields (ie weight, length, width, height) of the variant be modified - `modifyOptions` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should options of the parent/variant be modified - `modifyImages` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should images of the parent/variant be modified - `modifyQuantityOverwrite` (query, string (none | update | delete | updateNonNull), optional): Should the quantity overwrite be updated? Use in combination with the quantityOverwrite object and associated variant quantity field(s) to overwrite any to a locked value or to remove any overwrites. - `modifyPriceOverwrite` (query, string (none | update | updateNonNull | delete), optional): Should the price overwrite be updated? Use in combination with the priceOverwrite object and associated variant pricing field(s) to overwrite any to a locked value or to remove any overwrite(s).. - `modifyPublishData` (query, string (none | update | updateNonNull), optional): Should publish fields (ie `publishError`, `staticContentUpdatedAt`, `staticContentSyncedAt`) of the parent/variant be modified - `modifySyncData` (query, string (none | update | updateNonNull), optional): Should sync fields (ie `syncError`, `dynamicContentUpdatedAt`, `dynamicContentSyncedAt`) of the parent/variant be modified - `modifyStatusData` (query, string (none | update | updateNonNull), optional): Should status fields (ie `pausedAt`, `listingStatusId`, `changeToListingStatusId`, `scheduledToDeleteAt`) of the parent/variant be modified - `modifyChannelData` (query, string (none | update | updateNonNull), optional): Should channel related fields (ie `externalLIstingId`, `linkAttemptedAt`, `linkedToRegularProduct`, `externalReferenceId`, `externalReferenceIdType`) of the parent/variant be modified - `modifyVariantCustomFields` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should custom fields of the variant be modified - `modifyRequiresFfl` (query, string (none | update | updateNonNull), optional): Should the `requiresFfl` field be modified Request body (application/json), object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `listingParentId` (integer) - `price` (number) - `salePrice` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `masterSku` (string): Your master SKU is the SKU you use at your central product catalog level that is used as the primary means of identifyin - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number) - `quantity` (integer) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `bundle` (boolean): Indicates if this variant is a bundle. Configured at the product level and unchangeable. - `channelId` (integer, required) - `productVariantId` (integer, required) - ...and 30 more fields, see the docs page Responses: - `200`: OK - Existing variant was updated OR the `restrictCreateOrUpdate` param was provided with a value of `createOnly` and the variant already existed in which case nothing was modified and the existing variant will be returned. - `201`: CREATED - A new variant was created - `204`: NO CONTENT - Only possible when using the `restrictCreateOrUpdate = updateOnly` param and the variant listing does not exist. This will return an empty/null response body. - `400`: Bad Request - `401`: Unauthorized - `409`: Conflict - If the SKU provided already exists on a different variant a conflict will be returned Success response body, object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `listingParentId` (integer) - `price` (number) - `salePrice` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `masterSku` (string): Your master SKU is the SKU you use at your central product catalog level that is used as the primary means of identifyin - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number) - `quantity` (integer) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `bundle` (boolean): Indicates if this variant is a bundle. Configured at the product level and unchangeable. - `channelId` (integer, required) - `productVariantId` (integer, required) - ...and 30 more fields, see the docs page ### DELETE /listing/category/{categoryId} Delete Listing Category Delete Listing Category by ID - Operation id: `deleteListingCategory` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/deletelistingcategory Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### DELETE /listing/parents/{parentId} Delete Listing Parent Endpoint to delete parent listing and all of it’s variants. - Operation id: `deleteListingParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/deletelistingparent Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `numberOfListingVariantsDeleted` (integer) - `numberOfListingParentsDeleted` (integer) - `numberOfVariantsThatWereLinked` (integer) ### DELETE /listing/variants/{variantId} Delete Listing Variant Endpoint to delete listing variants. - Operation id: `deleteListingVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/deletelistingvariant Query parameters: - `deleteParentIfLastVariant` (query, boolean, optional): Determines when this is the last variant deleted and deletes the parent listing. Default : `true` Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `numberOfListingVariantsDeleted` (integer) - `numberOfListingParentsDeleted` (integer) - `numberOfVariantsThatWereLinked` (integer) ### DELETE /listing/category/orphaned/channel Delete Orphaned Listing Categories For Channel Delete orphaned listing categories for a single channel (categories with no listing products associated). Accepts either an Account API Token or a Channel API Token; the caller must have access to the specified channel. Use this endpoint to retry cleanup for a single channel after a partial failure of the account-wide endpoint, or to target a specific channel known to have orphans. - Operation id: `deleteOrphanedListingCategoriesForChannel` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/deleteorphanedlistingcategoriesforchannel Query parameters: - `channelId` (query, integer, optional): The channel ID orphaned categories should be found and deleted from. When using a channel token nothing needs to be passed here. When using an account token the channel ID must be passed. Responses: - `200`: OK - `401`: Unauthorized - `403`: Forbidden - Channel ID does not exist Success response body, object: - `deletedCount` (integer, required) ### GET /listing/variants/count Get Count of Listing Variants - Operation id: `getListingVariantsCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingvariantscount Query parameters: - `channelId` (query, integer, optional): This will be automatically populated for Channel API Tokens. Required if using an Account API Token - `updatedAfter` (query, string, optional): Only retrieves back listing variants that hae been updated after the date specified - `basicsUpdatedAfter` (query, string, optional): Only retrieves back listing variants that have had basic info updated after the date specified. This includes primary fields like `price` and `quantity` - `sync` (query, boolean, optional): Filter listing variants based on whether or not they have data ready to be synced. - `publish` (query, boolean, optional): Filter listing variants based on whether or not they have data ready to be published (created or updated). - `includeDeleting` (query, boolean, optional): Filter listing variants based on whether or not they have been deleted - `includeImagesCached` (query, boolean, optional): Filter listing variants based on whether or not they have images cached. - `includePaused` (query, boolean, optional): Filter listing variants based on whether or not they have been paused - `minimumQuantity` (query, integer, optional): Filter listing variants based on whether or not they have a minimum quantity. - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max 50 Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `count` (integer, required) ### GET /listing/categories Get Listing Categories This endpoint will fetch back a list of Listing Categories. - Operation id: `getListingCategories` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingcategories Query parameters: - `filterByChannelId` (query, integer, optional): Retrieve categories of a specific channel Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### GET /listing/parents/{parentId} Get Listing Parent Retrieve a Listing Parent by `listingParentId`. All metadata will be populated when using this endpoint. - Operation id: `getListingParentById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingparentbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryTwo` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryThree` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `channelId` (integer, required) - `productParentId` (integer, required) - `externalListingId` (string) - `publishError` (string) - `syncError` (string) - `staticContentUpdatedAt` (string) - `staticContentSyncedAt` (string) - `linkAttemptedAt` (string) - `listingStatus` (object) - `changeToListingStatus` (object) - `pausedAt` (string) - `scheduledToDeleteAt` (string) - `tags` (array of string) - `imageFetcherEventTriggered` (boolean) ### GET /listing/parents Get Listing Parents This endpoint will fetch back a list of Listing Parents. If you're a new integrator, it's recommended to read the `Integrating as a Channel` guide. Only returns 4000 variants per request. If you are not able to retrieve all variants in a single request, please lower your page size - Operation id: `getListingParents` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingparents Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `channelId` (query, integer, optional): This will be automatically populated for Channel API Tokens. Required if using an Account API Token - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max 50 - `updatedAfter` (query, string, optional): Only retrieves back elements that have been updated after the date specified - `publish` (query, boolean, optional): Read our API Guides to learn about this flag. Passing `true` requires you to respond for the interaction. - `includeDeleting` (query, boolean, optional): Filter listing parents based on whether or not they have been deleted - `includePaused` (query, boolean, optional): Filter listing parents based on whether or not they have been paused - `includeOutOfStockVariants` (query, boolean, optional): If "false" is passed, it will not return out of stock inventory variants. - `includeHavingImagesCached` (query, boolean, optional): If "true" is passed, it will only return inventory parents/variants with cached images. - `changeToListingStatusHandle` (query, string, optional): Only retrieves back elements that have been queued to change to the specified listing status. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeVariants` (query, boolean, optional): Include variants for the parent - `includeOverwrites` (query, boolean, optional): will include dynamic prices and quantities if they are overwritten with fixed values - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryTwo` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `categoryThree` (object): A listing category. These are primarily created during the listing building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `channelId` (integer, required) - `productParentId` (integer, required) - `externalListingId` (string) - `publishError` (string) - `syncError` (string) - `staticContentUpdatedAt` (string) - `staticContentSyncedAt` (string) - `linkAttemptedAt` (string) - `listingStatus` (object) - `changeToListingStatus` (object) - `pausedAt` (string) - `scheduledToDeleteAt` (string) - `tags` (array of string) - `imageFetcherEventTriggered` (boolean) ### GET /listing/variants/{variantId} Get Listing Variant Retrieve a Listing Variant by `listingVariantId`. All metadata will be populated when using this endpoint. - Operation id: `getListingVariantById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingvariantbyid Responses: - `200`: OK - `400`: Bad Request - `404`: Not Found Success response body, object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `listingParentId` (integer) - `price` (number) - `salePrice` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `masterSku` (string): Your master SKU is the SKU you use at your central product catalog level that is used as the primary means of identifyin - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number) - `quantity` (integer) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `bundle` (boolean): Indicates if this variant is a bundle. Configured at the product level and unchangeable. - `channelId` (integer, required) - `productVariantId` (integer, required) - ...and 30 more fields, see the docs page ### GET /listing/variants Get Listing Variants This endpoint will fetch back a list of Listing Variants! If you're a new integrator, it's recommended to read the `Integrating as a Channel` guide. - Operation id: `getListingVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/getlistingvariants Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `channelId` (query, integer, optional): This will be automatically populated for Channel API Tokens. Required if using an Account API Token - `updatedAfter` (query, string, optional): Only retrieves back listing variants that hae been updated after the date specified - `basicsUpdatedAfter` (query, string, optional): Only retrieves back listing variants that have had basic info updated after the date specified. This includes primary fields like `price` and `quantity` - `sync` (query, boolean, optional): Read our API Guides to learn about this flag. Passing `true` requires you to respond for the interaction. - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max must be less than or equal to pageSize. - `upcs` (query, array of string, optional): Finds elements matching these UPCs. Max must be less than or equal to pageSize. - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max must be less than or equal to pageSize. - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeOverwrites` (query, boolean, optional): will include dynamic prices and quantities if they are overwritten with fixed values - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `listingParentId` (integer) - `price` (number) - `salePrice` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `id` (integer) - `accountId` (integer) - `sku` (string, required) - `masterSku` (string): Your master SKU is the SKU you use at your central product catalog level that is used as the primary means of identifyin - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number) - `map` (number) - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number) - `quantity` (integer) - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - `bundle` (boolean): Indicates if this variant is a bundle. Configured at the product level and unchangeable. - `channelId` (integer, required) - `productVariantId` (integer, required) - ...and 30 more fields, see the docs page ### PATCH /listing/parents/{parentId}/tags Update Listing Parent Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateListingParentTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/updatelistingparenttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found ### PATCH /listing/variants/{variantId}/tags Update Listing Variant Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateListingVariantTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing/updatelistingvarianttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found --- ## Listing Builder 5 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/listing-builder ### POST /listing/{channelId}/builder/build/{productVariantId} Build Listing from Product Variant - Operation id: `createListing` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing-builder/createlisting Request body (application/json), object: - `mappingTemplateId` (integer): A specific mapping template that should be used to build the listing. If not provided the default mapping template will - `rebuildIfExists` (boolean): Rebuild the listing if the product variant is already built and linked to a listing in the channel Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `listingVariantId` (integer): The ID of the listing variant if it was successfully created OR if it was rebuilt - `channelId` (integer): The channel ID as passed in the path params - `built` (boolean): Whether or not the listing was built (created) - `rebuilt` (boolean): Whether a listing that already existed for the product in the channel was rebuilt. - `duplicateSkuFailure` (boolean): If the listing could not be built because there already is a existing listing in the channel with the same SKU that was ### GET /listing/{channelId}/builder/count Get Listing Builder Count Get the count of the total listings pending a build in the given channel - Operation id: `getListingBuilderCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing-builder/getlistingbuildercount Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `count` (integer, required) ### GET /listing/builder/re-build/count Get Listing Rebuilder Count Get a count of the total number of listing that are pending a rebuild - Operation id: `getListingReBuilderCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing-builder/getlistingrebuildercount Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `variantCount` (integer) - `variantFailedCount` (integer) - `parentCount` (integer) - `parentFailedCount` (integer) ### POST /listing/{channelId}/builder/re-build/parent/{listingParentId} Rebuild Listing Parent - Operation id: `rebuildListingParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing-builder/rebuildlistingparent Query parameters: - `rebuildVariants` (query, boolean, optional): Whether variants of the parent should be rebuilt as well. Request body (application/json), object: - `mappingTemplateId` (integer): A specific mapping template that should be used to build the listing. If not provided the default mapping template will - `rebuildIfExists` (boolean): Rebuild the listing if the product variant is already built and linked to a listing in the channel Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `success` (boolean, required) - `error` (string) ### POST /listing/{channelId}/builder/re-build/variant/{listingVariantId} Rebuild Listing Variant - Operation id: `rebuildListingVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/listing-builder/rebuildlistingvariant Request body (application/json), object: - `mappingTemplateId` (integer): A specific mapping template that should be used to build the listing. If not provided the default mapping template will - `rebuildIfExists` (boolean): Rebuild the listing if the product variant is already built and linked to a listing in the channel Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `success` (boolean, required) - `error` (string) --- ## MappingSet 10 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/mappingset ### POST /mapping-set/{id}/item Add Item to Mapping Set This will add a Mapping Set Item - Operation id: `postMappingSetItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/postmappingsetitems Request body (application/json), array of object: - `id` (integer) - `mappingSetId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `updatedAt` (string) - `fromValue` (string, required) - `toValue` (string) Responses: - `200`: OK ### POST /mapping-set Create Mapping Set Create a mapping set. - Operation id: `postMappingSet` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/postmappingset Request body (application/json), object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', Responses: - `200`: OK Success response body, object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', ### DELETE /mapping-set/{id}/item Delete Item from Mapping Set This endpoint will delete a mapping set item - Operation id: `deleteMappingSetItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/deletemappingsetitems Request body (application/json), object: - `fromValues` (array of string) Responses: - `200`: OK ### DELETE /mapping-set/{id} Delete Mapping Set Delete a mapping set. - Operation id: `deleteMappingSet` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/deletemappingset Responses: - `200`: OK - `404`: Not Found ### GET /mapping-set/{id}/convert Get Converted Value Attempt to convert a given value using a mapping set. - Operation id: `convertUsingMappingSet` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/convertusingmappingset Query parameters: - `fromValue` (query, string, required): The value to attempt to convert using the mapping set Responses: - `200`: OK Success response body, object: - `converted` (boolean, required) - `fromValue` (string, required) - `toValue` (string, required) ### GET /mapping-lists Get Mapping Lists Get a List of Mapping List. It will retrieve a maximum of 100 mapping lists with each request - Operation id: `getMappingLists` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/getmappinglists Query parameters: - `page` (query, integer, optional) - `exclusionListForSourceId` (query, integer, optional): Retrieve mapping lists for the given sourceId Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', ### GET /mapping-set/{id} Get Mapping Set Get a mapping set - Operation id: `getMappingSet` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/getmappingset Responses: - `200`: OK - `404`: Not Found Success response body, object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', ### GET /mapping-set/{id}/item Get Mapping Set Item Get a single mapping item - Operation id: `getMappingSetItem` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/getmappingsetitem Query parameters: - `itemId` (query, integer, optional): Get by ID - `fromValue` (query, string, optional): Get by fromValue Responses: - `200`: OK - `400`: Bad Request - `404`: Not Found Success response body, object: - `id` (integer) - `mappingSetId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `updatedAt` (string) - `fromValue` (string, required) - `toValue` (string) ### GET /mapping-sets Get Mapping Sets Get a List of Mapping Sets. It will retrieve a maximum of 100 mapping sets with each request - Operation id: `getMappingSets` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/getmappingsets Query parameters: - `page` (query, integer, optional) Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', ### PATCH /mapping-set/{id} Update Mapping Set Update a mapping set. - Operation id: `patchMappingSet` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingset/patchmappingset Request body (application/json), object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', Responses: - `200`: OK - `404`: Not Found Success response body, object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `createdAt` (string) - `name` (string, required) - `description` (string) - `totalItems` (integer) - `exclusionListForSourceId` (integer) - `exclusionType` (string (sku | brand | category)): Required when 'exclusionListForSourceId' is provided. Specifies the type of exclusion being applied. Use 'sku', 'brand', --- ## MappingTemplate 5 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate ### POST /mapping-template Create/Update Mapping Template Create/Update a mapping template - Operation id: `postMappingTemplate` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate/postmappingtemplate Request body (application/json), object: - `id` (integer) - `eventId` (integer, required) - `eventHandle` (string) - `name` (string, required) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `csvIndexBased` (boolean) - `fields` (array of object) - `mappingEventGroupReplaceModes` (array of object) - `useAsDefault` (boolean): Whether automated processes for the given `eventId` this mapping template is associated with should automatically defaul Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `eventId` (integer, required) - `eventHandle` (string) - `name` (string, required) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `csvIndexBased` (boolean) - `fields` (array of object) - `mappingEventGroupReplaceModes` (array of object) - `useAsDefault` (boolean): Whether automated processes for the given `eventId` this mapping template is associated with should automatically defaul ### DELETE /mapping-template/{mappingTemplateId} Delete Mapping Template Delete a mapping template - Operation id: `deleteMappingTemplate` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate/deletemappingtemplate Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### GET /mapping-template/{mappingTemplateId} Get Mapping Template - Operation id: `getMappingTemplateById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate/getmappingtemplatebyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `eventId` (integer, required) - `eventHandle` (string) - `name` (string, required) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `csvIndexBased` (boolean) - `fields` (array of object) - `mappingEventGroupReplaceModes` (array of object) - `useAsDefault` (boolean): Whether automated processes for the given `eventId` this mapping template is associated with should automatically defaul ### GET /mapping-template Get Mapping Templates List all mapping templates. - Operation id: `listMappingTemplates` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate/listmappingtemplates Query parameters: - `includeFields` (query, boolean, optional): Whether fields should be populated on the returned mapping templates Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `eventId` (integer, required) - `eventHandle` (string) - `name` (string, required) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `csvIndexBased` (boolean) - `fields` (array of object) - `mappingEventGroupReplaceModes` (array of object) - `useAsDefault` (boolean): Whether automated processes for the given `eventId` this mapping template is associated with should automatically defaul ### POST /mapping-template/run Run Mapping Template This endpoint will run a mapping template - Operation id: `runMappingTemplate` - Docs: https://www.apihelpcenter.flxpoint.com/reference/mappingtemplate/runmappingtemplate Request body (application/json), object: - `mappingEventId` (integer, required) - `fromObjects` (object, required) - `toObjects` (object, required) - `options` (object) Responses: - `200`: OK - `404`: Not Found Success response body, object: - `fromObjects` (object, required) - `toObjects` (object, required) - `customHandlers` (array of object) --- ## Order 12 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/order ### GET /orders/{channelId}/{orderNumber} [Deprecated] Get Order by Order Number This endpoint is deprecated. This functionality will be added to : `GET /orders` -> `findByOrderNumber` **Deprecated.** - Operation id: `getOrderByOrderNumber` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/getorderbyordernumber Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### GET /orders/list [Deprecated] List Orders This endpoint is deprecated, please use `GET /orders` instead This endpoint will retrieve back Orders - Params starting with **filter*** will filter the results down - Params starting with **include*** will determine the metadata returned **Deprecated.** - Operation id: `listOrders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/listorders Query parameters: - `filterStatus` (query, string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed), optional): Filters down to Orders that match this status. - `filterOrderedAfter` (query, string, optional): Filters down to Orders that were ordered after this datetime. - `filterStatusHasChangedSince` (query, string, optional): Returns any orders that have had a status change since this datetime. - `filterHasTag` (query, string, optional): Filters orders that has tag - `filterShipmentStatus` (query, string (Not Started | Partially Completed | Completed), optional): Filters down to Orders that has this shipment status - `filterChannelInvoiceStatus` (query, string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined), optional): Filters down to Orders that are in this channel invoice status. - `includeChannelInvoice` (query, boolean, optional): Determines if "channel invoice" are returned in the response - `includePos` (query, boolean, optional): Determines if "purchase orders" are returned in the response. Only applicable if using an account token type. Will never be included for channel token types. - `includeShipments` (query, boolean, optional): Determines if "shipments" are returned in the response. - `includeSourceInvoices` (query, boolean, optional): Determines if "source invoices" are returned in the response. Only applicable if using an account token type. Will never be included for channel token types. - `includeStatusHistory` (query, boolean, optional): Determines if "order status history" are returned in the response - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response - `filterPageSize` (query, integer, optional): Number of entries per page - `filterPageNumber` (query, integer, optional): Current Page - `filterByChannelId` (query, integer, optional): Retrieve orders of a specific channel - `filterByIds` (query, array of integer, optional): A list of Order IDs to filter on. Max 50 IDs. Recommended to not include full metadata while using this. This will work in conjunction with the other `filter` params - `includeFFL` (query, boolean, optional): Determines if "Order FFL" (if available) is included in the response - `includeReturns` (query, boolean, optional): Determines if "Order returns" are returned in the response Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### POST /checkout Checkout Order This endpoint allows you to go through a ”checkout” process for a potential Order. Use Case Example : A customer is going through the ”checkout” process on your site and you would like to provide them with an estimated shipping cost generate by your rules in Flxpoint. This endpoint will response with a ”mock” Order representing the expected result of a live Order submission. If you pass `mockRouting` - we will also try to route the Order to Source(s), and reply back with ”mock” Purchase Orders attached to reflect the result of a live Order routing process. DISCLAIMER: Depending on the strategy, this endpoint may take some time to process (i.e. if you are deriving Shipping Costs by using Rate Shopping, latency is also dependent on ShipEngine’s response times). **Please be aware, ”id” values will be null. Nothing is persisted as a result of this operation** - Operation id: `checkoutOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/checkoutorder Query parameters: - `mockRouting` (query, boolean, optional): If `true`, Flxpoint will try to route the Order to Source(s), and reply back with ”mock” Purchase Orders attached to reflect the result of a live Order routing process. If this process fails, `purchaseOrders` will be empty - `routingGroupId` (query, integer, optional): If passed, Flxpoint will override the default routing group used to generate the Purchase Orders Request body (application/json), object: - `channelId` (integer): This field will automatically be populated if you are using a Channel or Reseller API Token. If you are using an Account - `resellerId` (integer): This field will automatically be populated if you are using a Reseller API Token. If you are using an Account API Token - `orderNumber` (string, required): Unique Order ID from external system submitting Order. - `referenceNumber` (string): User friendly Order number being submitted, uniqueness not enforced. - `orderedAt` (string): Timestamp that represents when the Order was placed. If a timestamp is not provided, we will add the current time in dur - `note` (string) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `shippingText` (string): Text that represents the shipping method selected for this Order. This is used to find a matching "Shipping Policy" and - `shippingPolicyId` (integer): Unique ID of a Shipping Policy within your account. If "shippingText" is passed and has a matching Channel Shipping Mapp - `shippingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `billingAddress` (object): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `attributes` (array of object): Any attribute with an empty key or value will be ignored (won't be saved). Also, each attribute should have a unique key - `orderItems` (array of object, required) - `piiRetentionPolicy` (string (30_days_after_shipment | 60_days_after_shipment | 90_days_after_shipment | none)): Personal Identifiable Information (PII) retention policy. By specifying a PII retention policy, we will remove customer - `orderInvoice` (object): An "Order Invoice" represents a "Receipt" or B2B Invoice for Orders being submitted. If fields like "subtotal" or "total - `orderFFL` (object): Federal Firearm License details - `orderType` (string (Online | POS | Manual)) - `fulfillmentType` (string (Shipping | In-Store Purchase)) - `orderStatus` (string (Open | Draft)) - `tags` (array of string) Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### POST /orders Create Order This endpoint creates an Order! Orders can be created by using an Account, Channel, or Reseller API Token. If an Account Token is used, a `channelId` must be provided. Items are associated by `sku`, `external_listing_id`, or `listing_variant_id`. See the `CreateOrderItem` model for more information. When an Order is created, it will : - Run `Order Import` workflow rules - Run `Order Invoice` workflow rules - Run `Auto FR Generation` settings - Which in turn, may also run additional workflows if FRs are created For more information about Orders, see our docs : https://docs.flxpoint.com/flxpoint/orders - Operation id: `post-orders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/post-orders Query parameters: - `routingGroupId` (query, integer, optional): If passed, Flxpoint will override the default routing group used to generate the Purchase Orders Request body (application/json), object: - `channelId` (integer): This field will automatically be populated if you are using a Channel or Reseller API Token. If you are using an Account - `resellerId` (integer): This field will automatically be populated if you are using a Reseller API Token. If you are using an Account API Token - `orderNumber` (string, required): Unique Order ID from external system submitting Order. - `referenceNumber` (string): User friendly Order number being submitted, uniqueness not enforced. - `orderedAt` (string): Timestamp that represents when the Order was placed. If a timestamp is not provided, we will add the current time in dur - `note` (string) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `shippingText` (string): Text that represents the shipping method selected for this Order. This is used to find a matching "Shipping Policy" and - `shippingPolicyId` (integer): Unique ID of a Shipping Policy within your account. If "shippingText" is passed and has a matching Channel Shipping Mapp - `shippingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `billingAddress` (object): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `attributes` (array of object): Any attribute with an empty key or value will be ignored (won't be saved). Also, each attribute should have a unique key - `orderItems` (array of object, required) - `piiRetentionPolicy` (string (30_days_after_shipment | 60_days_after_shipment | 90_days_after_shipment | none)): Personal Identifiable Information (PII) retention policy. By specifying a PII retention policy, we will remove customer - `orderInvoice` (object): An "Order Invoice" represents a "Receipt" or B2B Invoice for Orders being submitted. If fields like "subtotal" or "total - `orderFFL` (object): Federal Firearm License details - `orderType` (string (Online | POS | Manual)) - `fulfillmentType` (string (Shipping | In-Store Purchase)) - `orderStatus` (string (Open | Draft)) - `tags` (array of string) Responses: - `200`: OK - `401`: Unauthorized - `409`: Duplicate Order Number Found Success response body, object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### POST /orders/{orderId}/items Create Order Item - Operation id: `createOrderItem` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/createorderitem Request body (application/json), object: - `price` (number) - `discount` (number): Line-item discount as a monetary amount subtracted from the line total (price * quantity), in the order's currency. - `quantity` (integer, required) - `productVariantId` (integer) - `listingVariantId` (integer) - `shippingAddress` (object): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### GET /orders/{id} Get Order - Operation id: `getOrderById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/getorderbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### GET /orders Get Orders This endpoint will retrieve back Orders - Operation id: `getOrders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/getorders Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `channelId` (query, integer, optional): ID of the Channel. This will be default applied for Channel API Tokens - `orderedAfter` (query, string, optional): Only returns Orders that have been ordered after this time. - `sinceId` (query, integer, optional): If passed, returns results with an id greater than this - `hasTag` (query, string, optional): Only returns Orders that have the matching tag - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max 50 - `orderNumbers` (query, array of string, optional): Finds records matching these Order Numbers. Max 50 - `referenceNumbers` (query, array of string, optional): Finds records matching these Reference Numbers. Max 50 - `status` (query, string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed), optional): Only returns Orders that have the matching status. - `shipmentStatus` (query, string (Not Started | Partially Completed | Completed), optional): Only returns Orders that have the matching shipment status - `channelInvoiceStatus` (query, string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined), optional): Only returns Orders that have the matching channel invoice status. - `paymentStatus` (query, array of string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined), optional): Only returns Orders that match one of the input payment statuses. - `accountingSynced` (query, boolean, optional): Filters based on whether or not order accounting is synced - `includeShippingPolicy` (query, boolean, optional): Determines if "shipping policy" is returned in the response - `includeChannelShippingMethod` (query, boolean, optional): Determines if "channel shipping method" is returned in the response - `includeChannelInvoice` (query, boolean, optional): Determines if "channel invoice" is returned in the response - `includePos` (query, boolean, optional): Determines if "purchase orders" are returned in the response. Only applicable if using an account token type. Will never be included for channel token types. - `includeShipments` (query, boolean, optional): Determines if "shipments" are returned in the response. - `hasShipments` (query, boolean, optional): Filters orders based on whether or not they have at least one shipment. - `shipmentSyncedToChannel` (query, boolean, optional): Filters returned "shipments" based on whether or not they have been synced to the channel. If this is passed as true, both "includeShipments" and "isShipped" will be set to true. - `shipmentSuppressed` (query, boolean, optional): Filters returned "shipments" based on whether or not they have been suppressed. If this is passed as true, both "includeShipments" and "isShipped" will be set to true. - `shipmentHasError` (query, boolean, optional): Filters returned "shipments" based on whether or not they have been they had an error saved when syncing to the channel. If this is passed as true, both "includeShipments" and "isShipped" will be set to true. - `includeSourceInvoices` (query, boolean, optional): Determines if "source invoices" are returned in the response. Only applicable if using an account token type. Will never be included for channel token types. - `includeStatusHistory` (query, boolean, optional): Determines if "order status history" are returned in the response - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response - `includeFFL` (query, boolean, optional): Determines if "Order FFL" (if available) is included in the response - `includeReturns` (query, boolean, optional): Determines if "Order returns" are returned in the response. - `updatedAfter` (query, string, optional): Only returns orders that have been updated after this time. Includes changes to the order itself only — it does not include additions or changes to sub-components of an order (e.g. a shipment being added). To also capture sub-component changes, use `orderModifiedAfter` instead. - `includeCancelledOrders` (query, boolean, optional): Include cancelled orders in the response. - `allocationStatus` (query, string (Not Started | Partially Completed | Completed), optional): Filter on Allocation Status - `shipmentAccountingSynced` (query, boolean, optional): Shipment Accounting Synced Filter - `orderModifiedAfter` (query, string, optional): Only returns orders where the order or any of its sub-components have been modified after this time. Sub-components include: Line Items, FFL, Shipping Address, Billing Address, Fulfillment Requests (FR/PR/SPO/TO), Shipments, Source Invoices, Returns, and RMAs. This filter matches the order's `modifiedAt` field. Unlike `updatedAfter`, it captures changes such as a shipment being added to the order. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `orderNumber` (string) - `referenceNumber` (string) - `orderTotal` (number) - `note` (string) - `importedFrom` (integer) - `orderedAt` (string) - `insertedAt` (string) - `updatedAt` (string) - `shippingText` (string) - `acknowledgedStatus` (string (Not Started | Partially Completed | Completed)) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `orderStatus` (string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed | Draft)) - `shippingAddress` (object) - `billingAddress` (object) - `dealerAddress` (object) - `channelId` (integer) - `reseller` (object) - `released` (boolean) - `accountId` (integer) - `paymentStatus` (string (Not Authorized | Authorized | Paid | Deferred | Refunded | Credited | Awaiting Clearance | Declined)) - `allocatedStatus` (string (Not Started | Partially Completed | Completed)) - `canceledAt` (string) - `totalOrderItems` (integer) - `totalQuantity` (integer) - `totalWeight` (number) - `paymentRefundStatus` (string (None | Partially | Fully)) - `paymentCreditStatus` (string (None | Partially | Fully)) - `purchaseOrderStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderProcessStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderFailedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderCanceledStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderVoidedStatus` (string (Not Started | Partially Completed | Completed)) - `paymentDeferredAt` (string) - `paymentDeferredUntil` (string) - `channelInvoiceReceiptQueuedId` (string) - `channelShippingMethod` (object) - `totalPos` (integer) - `shippingPolicy` (object) - `poTotalCost` (number) - ...and 28 more fields, see the docs page ### PATCH /orders/link Link Unmanaged Orders/Items Attempt to link unmanaged order items based on the IDs passed. You can only pass one of the defined GET parameters at a time, otherwise a 400 will be returned. - Operation id: `patchLinkOrders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/patchlinkorders Responses: - `200`: OK - `400`: Bad Request. Will be returned if more than one GET parameter is defined & passed at a time or no get parameters are passed. - `401`: Unauthorized ### PUT /orders/{id}/route Route Order this endpoint applies modern generation strategy that takes routing rules into consideration and builds best purchase order solutions - Operation id: `routeOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/routeorder Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: No routing solution found - `409`: In-flight (processing, processed, acknowledged) Purchase Orders already exist. Cannot regenerate Success response body, array of object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### PATCH /orders/{id}/accounting-sync Sync Accounting for Order Update order as synced to external accounting system - Operation id: `syncOrderAccounting` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/syncorderaccounting Request body (application/json), object: - `accountingSynced` (boolean): specify whether accounting was synced - `externalAccountingId` (string): identfier in the external system that identifies with this order. - `items` (array of object) - `accountingSyncError` (string) Responses: - `204`: No Content - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PATCH /orders/{id}/status Update Order Status - Operation id: `updateOrderStatus` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/updateorderstatus Query parameters: - `status` (query, string (Open | Closed | Canceled | On Hold | Failed | No Shipping Method | Not Managed), required): order status - `updateNote` (query, string, optional): note about this status update Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PATCH /orders/{id}/tags Update Order Tags - Operation id: `updateOrderTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/order/updateordertags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found --- ## Package 1 operation. Reference: https://www.apihelpcenter.flxpoint.com/reference/package ### POST /packages/custom Create Custom Package Use this endpoint to create a new custom package. If a custom package with this name already exists, a 409 - Conflict Response will be returned. - Operation id: `saveCustomPackage` - Docs: https://www.apihelpcenter.flxpoint.com/reference/package/savecustompackage Request body (application/json), object: - `name` (string, required) - `length` (number, required) - `width` (number, required) - `height` (number, required) - `dimensionUnit` (string (in | cm), required) - `weight` (number, required) - `weightUnit` (string (lb | oz | g | kg), required) Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `409`: Conflict Success response body, object: - `id` (integer): A unique, numerical identifier for the package. - `name` (string): Your name for the package. - `length` (number): The length dimension of the package. - `width` (number): The width dimension of the package. - `height` (number): The height dimension of the package. - `dimensionUnit` (object) - `weight` (number): The weight of the package itself (excluding any contents). - `weightUnit` (object) - `createdAt` (string): The time that the package was created by an account user. - `createdByUserEmail` (string): The email address of the user who created the package. - `updatedAt` (string): The last time the package details were modified (will be null if never changed). --- ## Product 19 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/product ### GET /product/{parentId}/{variantId} [Deprecated] Get Product Pair Deprecated, use `/product/variants` with `includeParent` **Deprecated.** - Operation id: `getProductPair` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductpair Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `parent` (object, required) - `variant` (object, required) ### GET /product/variant/{variantId}/pair [Deprecated] Get Product Pair by Variant ID Deprecated, use `/products/variants/{id}` with `includeParent` **Deprecated.** - Operation id: `getProductPairByVariantId` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductpairbyvariantid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `parent` (object, required) - `variant` (object, required) ### GET /product/products/variant [Deprecated] Get Product Variant Deprecated, use `/product/variants` with `findBySku` **Deprecated.** - Operation id: `getProductVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductvariant Query parameters: - `findBySku` (query, string, optional): Find a parent/variant by SKU - `findById` (query, integer, optional): Find a variant/parent by ID Responses: - `200`: OK - `400`: If neither `findBySku` or `findById` is passed. - `401`: Unauthorized - `404`: Not Found Success response body, object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page ### GET /product/variant/inventorylinks [Deprecated] Get Product Variant Inventory Links This endpoint is deprecated, either use the `GET /inventory/variant/{variantId}` endpoint or `GET /product/variant/{variantId}` **Deprecated.** - Operation id: `listProductVariantInventoryLinks` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/listproductvariantinventorylinks Query parameters: - `filterProductVariantId` (query, integer, optional): ID of product variant - `filterInventoryVariantId` (query, integer, optional): ID of inventory variant Responses: - `200`: OK Success response body, array of object: - `id` (integer) - `productVariantId` (integer) - `inventoryVariantId` (integer, required) - `sourceId` (integer) - `sku` (string) - `archived` (boolean) - `quantity` (integer) - `cost` (number) - `msrp` (number) - `map` (number) - `shippingCost` (number) - `dropshipFee` (number) - `inventoryListPrice` (number) ### POST /product/search/variants [Deprecated] Search Product Variants **Deprecated.** - Operation id: `getProductVariants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductvariants Query parameters: - `page` (query, integer, optional) - `pageSize` (query, integer, optional): Number of entries per page - `includeImages` (query, boolean, optional) - `includeOptionValues` (query, boolean, optional) - `includeOverwrites` (query, boolean, optional) - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" node will be populated. Request body (application/json), object: - `filterNeedsDeleting` (boolean): fetch variants that are marked for deletion - `filterProductVariantIds` (array of integer): filter by list of product variant id - `includeInventoryLinks` (boolean): Use this to include `ProductVariantInventoryLink` associated with the product variant.
By default they are not inc - `includeBundleComponents` (boolean): Use this to include `ProductBundleComponents` associated with the product variant.
By default they are not include Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page ### POST /product/products/parent Create/Update Product Parent Create/Update a product parent - Operation id: `postProductParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/postproductparent Query parameters: - `restrictCreateOrUpdate` (query, string (createOnly | updateOnly), optional): [Optional] When using a endpoint that can create or update products by SKU, use this parameter to restrict the endpoint to perform only a creation or only an update based on the existence of that SKU. If you pass `createOnly` and the SKU exists nothing will be updated, and if you pass `updateOnly` and the SKU doesn't exist nothing will be created. - `modifyContent` (query, string (none | update | updateNonNull), optional): Should content fields of the parent/variant be modified - `modifyOptions` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should options of the parent/variant be modified - `modifyImages` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should images of the parent/variant be modified - `modifyAttributes` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should attributes of the parent be modified - `modifyCustomFields` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should custom fields of the parent be modified - `modifyCategories` (query, string (none | update | delete), optional): Should categories of the parent be modified Request body (application/json), object: - `id` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryTwo` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryThree` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object): DEPRECATED : Variants included in this call will not be updated. You need to use the dedicated variant endpoint to updat - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) Responses: - `200`: OK - Existing parent was updated OR the `restrictCreateOrUpdate` param was provided with a value of `createOnly` and the parent already existed in which case nothing was modified and the existing parent will be returned. - `201`: CREATED - A new parent was created - `204`: NO CONTENT - Only possible when using the `restrictCreateOrUpdate = updateOnly` param and the parent product does not exist. This will return an empty/null response body. - `401`: Unauthorized - `409`: Conflict - If the SKU provided already exists on a different parent a conflict will be returned Success response body, object: - `id` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryTwo` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryThree` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `tags` (array of string) - `listingLinks` (array of object) - `imageFetcherEventTriggered` (boolean) ### POST /product/products/variant Create/Update Product Variant Create/Update a product variant. **Note on Bundles:** To create a bundle, you must set the `bundle` field to `true` in the initial creation request (this cannot be updated later). You do not need to pass `bundleProductVariantId` in the `bundleComponents` array during creation. - Operation id: `postProductVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/postproductvariant Query parameters: - `restrictCreateOrUpdate` (query, string (createOnly | updateOnly), optional): [Optional] When using a endpoint that can create or update products by SKU, use this parameter to restrict the endpoint to perform only a creation or only an update based on the existence of that SKU. If you pass `createOnly` and the SKU exists nothing will be updated, and if you pass `updateOnly` and the SKU doesn't exist nothing will be created. - `modifyContent` (query, string (none | update | updateNonNull), optional): Should content fields of the parent/variant be modified - `modifyIdentifiers` (query, string (none | update | updateNonNull), optional): Should identifier fields (ie Master SKU, UPC, MPN, GTIN, ASIN, Reference Identifier) of the variant be modified - `modifyDimensions` (query, string (none | update | updateNonNull), optional): Should dimension fields (ie weight, length, width, height) of the variant be modified - `modifyOptions` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should options of the parent/variant be modified - `modifyImages` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should images of the parent/variant be modified - `modifyInventoryLinks` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should inventory links of the product variant be updated - `modifyQuantityOverwrite` (query, string (none | update | delete | updateNonNull), optional): Should the quantity overwrite be updated? Use in combination with the quantityOverwrite object and associated variant quantity field(s) to overwrite any to a locked value or to remove any overwrites. - `modifyPriceOverwrite` (query, string (none | update | updateNonNull | delete), optional): Should the price overwrite be updated? Use in combination with the priceOverwrite object and associated variant pricing field(s) to overwrite any to a locked value or to remove any overwrite(s).. - `modifyBundleComponents` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should bundle components of the product variant be updated - `modifyVariantCustomFields` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should custom fields of the variant be modified - `modifyProductAlternatives` (query, string (none | update | merge | deleteIncluded | deleteAll), optional): Should product alternatives of the variant be modified - `modifyRequiresFfl` (query, string (none | update | updateNonNull), optional): Should the `requiresFfl` field be modified Request body (application/json), object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page Responses: - `200`: OK - Existing variant was updated OR the `restrictCreateOrUpdate` param was provided with a value of `createOnly` and the variant already existed in which case nothing was modified and the existing variant will be returned. - `201`: CREATED - A new variant was created - `204`: NO CONTENT - Only possible when using the `restrictCreateOrUpdate = updateOnly` param and the variant product does not exist. This will return an empty/null response body. - `400`: Bad Request - `401`: Unauthorized - `409`: Conflict - If the SKU provided already exists on a different variant a conflict will be returned Success response body, object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page ### DELETE /product/category/orphaned Delete Orphaned Product Categories Delete all orphaned product categories for the account (categories with no products or variants associated) - Operation id: `deleteOrphanedProductCategories` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/deleteorphanedproductcategories Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `deletedCount` (integer, required) ### DELETE /product/category/{categoryId} Delete Product Category Delete Product Category by ID - Operation id: `deleteProductCategory` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/deleteproductcategory Responses: - `204`: No Content - `401`: Unauthorized - `404`: Not Found ### DELETE /product/parent/{parentId} Delete Product Parent Endpoint to delete parent products and all of it’s variants. - Operation id: `deleteProductParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/deleteproductparent Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found - `409`: Conflict Success response body, object: - `numberOfProductVariantsDeleted` (integer) - `numberOfProductParentsDeleted` (integer) ### DELETE /product/variant/{variantId} Delete Product Variant Endpoint to delete product variants. - Operation id: `deleteProductVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/deleteproductvariant Query parameters: - `deleteParentIfLastVariant` (query, boolean, optional): Determines when this is the last variant deleted and deletes the parent product. Default `True` Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found - `409`: Conflict Success response body, object: - `numberOfProductVariantsDeleted` (integer) - `numberOfProductParentsDeleted` (integer) ### GET /product/variant/{variantId}/alternatives Get Product Alternatives - Operation id: `getProductAlternatives` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductalternatives Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `sku` (string) - `title` (string) - `quantity` (integer) - `cost` (number) - `price` (number) - `image` (string) - `parentId` (integer) ### GET /product/products/parent Get Product Parent - Operation id: `getProductParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductparent Query parameters: - `findBySku` (query, string, optional): Find a parent/variant by SKU - `findById` (query, integer, optional): Find a variant/parent by ID - `includeVariants` (query, boolean, optional): Include variants for the parent Responses: - `200`: OK - `400`: If neither `findBySku` or `findById` is passed. - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryTwo` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryThree` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `tags` (array of string) - `listingLinks` (array of object) - `imageFetcherEventTriggered` (boolean) ### GET /product/parents Get Product Parents This endpoint will fetch back a list of Product Parents. - Operation id: `getProductParents` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductparents Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max 50 - `updatedAfter` (query, string, optional): Only retrieves back elements that have been updated after the date specified - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeVariants` (query, boolean, optional): Include variants for the parent - `includeOverwrites` (query, boolean, optional): will include dynamic prices and quantities if they are overwritten with fixed values - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response - `includeListingLinks` (query, boolean, optional): If `true`, `listingLinks` will be populated with a list of `Listing Parent IDs` that this product is associated to. - `deleting` (query, boolean, optional): If true will filter down to products being deleted Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `sku` (string, required) - `title` (string) - `description` (string) - `manufacturer` (string) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `categoryOne` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryTwo` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `categoryThree` (object): A product category. These are primarily created during the product building process, and are initially seeded/populated - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `customFields` (array of object) - `variants` (array of object) - `categoryOneId` (integer) - `categoryTwoId` (integer) - `categoryThreeId` (integer) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `tags` (array of string) - `listingLinks` (array of object) - `imageFetcherEventTriggered` (boolean) ### GET /product/variant/{variantId} Get Product Variant Get a product variant by ID. - Operation id: `getProductVariantById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductvariantbyid Responses: - `200`: OK - `400`: Bad Request - `404`: Not Found Success response body, object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page ### GET /product/variants Get Product Variants This endpoint will fetch back a list of Product Variants. You cannot use both `findBySKUs` and `findByIds` in a single request - Operation id: `getProductVariantsV2` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/getproductvariantsv2 Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `updatedAfter` (query, string, optional): Only retrieves back inventory records that hae been updated after the date specified - `skus` (query, array of string, optional): Finds elements matching these SKUs. Max must be less than or equal to pageSize. - `upcs` (query, array of string, optional): Finds elements matching these UPCs. Max must be less than or equal to pageSize. - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max must be less than or equal to pageSize. - `includeOverwrites` (query, boolean, optional): If `true` will include a list of Price/Quantity overwrites - `includeCustomAggregates` (query, boolean, optional): If "false" is passed, the "customAggregates"(Fields) node will not be populated. Custom Aggregates are similar to custom fields, but they can be aggregated across multiple sources. - `includeCustomFields` (query, boolean, optional): If "true" is passed, the "customFields" nodes will be populated. - `includeImages` (query, boolean, optional): If "false" is passed, the "image" and "parent.image" nodes will not be populated - `includeOptions` (query, boolean, optional): If "false" is passed, the "options" and "parent.options" nodes will not be populated - `includeInventoryLinks` (query, boolean, optional): If `true`, `inventoryLinks` will be populated with a list of `Inventory Variant IDs` that this product is associated to. - `includeListingLinks` (query, boolean, optional): If `true`, `listingLinks` will be populated with a list of `Listing Variant IDs` that this product is associated to. - `includeParent` (query, boolean, optional): If "true" is passed, the "parent" node will be populated with Parent information. NOTE : The "variants" will be empty in this node to prevent circular references. - `includeAttributes` (query, boolean, optional): If "true" is passed, the "parent.attributes" node will be populated. - `includeCategories` (query, boolean, optional): If "true" is passed, the parent category nodes will be populated. - `includeBundleComponents` (query, boolean, optional): Use this to include `ProductBundleComponents` associated with the product variant.
By default they are not included. - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `priceOverwrite` (object) - `quantityOverwrite` (object) - `productParentId` (integer) - `price` (number): The dynamic price, or locked price if overwritten. - `salePrice` (number) - `estimatedShippingCost` (number): The dynamic estimated shipping cost, or locked estimated shipping cost if overwritten. - `estimatedDropshipFee` (number): The dynamic estimated dropship fee, or locked estimated dropship fee if overwritten. - `inventoryListPrice` (number) - `imagesFetched` (boolean) - `productBuilderId` (integer) - `builtWithMappingTemplateId` (integer) - `builtAt` (string) - `rebuiltAt` (string) - `inventoryLinks` (array of object) - `productAlternatives` (array of object) - `referenceIdentifier` (string) - `id` (integer) - `sku` (string, required) - `title` (string) - `mpn` (string) - `upc` (string) - `ean` (string) - `asin` (string) - `msrp` (number): The dynamic MSRP, or locked MSRP if overwritten. - `map` (number): The dynamic MAP, or locked MAP if overwritten. - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `insertedAt` (string) - `updatedAt` (string) - `archived` (boolean) - `cost` (number): The dynamic cost, or locked cost if overwritten. - `quantity` (integer): The dynamic quantity, or locked quantity if overwritten. - `pendingFulfillmentQuantity` (integer): The # of items on active orders that are waiting to be added to Fulfillment Requests - `weightUnit` (object) - `dimensionUnit` (object) - `dimensionalWeight` (number) - `images` (array of object) - `options` (array of object) - ...and 12 more fields, see the docs page ### POST /product/variant/{variantId}/alternatives Save Product Alternatives - Operation id: `saveProductAlternatives` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/saveproductalternatives Request body (application/json), array of integer: Responses: - `200`: OK ### PATCH /product/parents/{parentId}/tags Update Product Parent Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateProductParentTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/updateproductparenttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found ### PATCH /product/variants/{variantId}/tags Update Product Variant Tags Adds and/or removes tags on the entity by name. Tags in `add` that do not exist yet are created. Returns the entity's full tag list after the update, sorted alphabetically. - Operation id: `updateProductVariantTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product/updateproductvarianttags Request body (application/json), object: - `add` (array of string) - `remove` (array of string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found --- ## Product Builder 13 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/product-builder ### PUT /product/builder/issues/{issueId}/build Build Product From Existing Issue From the specified `issueId` try to again build the underlying inventory variant into a product. - Operation id: `tryToBuildIssueAgain` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/trytobuildissueagain Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `built` (boolean, required) - `rebuilt` (boolean, required) - `linked` (boolean, required) - `alreadyBuiltAndLinked` (boolean, required) - `needsReview` (boolean, required) - `productVariantId` (integer) - `productParentId` (integer) - `inventoryVariantId` (integer, required) - `issue` (object) - `removedDueToStaleMatch` (boolean, required): If an issue previously arose between an inventory variant and a product variant and either of the values the original ma - `discarded` (boolean, required) - `productToListingBuilderList` (array of object) ### POST /product/builder/build/{inventoryVariantId} Build Product from Inventory Variant Create a product from a specified `inventoryVariantId` - Operation id: `createProductFromInventoryVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/createproductfrominventoryvariant Request body (application/json), object: - `productBuilderId` (integer): (optional) A specific product builder to use. If null the system default will be used. - `mappingTemplateId` (integer): (optional) A specific mapping template to use. If null the system default will be used. - `fetchImages` (boolean): If true, images fetch events will be triggered. Responses: - `200`: OK - A list of builder responses. This returns a list as a single inventory variant may match to multiple product variants. - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `built` (boolean, required) - `rebuilt` (boolean, required) - `linked` (boolean, required) - `alreadyBuiltAndLinked` (boolean, required) - `needsReview` (boolean, required) - `productVariantId` (integer) - `productParentId` (integer) - `inventoryVariantId` (integer, required) - `issue` (object) - `removedDueToStaleMatch` (boolean, required): If an issue previously arose between an inventory variant and a product variant and either of the values the original ma - `discarded` (boolean, required) - `productToListingBuilderList` (array of object) ### DELETE /product/builder/issues/{issueId} Delete Product Builder Issue Deletes a product builder issue by ID. - Operation id: `deleteProductBuilderIssueById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/deleteproductbuilderissuebyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### DELETE /product/builder/issues Delete Product Builder Issues This will delete all build issues associated with the `inventoryVariantId` - Operation id: `deleteProductBuilderIssues` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/deleteproductbuilderissues Query parameters: - `inventoryVariantId` (query, integer, optional): Delete issues that a specific inventory variant is associated with - `productVariantId` (query, integer, optional): Delete issues that a specific product variant is associated with Responses: - `200`: OK - `401`: Unauthorized ### GET /product/builder/pending-count Get Product Builder Count Get the total number of pending & failed inventory variants that are being currently being built into products. - Operation id: `getProductBuilderPendingCounts` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/getproductbuilderpendingcounts Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `count` (integer, required) - `failedCount` (integer) ### GET /product/builder/issues/{issueId} Get Product Builder Issue Only exists when a state that requires human intervention is encountered (based on buidler settings). This will return the data points necessary to alter & make decisions on how the inventory variant should be treated in further attempts to convert it to a product variant. - Operation id: `getProductBuilderIssueById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/getproductbuilderissuebyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer, required) - `inventoryVariantId` (integer, required) - `accountId` (integer) - `insertedAt` (string) - `mappingTemplateId` (integer) - `productBuilderId` (integer) - `matchedProductVariantId` (integer): The product variant ID that this inventory variant matched with on the basis of a shared GTIN that it will be added as a - `type` (string (mismatch | duplicate_sources | archived | parent_creation | parent_attachment | duplicate_sku | pending_build | invalid_upc)) - `status` (string (keep | needs_review | discard)) - `matchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku | inventory_sku)): The ID type that this inventory variant matched against an existing product variant with. - `matchValue` (string): The ID value that this inventory variant matched against an existing product variant with. - `productMatchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku)): The ID type that was used to match to an existing product variant from an inventory variant. NOTE : This value will be e - `triggeredLinkRules` (array of object): The product builder link rules that failed when run against this inventory variant and the existing linked ones. - `mismatchActionKeep` (boolean): When the issue is of the type `MISMATCH` setting this to true will allow the next build attempt for the inventory varian - `duplicateSourceActionKeep` (boolean): When the issue is of the type `DUPLICATE_SOURCE` setting this to true will allow the next build attempt for the inventor - `duplicateSourceInventoryVariantId` (integer): The inventory variant ID that is from the same source - `archivedActionKeep` (boolean): When the issue is of the type `ARCHIVE` setting this to true will allow the next build attempt for the inventory variant - `parentCreationActionKeep` (boolean): When the issue is of the type `PARENT_CREATION` setting this to true will allow the next build attempt for the inventory - `parentAttachmentActionKeep` (boolean): When the issue is of the type `PARENT_ATTACHMENT` setting this to true will allow the next build attempt for the invento - `duplicateSkuProductVariantId` (integer) - `duplicateUseSku` (string): When the issue is of the type `DUPLICATE_SKU` setting this will cause the next build attempt of the inventory variant to - `generatedVariantSku` (string): The variant SKU that was generated by running the inventory variant and all of the other linked inventory variants throu - `generatedParentSku` (string): The parent SKU that was generated by running the inventory variant and all of the other linked inventory variants throug - `parentAttachmentProductParentId` (integer): The ID of the product parent that this inventory variant is pending being attached to. - `hasListingsToBuild` (boolean) - `internalBuildErrorMessage` (string): Internal build error message in case product fails to build with any readable message - `internalBuildErrorOn` (string): If non-null this is a timestamp indicating that the last build of this issue failed - `batchId` (string) - `parentAttachmentDifferentSourceActionKeep` (boolean): When true, the different-source parent attachment warning is bypassed and the variant is attached to the matched parent. ### GET /product/builder/issues Get Product Builder Issues Get builder issues that require human intervention (mostly based on buidler settings). This endpoint returns an array of issues for any given `inventoryVariantId` or `productVariantId` as a single inventory variant can match against a potentially unlimited number of product variants that match/share a common identifier (ie UPC) and therefore there can be more than 1 issue for any given inventory/product variant. It may also contain results where there is no match to an existing product but there is human intervention required IE when the product is archived or when the SKU is already in use by an existing product. - Operation id: `getProductBuilderIssues` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/getproductbuilderissues Query parameters: - `inventoryVariantId` (query, integer, optional): Get issues that a specific inventory variant is associated with - `productVariantId` (query, integer, optional): Get issues that a specific product variant is associated with Responses: - `200`: OK - `400`: If neither `inventoryVariantId` or `productVariantId` is passed in the GET params. - `401`: Unauthorized Success response body, array of object: - `id` (integer, required) - `inventoryVariantId` (integer, required) - `accountId` (integer) - `insertedAt` (string) - `mappingTemplateId` (integer) - `productBuilderId` (integer) - `matchedProductVariantId` (integer): The product variant ID that this inventory variant matched with on the basis of a shared GTIN that it will be added as a - `type` (string (mismatch | duplicate_sources | archived | parent_creation | parent_attachment | duplicate_sku | pending_build | invalid_upc)) - `status` (string (keep | needs_review | discard)) - `matchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku | inventory_sku)): The ID type that this inventory variant matched against an existing product variant with. - `matchValue` (string): The ID value that this inventory variant matched against an existing product variant with. - `productMatchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku)): The ID type that was used to match to an existing product variant from an inventory variant. NOTE : This value will be e - `triggeredLinkRules` (array of object): The product builder link rules that failed when run against this inventory variant and the existing linked ones. - `mismatchActionKeep` (boolean): When the issue is of the type `MISMATCH` setting this to true will allow the next build attempt for the inventory varian - `duplicateSourceActionKeep` (boolean): When the issue is of the type `DUPLICATE_SOURCE` setting this to true will allow the next build attempt for the inventor - `duplicateSourceInventoryVariantId` (integer): The inventory variant ID that is from the same source - `archivedActionKeep` (boolean): When the issue is of the type `ARCHIVE` setting this to true will allow the next build attempt for the inventory variant - `parentCreationActionKeep` (boolean): When the issue is of the type `PARENT_CREATION` setting this to true will allow the next build attempt for the inventory - `parentAttachmentActionKeep` (boolean): When the issue is of the type `PARENT_ATTACHMENT` setting this to true will allow the next build attempt for the invento - `duplicateSkuProductVariantId` (integer) - `duplicateUseSku` (string): When the issue is of the type `DUPLICATE_SKU` setting this will cause the next build attempt of the inventory variant to - `generatedVariantSku` (string): The variant SKU that was generated by running the inventory variant and all of the other linked inventory variants throu - `generatedParentSku` (string): The parent SKU that was generated by running the inventory variant and all of the other linked inventory variants throug - `parentAttachmentProductParentId` (integer): The ID of the product parent that this inventory variant is pending being attached to. - `hasListingsToBuild` (boolean) - `internalBuildErrorMessage` (string): Internal build error message in case product fails to build with any readable message - `internalBuildErrorOn` (string): If non-null this is a timestamp indicating that the last build of this issue failed - `batchId` (string) - `parentAttachmentDifferentSourceActionKeep` (boolean): When true, the different-source parent attachment warning is bypassed and the variant is attached to the matched parent. ### GET /product/builder Get Product Builders Get configured available product buidlers. Does not include full settings. Use builder specific endpoint to retrieve full data. - Operation id: `getProductBuilders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/getproductbuilders Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `accountId` (integer) - `createdByUserId` (integer) - `modifiedAt` (string) - `useAsDefault` (boolean): Indicate that this product builder should be used by default during product building if no other product builder is manu - `name` (string) - `onConflictLink` (boolean) - `attachToExistingParent` (boolean) - `firstVariantImage` (boolean) - `firstVariantTitle` (boolean) - `mappingEventId` (integer) - `linkOnMasterSku` (boolean) - `linkOnUpc` (boolean) - `linkOnMpn` (boolean) - `linkOnAsin` (boolean) - `linkOnEan` (boolean) - `linkOnReferenceIdentifier` (boolean) - `linkingFields` (array of object) - `rebuildListingsForChannelIds` (array of integer) - `archivedAction` (string (create | review | fail)) - `parentAttachmentTypePriority` (string (intelligent | basic)) - `parentAttachmentIntelligentMatchAction` (string (attach | review | fail)) - `parentAttachmentBasicMatchAction` (string (attach | review | fail)) - `parentCreationAction` (string (create | review | fail)) - `parentAttachmentDifferentSourceAction` (string (create | review | attach)) - `duplicateSkuReview` (boolean) - `duplicateSourceReview` (boolean) - `allowVariantCreation` (boolean) - `rebuildVariantWhenNewlyLinked` (boolean) - `rebuildVariantWhenAlreadyLinked` (boolean) - `rebuildParentWhenVariantNewlyLinked` (boolean) - `rebuildParentWhenVariantAlreadyLinked` (boolean) - `upcValidationAction` (string (create | review | fail)) ### GET /product/builder/re-build/pending-count Get Product Rebuild Count Get the total number of pending & failed product variants that are being currently being re-built into products. - Operation id: `getProductBuilderRebuildPendingCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/getproductbuilderrebuildpendingcount Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `variantCount` (integer) - `variantFailedCount` (integer) - `parentCount` (integer) - `parentFailedCount` (integer) ### GET /product/builder/re-build/next Rebuild Next Product Will re-build the next queued parent/variants. This endpoint is only allowed to be consumed via internal flxpoint services. - Operation id: `rebuildNextProduct` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/rebuildnextproduct Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `hasMore` (boolean, required) - `parentHadError` (boolean) - `productParentId` (integer) - `productVariantIdsWithError` (array of integer) - `productVariantIds` (array of integer) ### POST /product/builder/re-build/parent/{productParentId} Rebuild Product Parent Rebuild a product parent and optionally it's variants as well. - Operation id: `rebuildProductParent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/rebuildproductparent Query parameters: - `rebuildVariants` (query, boolean, optional): Whether variants of the parent should be rebuilt as well. Request body (application/json), object: - `productBuilderId` (integer): (optional) A specific product builder to use. If null the system default will be used. - `mappingTemplateId` (integer): (optional) A specific mapping template to use. If null the system default will be used. - `fetchImages` (boolean): If true, images fetch events will be triggered. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `success` (boolean, required) - `error` (string) ### POST /product/builder/re-build/variant/{productVariantId} Rebuild Product Variant Re-build a product variant - Operation id: `rebuildProductVariant` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/rebuildproductvariant Request body (application/json), object: - `productBuilderId` (integer): (optional) A specific product builder to use. If null the system default will be used. - `mappingTemplateId` (integer): (optional) A specific mapping template to use. If null the system default will be used. - `fetchImages` (boolean): If true, images fetch events will be triggered. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `success` (boolean, required) - `error` (string) ### PUT /product/builder/issues/{issueId} Update Product Builder Issue Update an issue. Only these properties of a `ProductBuilderIssue` are allowed to be updated : - `mismatchActionKeep` - `duplicateSourceActionkeep` - `archivedActionKeep` - `parentCreationActionKeep` - `parentAttachmentActionkeep` Setting any of the above properties to a value of `false` will result in the issue being deleted as no further action is necessary on the issue at that point. The rest of the properties are immutable. - Operation id: `putProductBuilderIssueById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/product-builder/putproductbuilderissuebyid Request body (application/json), object: - `id` (integer, required) - `inventoryVariantId` (integer, required) - `accountId` (integer) - `insertedAt` (string) - `mappingTemplateId` (integer) - `productBuilderId` (integer) - `matchedProductVariantId` (integer): The product variant ID that this inventory variant matched with on the basis of a shared GTIN that it will be added as a - `type` (string (mismatch | duplicate_sources | archived | parent_creation | parent_attachment | duplicate_sku | pending_build | invalid_upc)) - `status` (string (keep | needs_review | discard)) - `matchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku | inventory_sku)): The ID type that this inventory variant matched against an existing product variant with. - `matchValue` (string): The ID value that this inventory variant matched against an existing product variant with. - `productMatchType` (string (upc | mpn | ean | asin | reference_identifier | master_sku)): The ID type that was used to match to an existing product variant from an inventory variant. NOTE : This value will be e - `triggeredLinkRules` (array of object): The product builder link rules that failed when run against this inventory variant and the existing linked ones. - `mismatchActionKeep` (boolean): When the issue is of the type `MISMATCH` setting this to true will allow the next build attempt for the inventory varian - `duplicateSourceActionKeep` (boolean): When the issue is of the type `DUPLICATE_SOURCE` setting this to true will allow the next build attempt for the inventor - `duplicateSourceInventoryVariantId` (integer): The inventory variant ID that is from the same source - `archivedActionKeep` (boolean): When the issue is of the type `ARCHIVE` setting this to true will allow the next build attempt for the inventory variant - `parentCreationActionKeep` (boolean): When the issue is of the type `PARENT_CREATION` setting this to true will allow the next build attempt for the inventory - `parentAttachmentActionKeep` (boolean): When the issue is of the type `PARENT_ATTACHMENT` setting this to true will allow the next build attempt for the invento - `duplicateSkuProductVariantId` (integer) - `duplicateUseSku` (string): When the issue is of the type `DUPLICATE_SKU` setting this will cause the next build attempt of the inventory variant to - `generatedVariantSku` (string): The variant SKU that was generated by running the inventory variant and all of the other linked inventory variants throu - `generatedParentSku` (string): The parent SKU that was generated by running the inventory variant and all of the other linked inventory variants throug - `parentAttachmentProductParentId` (integer): The ID of the product parent that this inventory variant is pending being attached to. - `hasListingsToBuild` (boolean) - `internalBuildErrorMessage` (string): Internal build error message in case product fails to build with any readable message - `internalBuildErrorOn` (string): If non-null this is a timestamp indicating that the last build of this issue failed - `batchId` (string) - `parentAttachmentDifferentSourceActionKeep` (boolean): When true, the different-source parent attachment warning is bypassed and the variant is attached to the matched parent. Responses: - `200`: OK - If the modifications to the issue will result in no further actions being necessary and it not being built/linked to a product then it will be deleted and this will be indicated in the response `deleted` property. - `401`: Unauthorized - `404`: Not Found Success response body, object: - `deleted` (boolean, required) --- ## Purchase Order 15 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/purchase-order ### PATCH /purchase-orders/{purchaseOrderId}/acknowledge [Deprecated] Acknowledge Purchase Order Acknowledge all PO Line item quantities which are not already acknowledged/canceled **Deprecated.** - Operation id: `acknowledgeAllPoItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/acknowledgeallpoitems Request body (application/json), object: - `confirmationNumber` (string) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### PATCH /purchase-orders/{purchaseOrderId}/committed-stock [Deprecated] Adjust Applicable Committed Stock This endpoint will intelligently reconcile and adjust/release all applicable committed stock for the PO. The cases in which these occurr are as follows : - Shipments : Will automatically release any committed stock for associated shipments that have not yet had their shipped quantity released. - Canceled & Voided : Will automatically release all committed stock in the case that the PO is now canceled or voided. - Line Item Qty Change : If a PO prior to being processed has any quantities modified this endpoint will reconcile the difference between what is already committed and what was modified and will then either release or add the difference. This endpoint will not double/over release when interacted with multiple times (it's idempotent). This makes it safe to call even if you are unsure of whether or not all stock has been appropriately released. **Deprecated.** - Operation id: `adjustApplicableCommittedStock` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/adjustapplicablecommittedstock Responses: - `200`: OK - `204`: No Content - `401`: Unauthorized - `404`: Not Found ### POST /purchase-orders/{purchaseOrderId}/adjust [Deprecated] Adjust Purchase Order This endpoint allows for partial acknowledgements and/or cancellations by specifying items. **Deprecated.** - Operation id: `adjustPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/adjustpurchaseorder Request body (application/json), object: - `items` (array of object) - `killOrFillType` (string (fill | kill)): `killOrFillType` can be either `fill` Or `kill`. By default it will be `fill`. - `fill` : This will unallocate the quant - `cancelUnacknowledgedItemQuantity` (boolean): Indicate whether or not remaining unacknowledged quantity should be canceled. Passing a `null` value here will use the e Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### PATCH /purchase-orders/{purchaseOrderId}/cancel [Deprecated] Cancel Purchase Order Cancels all PO Line item quantities which are not already acknowledged/canceled **Deprecated.** - Operation id: `cancelAllPoItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/cancelallpoitems Query parameters: - `killOrFillType` (query, string (kill | fill), optional): `killOrFillType` can be either `fill` Or `kill`. By default it will be `fill`. `fill` : This will unallocate the quantities from the order item level so that another PO can be generated for alternative fulfillment. `kill` : This will cancel the quantities at the order item level indicating no further fulfillment should occur. - `cancelReason` (query, string, optional): use this to state the reason for cancel Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### POST /purchase-orders/{purchaseOrderId}/committed-stock [Deprecated] Commit Stock For Purchase Order Commit Stock for purchase order **Deprecated.** - Operation id: `commitStockForPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/commitstockforpurchaseorder Responses: - `200`: OK - `204`: No Content - `400`: Bad Request - `401`: Unauthorized ### POST /purchase-orders [Deprecated] Create Purchase Order Deprecated, please use POST /fulfillment-requests This endpoint creates a Purchase Order (PO)! Purchase Orders can be created by using an Account token. A `sourceId` is required to create a Purchase Order. PO Items are associated to `Order Items` by `orderItemId`. PO Items are associated to `Inventory` by `sku` or `inventoryVariantId`. For more information, see the `item` request details below. When an Purchase Order is created, it will : - Estimate Shipping Costs (via Workflow or Rate Shopping) - Estimate Dropship Fees (via Workflow) - Run `PO/FR Strategy` settings (Auto Processing, PO Workflow, PO # Utilities, etc.) For more information about Purchase Orders, see our docs : https://docs.flxpoint.com/flxpoint/purchase-orders-fulfillment-requests **Deprecated.** - Operation id: `createPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/createpurchaseorder Request body (application/json), object: - `purchaseOrderNumber` (string): A unique identifier that will be passed to your source to identify the PO. If one is not provided the default account & - `purchaseOrderType` (string (PO | FR | TO | SPO | FO)): The type of PO : - Purchase Order (PO) - Fulfillment Request (FR) [Deprecated - use Fulfillment Order instead] - Transfe - `purchaseOrderStatus` (string (unprocessed | processing | processed | acknowledged | voided | canceled | po_number_exceeds_max_length | duplicate)): Leave `null` to let Flxpoint handle via Workflow rules (PO Strategy settings). A `non-null` status will by-pass any PO S - `orderId` (integer, required): The flxpoint ID of the order this PO is for - `sourceId` (integer, required): The flxpoint source ID the PO should be fulfilled to - `shippingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `billingAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `shippingText` (string): Deprecated - `note` (string): A note that can optionally be passed through all the way to the source - `totalCost` (number) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `suppressTracking` (boolean): If set to true shipments for this PO will not be propagated to the originating channel order via sync order operations i - `fflInfoRequired` (boolean): Set to true to indicate that the PO contains items that are firearms and will require valid FFL license information befo - `holdUntil` (string): If passed the PO will not be processed via automated flxpoint operations until a time older than the value passed - `rateShoppedId` (string): Used by internal flxpoint processes to track third party rate shopping responses - `packageDimensionUnit` (string (inch | centimeter)): used to specify the unit of measurement being used by packageLength, packageHeight, packageWidth. Currently our system s - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (string (pound | ounce | gram | kilogram)): used to specify the unit of measurement being used by packageWeight. Currently our system supports 'pound', 'ounce', 'gr - `packageWeight` (number) - `crossDockPurchaseOrderId` (integer): Establish this PO as part of a cross docking request by providing the cross dock PO ID - `purchaseOrderItems` (array of object, required) - `purchaseOrderAttributes` (array of object): if there is a requirement to associate some extra information with the purchase order, it can be done by passing an arra - `sourceShippingMethodId` (integer): The ID of the method you intend for the source to ship the PO via. You are required to configure these yourself on your - `shippingDistance` (number): Leave `null` for Flxpoint to calculate shipping distance. If a `non-null` value is passed, Flxpoint will not calculate s - `accountingSynced` (boolean) - `externalAccountingId` (string) Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `409`: PO Number is already in use. Success response body, object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### PATCH /purchase-orders/{purchaseOrderId}/processing-failed [Deprecated] Fail Purchase Order Update Purchase Order as failed during processing.
Only a purchase order in processing status `Processing` or `Processed` can be updated as `Failed`.
It will then transition into processing status `Processing Error`. **Deprecated.** - Operation id: `failPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/failpurchaseorder Query parameters: - `error` (query, string, required): reason why processing failed Responses: - `204`: No Content - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### GET /purchase-orders/{purchaseOrderId}/committed-stock [Deprecated] Get Committed Stock For Purchase Order Get committed stock for a purchase order **Deprecated.** - Operation id: `getCommittedStockForPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getcommittedstockforpurchaseorder Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `inventoryVariantId` (integer) - `sourceId` (integer) - `purchaseOrderId` (integer) - `purchaseOrderItemId` (integer) - `quantity` (integer) - `purchaseOrderItemQuantity` (integer): this is set equal to purchase order item quantity. This is used to compare with purchase order item quantity and figure - `committedAt` (string) - `updatedAt` (string) ### GET /purchase-orders/count [Deprecated] Get Count of Purchase Orders This endpoint will get a count of Purchase Orders applicable to your filters **Deprecated.** - Operation id: `getPurchaseOrdersCount` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getpurchaseorderscount Query parameters: - `findOrderId` (query, integer, optional): Filter Purchase Orders by Order ID. - `sinceId` (query, integer, optional): If passed, returns results with an ID greater than this. - `poNumbers` (query, array of string, optional): Finds elements matching these Purchase Order Numbers. Max 50 - `filterSourceId` (query, integer, optional): Filter Purchase Orders by Source ID. - `filterFulfilmentStatus` (query, string (Awaiting Shipment | Shipped | Partially Shipped | Canceled), optional): Filter Purchase Orders by Fulfillment Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterInvoiced` (query, boolean, optional): Filter Purchase Orders that have source invoice available. - `filterStatus` (query, string (Unprocessed | Processed | Acknowledged | Canceled | Failed | Voided | Processing | Additional Info Required), optional): Filter Purchase Orders by Purchase Order Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterIsAcknowledged` (query, boolean, optional): Filters Purchase Orders based on whether or they were acknowledged (true returns only acknowledged, false only those that are not acknowledged). - `filterAcknowledgedAfter` (query, string, optional): Filter Purchase Orders that were acknowledged after this date-time. - `filterIsSent` (query, boolean, optional): Filters Purchase Orders based on whether or they have been sent to the source (true returns only those that have been sent, false only those that have not yet been sent). - `filterSentAfter` (query, string, optional): Filter Purchase Orders that were sent after this date-time. - `filterGeneratedAfter` (query, string, optional): Filter Purchase Orders that were generated after this date-time. - `filterIsCanceled` (query, boolean, optional): Filters Purchase Orders based on whether or they were canceled (true returns only canceled, false only those that are not canceled). - `filterCanceledAfter` (query, string, optional): Filters Purchase Orders that were canceled after this date-time. - `filterIsVoided` (query, boolean, optional): Filters Purchase Orders based on whether or they were voided (true returns only voided, false only those that are not voided). - `filterVoidedAfter` (query, string, optional): Filters Purchase Orders that were voided after this date-time. - `filterIsHeld` (query, boolean, optional): Filters Purchase Orders based on whether or they are being held (true returns only held, false only those that are not held). - `filterHasError` (query, boolean, optional): Filters Purchase Orders based on whether or they have a processing error (true returns only those with errors, false only those without errors). - `filterEligibleForProcessing` (query, boolean, optional): Filters Fulfillment Requests based on whether the order it related to is Open/Not Managed (true returns only if the order it is related to is Open/Not Managed, false does not filter PO based on order status). - `filterPurchaseOrderTypeIds` (query, array of integer, optional): Filter Purchase Orders by type id, using ids from the PurchaseOrderType Enum. - `isPurchaseOrderAccountingSynced` (query, boolean, optional): Filter to only include Purchase Orders that have been synced to an Accounting Integration. - `isOrderAccountingSynced` (query, boolean, optional): Filter to only include those created for Orders that have been synced to an Accounting Integration. Does not relate to the whether or not the Purchase Order has been synced. - `hasAccountingError` (query, boolean, optional): Filter to include Purchase Orders based on whether or not they have a previous error saved while sending to an Accounting Integration - `filterOrderInvoiced` (query, boolean, optional): Filter to only include those created for Orders that have invoices. Does not relate to the whether or not the Purchase Order has been invoiced. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `count` (integer, required) ### GET /purchase-orders/{purchaseOrderId} [Deprecated] Get Purchase Order **Deprecated.** - Operation id: `getPurchaseOrderById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getpurchaseorderbyid Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### GET /purchase-orders/{sourceId}/{purchaseOrderNumber} [Deprecated] Get Purchase Order By PO # This endpoint is deprecated, please use `GET /purchase-orders` and pass `findByPONumber` **Deprecated.** - Operation id: `getPurchaseOrderByPurchaseOrderNumber` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getpurchaseorderbypurchaseordernumber Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### GET /purchase-orders [Deprecated] Get Purchase Orders Deprecated, please use GET /fulfillment-requests (This endpoint will retrieve back Purchase Orders / Fulfillment Requests) **Deprecated.** - Operation id: `getPurchaseOrders` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getpurchaseorders Query parameters: - `findOrderId` (query, integer, optional): Filter Purchase Orders by Order ID. - `sinceId` (query, integer, optional): If passed, returns results with an ID greater than this. - `poNumbers` (query, array of string, optional): Finds elements matching these Purchase Order Numbers. Max 50 - `filterSourceId` (query, integer, optional): Filter Purchase Orders by Source ID. - `filterFulfilmentStatus` (query, string (Awaiting Shipment | Shipped | Partially Shipped | Canceled), optional): Filter Purchase Orders by Fulfillment Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterInvoiced` (query, boolean, optional): Filter Purchase Orders that have source invoice available. - `filterPageNumber` (query, integer, optional): Current Page - `filterPageSize` (query, integer, optional): Number of entries per page - `filterStatus` (query, string (Unprocessed | Processed | Acknowledged | Canceled | Failed | Voided | Processing | Additional Info Required), optional): Filter Purchase Orders by Purchase Order Status. Accepts a comma-separated list to filter on multiple statuses at once. - `filterIsAcknowledged` (query, boolean, optional): Filters Purchase Orders based on whether or they were acknowledged (true returns only acknowledged, false only those that are not acknowledged). - `filterAcknowledgedAfter` (query, string, optional): Filter Purchase Orders that were acknowledged after this date-time. - `filterIsSent` (query, boolean, optional): Filters Purchase Orders based on whether or they have been sent to the source (true returns only those that have been sent, false only those that have not yet been sent). - `filterSentAfter` (query, string, optional): Filter Purchase Orders that were sent after this date-time. - `filterGeneratedAfter` (query, string, optional): Filter Purchase Orders that were generated after this date-time. - `filterIsCanceled` (query, boolean, optional): Filters Purchase Orders based on whether or they were canceled (true returns only canceled, false only those that are not canceled). - `filterCanceledAfter` (query, string, optional): Filters Purchase Orders that were canceled after this date-time. - `filterIsVoided` (query, boolean, optional): Filters Purchase Orders based on whether or they were voided (true returns only voided, false only those that are not voided). - `filterVoidedAfter` (query, string, optional): Filters Purchase Orders that were voided after this date-time. - `filterIsHeld` (query, boolean, optional): Filters Purchase Orders based on whether or they are being held (true returns only held, false only those that are not held). - `filterHasError` (query, boolean, optional): Filters Purchase Orders based on whether or they have a processing error (true returns only those with errors, false only those without errors). - `filterEligibleForProcessing` (query, boolean, optional): Filters Fulfillment Requests based on whether the order it related to is Open/Not Managed (true returns only if the order it is related to is Open/Not Managed, false does not filter PO based on order status). - `filterPurchaseOrderTypeIds` (query, array of integer, optional): Filter Purchase Orders by type id, using ids from the PurchaseOrderType Enum. - `isPurchaseOrderAccountingSynced` (query, boolean, optional): Filter to only include Purchase Orders that have been synced to an Accounting Integration. - `isOrderAccountingSynced` (query, boolean, optional): Filter to only include those created for Orders that have been synced to an Accounting Integration. Does not relate to the whether or not the Purchase Order has been synced. - `hasAccountingError` (query, boolean, optional): Filter to include Purchase Orders based on whether or not they have a previous error saved while sending to an Accounting Integration - `filterOrderInvoiced` (query, boolean, optional): Filter to only include those created for Orders that have invoices. Does not relate to the whether or not the Purchase Order has been invoiced. - `includeTags` (query, boolean, optional): Determines if "tags" are returned in the response - `hasTag` (query, string, optional): Only returns Purchase Orders that have the matching tag - `filterStockCommitted` (query, boolean, optional): Filter Purchase Orders that have stock committed. - `filterOrderStatus` (query, string (Open | Closed | On Hold | Failed | No Shipping Method | Canceled | Not Managed), optional): Only returns Purchase Orders associated with orders that have the matching status. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### GET /purchase-orders/processing [Deprecated] Get Purchase Orders Processing This endpoint will retrieve a list of Purchase Orders AND `Update the POs to Processed` NOTE : This means, if our API times out for you - those POs may transition into a "Processed" state despite you not receiving them. It's not recommended to use this endpoint, and it may be deprecated in the near future. We'd recommend using `GET /purchase-orders` to retrieve and `PATCH /purchase-orders/{purchaseOrderId}/acknowledge` to respond **Deprecated.** - Operation id: `getPurchaseOrdersInProcessingAndTransitionThemToProcessed` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/getpurchaseordersinprocessingandtransitionthemtoprocessed Query parameters: - `filterSourceId` (query, integer, optional): filter Purchase Orders by Source ID Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `purchaseOrderNumber` (string) - `orderId` (integer) - `sentAt` (string) - `sourceId` (integer) - `acknowledgedAt` (string) - `secondaryAcknowledgedAt` (string) - `canceledAt` (string) - `shippingAddress` (object) - `billingAddress` (object) - `shippingText` (string) - `note` (string): A note that can optionally be passed through all the way to the source - `confirmationNumber` (string) - `shippedStatus` (string (Not Started | Partially Completed | Completed)) - `purchaseOrderStatus` (object) - `purchaseOrderFulfillmentStatus` (object) - `generatedAt` (string) - `voidedAt` (string) - `accountId` (integer) - `totalItems` (integer) - `totalCost` (number) - `totalQuantity` (integer) - `shippedQuantity` (integer) - `estimatedShippingCost` (number) - `estimatedDropshipFee` (number) - `sourceShippingMethod` (object): NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping - `suppressTracking` (boolean) - `beingProcessed` (boolean) - `totalSourceInvoices` (integer) - `fflInfoRequired` (boolean) - `lastModifiedAt` (string) - `accountingSynced` (boolean) - `externalAccountingId` (string) - `holdUntil` (string) - `rateShoppedId` (string) - `packageDimensionUnit` (object) - `packageLength` (number) - `packageWidth` (number) - `packageHeight` (number) - `packageWeightUnit` (object) - ...and 27 more fields, see the docs page ### PATCH /purchase-orders/{purchaseOrderId}/processed [Deprecated] Process Purchase Order Update a Purchase Order as `Processed`.
Only Purchase Orders in `Processing` status can be transitioned to `Processed`. If the Purchase Order is already in `Processed` status, a 200 (OK) response will be returned. **Deprecated.** - Operation id: `processPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/processpurchaseorder Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### DELETE /purchase-orders/{purchaseOrderId}/committed-stock [Deprecated] Release All Committed Stock For Purchase Order Release committed stock for purchase order **Deprecated.** - Operation id: `releaseAllCommittedStockForPurchaseOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/purchase-order/releaseallcommittedstockforpurchaseorder Request body (application/json), object: - `onlyReleasePurchaseOrderItemIds` (array of integer): List of purchase order item IDs to release - `onlyReleasePurchaseOrderItemSkus` (array of string): List of purchase order item SKUs to release Responses: - `200`: OK - `204`: No Content - `400`: Bad Request - `401`: Unauthorized --- ## Resellers 3 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/resellers ### GET /reseller-channels/{channelId}/products/deleted Get Reseller Deleted Parents This endpoint will retrieve back Parents and Variants that have been Deleted recently As an integrating system, you should remove entries that appear here. - Params starting with **filter*** will filter the results down - Operation id: `get-reseller-products-deleted` - Docs: https://www.apihelpcenter.flxpoint.com/reference/resellers/get-reseller-products-deleted Query parameters: - `filterDeletedAfter` (query, string, required): Filter narrowing down to records that have been deleted after this timestamp - `filterPageSize` (query, integer, required): Number of entries per page - `filterPageNumber` (query, integer, required): Current page Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `entire_product_deleted` (boolean): If this is TRUE then all variants & the parent have been deleted. - `deleted_at` (string) - `parent_id` (integer) - `variant_ids` (array of integer) ### GET /reseller-channels/{channelId}/products/parents Get Reseller Parents This endpoint will retrieve back Parents - Params starting with **filter*** will filter the results down - Params starting with **include*** will determine the metadata returned - Operation id: `get-reseller-products-parents` - Docs: https://www.apihelpcenter.flxpoint.com/reference/resellers/get-reseller-products-parents Query parameters: - `filterUpdatedAfter` (query, string, required): Filters down to Parents that have been updated after this timestamp. Note: If any "variant" static content (title, description, etc.) is updated then the "parent" updated flag will also be set. - `filterPageSize` (query, integer, required): Number of entries per page - `filterPageNumber` (query, integer, required): Current page - `includeCategories` (query, boolean, optional): Determines if "category_one", "category_two", and "category_three" are returned in the response - `includeOptions` (query, boolean, optional): Determines if "options" are returned in the response - `includeImages` (query, boolean, optional): Determines if "images" are returned in the response - `includeAttributes` (query, boolean, optional): Determines if "attributes" are returned in the response - `includeVariants` (query, boolean, optional): Determines if "variants" are returned in the response. Variants will have a NULL "parent" object to prevent circular references. - `includeVariantOptionValues` (query, boolean, optional): If "includeVariants" is "true" - Determines if "option_values" are included in the response for each Variant - `includeVariantImages` (query, boolean, optional): If "includeVariants" is "true" - Determines if "images" are included in the response for each Variant Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `account_id` (integer, required) - `channel_id` (integer, required) - `sku` (string, required): Unique "Stock Keeping Unit" for the Parent. Although parents do not track "stock", they still have a unique identifier. - `title` (string): Title of the parent. Titles may be further customized at the "variant" level if desired. - `description` (string): The description. Longer, free-form, supports HTML - `brand` (string): Brand of the parent - `inserted_at` (string) - `updated_at` (string) - `images` (array of object) - `options` (array of object) - `attributes` (array of object) - `variants` (array of object) - `category_one` (object) - `category_two` (object) - `category_three` (object) ### GET /reseller-channels/{channelId}/products/variants Get Reseller Variants This endpoint will retrieve back Variants - Params starting with **filter*** will filter the results down - Params starting with **include*** will determine the metadata returned - Operation id: `get-reseller-products-variants` - Docs: https://www.apihelpcenter.flxpoint.com/reference/resellers/get-reseller-products-variants Query parameters: - `filterUpdatedAfter` (query, string, required): Filters down to Variants that have been updated after this timestamp. (Timestamp in UTC) - `filterPageSize` (query, integer, required): Number of entries per page - `filterPageNumber` (query, integer, required): Current page - `includeOptionValues` (query, boolean, optional): Determines if "option_values" are returned in the response - `includeImages` (query, boolean, optional): Determines if "images" are returned in the response - `includeParent` (query, boolean, optional): Determines if "parent" is returned in the response. If this is true - the parent will have EMPTY "variants" to prevent circular references Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer): ID for the Variant - `account_id` (integer): ID for the Account - `channel_id` (integer, required): ID for the Channel - `reseller_product_parent_id` (integer, required): ID for the Parent - `sku` (string, required): Unique Stock Keeping Unit for this Channel - `price` (number): The "Price" of the Variant. When an order is placed, this field represents the price an item costs. - `sale_price` (number): A "Sale Price" for the Variant - `msrp` (number): Manufacturer Suggested Retail Price - `map` (number): Minimum Advertised Price - `estimated_shipping_cost` (number): Represents an Estimated Shipping Cost (if provided) - `estimated_dropship_fee` (number): Represents an estimated dropship fee (if provided) - `title` (string) - `mpn` (string): Manufacturer Part Number - `upc` (string): Universal Product Code - `ean` (string): Global Trade Item Number - `asin` (string): Amazon "ASIN" Identifier - `weight` (number) - `length` (number) - `width` (number) - `height` (number) - `weight_unit` (string (pound | ounce | gram | kilogram)): The unit for "weight" - `dimension_unit` (string (inch | centimeter)): The unit for "length", "width", and "height" - `quantity` (integer): The amount of inventory available to purchase - `dimensional_weight` (number): Calculated Dimensional Weight (USPS Formula). Only present if all dimensions are present with a dimension unit - `inserted_at` (string) - `updated_at` (string): Timestamp for the last time the variant had anything updated - `option_values` (array of object) - `images` (array of object) - `parent` (object) - `description` (string) --- ## Returns 6 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/returns ### POST /returns Create Return Create a Return - Operation id: `createReturns` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/createreturns Request body (application/json), object: - `orderId` (integer): orderId or orderNumber is mandatory. - `orderNumber` (string): orderId or orderNumber is mandatory. - `returnNumber` (string) - `items` (array of object, required) - `refundAdjustment` (number) - `syncRefundChangesToOrder` (boolean) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found - `409`: Conflict Success response body, object: - `warning` (string) - `return` (object) ### GET /returns/{id} Get Return by ID Retrieves a `Return` by provided id - Operation id: `getReturnById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/getreturnbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `orderId` (integer) - `returnNumber` (string) - `accountId` (integer) - `totalReturnItems` (integer) - `totalRmas` (integer) - `channelId` (integer) - `items` (array of object) - `rmas` (array of object) - `returnTotal` (number) - `status` (string (open | closed | cancelled)) - `updatedAt` (string) - `insertedAt` (string) - `refundAdjustment` (number) - `refundSubtotal` (number): sum of refunded_amount for all return_items on the return - `refundTotal` (number): refundSubtotal + refundAdjustment - `refundLastSyncedAt` (string) - `syncRefundChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) ### GET /returns Get Returns This endpoint will retrieve back Returns - Params starting with **include*** will determine the metadata returned - Operation id: `getReturns` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/getreturns Query parameters: - `orderId` (query, integer, optional): Retrieve returns of a specific order - `channelId` (query, integer, optional): Retrieve returns of a specific channel - `pageSize` (query, integer, optional): Number of entries per page - `pageNumber` (query, integer, optional): Current Page - `includeRmas` (query, boolean, optional): Use this to include Rmas associated with the return. By default they are not included. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `orderId` (integer) - `returnNumber` (string) - `accountId` (integer) - `totalReturnItems` (integer) - `totalRmas` (integer) - `channelId` (integer) - `items` (array of object) - `rmas` (array of object) - `returnTotal` (number) - `status` (string (open | closed | cancelled)) - `updatedAt` (string) - `insertedAt` (string) - `refundAdjustment` (number) - `refundSubtotal` (number): sum of refunded_amount for all return_items on the return - `refundTotal` (number): refundSubtotal + refundAdjustment - `refundLastSyncedAt` (string) - `syncRefundChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) ### PUT /returns/{returnId}/sync-refund Sync Return Refund to the Channel Invoice for the Order Sync Refund to Order - Operation id: `syncRefundToOrder` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/syncrefundtoorder Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found ### PATCH /returns/{id} Update Return Update a `Return` - Operation id: `updateReturn` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/updatereturn Request body (application/json), object: - `returnStatus` (string (open | closed | cancelled)) - `refundAdjustment` (number) - `syncRefundChangesToOrder` (boolean) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `403`: Forbidden - `404`: Not Found Success response body, object: - `id` (integer) - `orderId` (integer) - `returnNumber` (string) - `accountId` (integer) - `totalReturnItems` (integer) - `totalRmas` (integer) - `channelId` (integer) - `items` (array of object) - `rmas` (array of object) - `returnTotal` (number) - `status` (string (open | closed | cancelled)) - `updatedAt` (string) - `insertedAt` (string) - `refundAdjustment` (number) - `refundSubtotal` (number): sum of refunded_amount for all return_items on the return - `refundTotal` (number): refundSubtotal + refundAdjustment - `refundLastSyncedAt` (string) - `syncRefundChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) ### PATCH /returns/{Id}/items Update Return Item Update Return Items - Operation id: `updateReturnItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/returns/updatereturnitems Request body (application/json), array of object: - `id` (integer, required) - `refundedAmount` (number) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `orderId` (integer) - `returnNumber` (string) - `accountId` (integer) - `totalReturnItems` (integer) - `totalRmas` (integer) - `channelId` (integer) - `items` (array of object) - `rmas` (array of object) - `returnTotal` (number) - `status` (string (open | closed | cancelled)) - `updatedAt` (string) - `insertedAt` (string) - `refundAdjustment` (number) - `refundSubtotal` (number): sum of refunded_amount for all return_items on the return - `refundTotal` (number): refundSubtotal + refundAdjustment - `refundLastSyncedAt` (string) - `syncRefundChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) --- ## RMA 11 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/rma ### PUT /rmas/{id}/sync-credit Apply credit to a source invoice - Operation id: `syncCreditToInvoice` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/synccredittoinvoice Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found - `500`: Internal Server Error ### POST /rma Create RMA Creates a RMA - Operation id: `createRma` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/createrma Request body (application/json), object: - `returnId` (integer, required) - `sourceId` (integer): When using tokens other than source token, this need to be in the request. - `rmaNumber` (string, required) - `returnToAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `items` (array of object) - `creditAdjustment` (number) - `autoApprove` (boolean): When `true`, the full quantity for each RMA item will be approved automatically upon creation. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, object: - `id` (integer) - `returnId` (integer) - `sourceId` (integer) - `rmaNumber` (string) - `accountId` (integer) - `returnToAddress` (object) - `items` (array of object) - `totalRmaItems` (integer) - `createdAt` (string) - `updatedAt` (string) - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaShipments` (array of object) - `creditSubtotal` (number) - `creditAdjustment` (number) - `creditTotal` (number) - `creditLastSyncedAt` (string) - `syncCreditChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) - `accountingSyncedAt` (string) - `accountingError` (string) ### POST /rma-shipments Create RMA Shipment Creates a RMA Shipment - Operation id: `createRmaShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/creatermashipment Request body (application/json), object: - `rmaId` (integer): Identify the RMA to associate the shipment to by providing the Flxpoint generated internal RMA ID. - `rmaNumber` (string): Identify the RMA to associate the shipment to by providing the rma number. ACCOUNT tokens will also need to provide `sou - `sourceId` (integer): SOURCE tokens are not required to supply a value here, if using a SOURCE token and a value is provided and it does not m - `returnToAddress` (object, required): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `shipment` (object, required) - `attachments` (array of object) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, object: - `id` (integer) - `rmaId` (integer) - `accountId` (integer) - `shipment` (object) - `shippingAddress` (object) - `attachments` (array of object) - `createdAt` (string) - `sentAt` (string) - `rmaShipmentStatus` (string (Shipment Created | Shipment Sent | Shipment Received | Shipment Partially Received | Shipment Voided)) ### GET /rma/{id} Get Rma By ID Retrives a `RMA` by provided id - Operation id: `getRmaById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/getrmabyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `returnId` (integer) - `sourceId` (integer) - `rmaNumber` (string) - `accountId` (integer) - `returnToAddress` (object) - `items` (array of object) - `totalRmaItems` (integer) - `createdAt` (string) - `updatedAt` (string) - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaShipments` (array of object) - `creditSubtotal` (number) - `creditAdjustment` (number) - `creditTotal` (number) - `creditLastSyncedAt` (string) - `syncCreditChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) - `accountingSyncedAt` (string) - `accountingError` (string) ### GET /rma-shipments/{id} Get RMA Shipment By ID - Operation id: `getRmaShipmentById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/getrmashipmentbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `rmaId` (integer) - `accountId` (integer) - `shipment` (object) - `shippingAddress` (object) - `attachments` (array of object) - `createdAt` (string) - `sentAt` (string) - `rmaShipmentStatus` (string (Shipment Created | Shipment Sent | Shipment Received | Shipment Partially Received | Shipment Voided)) ### GET /rma-shipments List RMA Shipments - Operation id: `getRmaShipments` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/getrmashipments Query parameters: - `rmaNumbers` (query, string, optional): rma numbers separated by a comma - `createdAfter` (query, string, optional): Filter shipments that were created after this date-time. - `pageSize` (query, integer, optional): Number of entries per page - `pageNumber` (query, integer, optional): Current Page - `rmaId` (query, integer, optional): Retrieve shipments of a specific rma - `includeAttachments` (query, boolean, optional): If true, it will fetch attachments associated with the RMA Shipment - `includeReturnAddress` (query, boolean, optional): If true, it will fetch the return address associated with the RMA shipment Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `rmaId` (integer) - `accountId` (integer) - `shipment` (object) - `shippingAddress` (object) - `attachments` (array of object) - `createdAt` (string) - `sentAt` (string) - `rmaShipmentStatus` (string (Shipment Created | Shipment Sent | Shipment Received | Shipment Partially Received | Shipment Voided)) ### GET /rma List Rmas This endpoint will retrieve back Rmas - Params starting with **include*** will determine the metadata returned - Operation id: `getRmas` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/getrmas Query parameters: - `returnId` (query, integer, optional): Retrieve rma of a specific return - `sourceId` (query, integer, optional): Retrieve rma for the given sourceId - `createdAfter` (query, string, optional): Filter rmas that were created after this date-time. - `pageSize` (query, integer, optional): Number of entries per page - `pageNumber` (query, integer, optional): Current Page - `rmaNumbers` (query, string, optional): rma numbers separated by a comma - `isAccountingSynced` (query, boolean, optional): Filter to only include or exclude rmas that have been synced to an Accounting Integration Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `returnId` (integer) - `sourceId` (integer) - `rmaNumber` (string) - `accountId` (integer) - `returnToAddress` (object) - `items` (array of object) - `totalRmaItems` (integer) - `createdAt` (string) - `updatedAt` (string) - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaShipments` (array of object) - `creditSubtotal` (number) - `creditAdjustment` (number) - `creditTotal` (number) - `creditLastSyncedAt` (string) - `syncCreditChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) - `accountingSyncedAt` (string) - `accountingError` (string) ### PATCH /rma-shipments/{id}/receive Receive RMA Shipment - Operation id: `receiveRmaShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/receivermashipment Request body (application/json), array of object: - `id` (integer, required): Id of rma shipment item - `rmaItemId` (integer) - `receivedQuantity` (integer) - `voidedQuantity` (integer) Responses: - `204`: No Content - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PATCH /rma-shipments/{id}/sent Set RMA Shipment as sent update RMA shipment as sent - Operation id: `updateRmaShipmentToSent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/updatermashipmenttosent Responses: - `204`: No Content - `401`: Unauthorized - `404`: Not Found ### PATCH /rma/{id} Update RMA - Operation id: `updateRMA` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/updaterma Request body (application/json), object: - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaDestinationId` (integer) - `returnToAddress` (object): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `creditAdjustment` (number) - `syncCreditChangesToOrder` (boolean) - `accountingSynced` (boolean) - `accountingError` (string) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `returnId` (integer) - `sourceId` (integer) - `rmaNumber` (string) - `accountId` (integer) - `returnToAddress` (object) - `items` (array of object) - `totalRmaItems` (integer) - `createdAt` (string) - `updatedAt` (string) - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaShipments` (array of object) - `creditSubtotal` (number) - `creditAdjustment` (number) - `creditTotal` (number) - `creditLastSyncedAt` (string) - `syncCreditChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) - `accountingSyncedAt` (string) - `accountingError` (string) ### PATCH /rmas/{rmaId}/items Update RMA Items This endpoint will update any non-null fields for RMA Items passed in the request body. Please note: - Operation id: `updateRMAItems` - Docs: https://www.apihelpcenter.flxpoint.com/reference/rma/updatermaitems Request body (application/json), array of object: - `id` (integer, required) - `sku` (string) - `quantity` (integer) - `returnCondition` (string) - `returnReason` (string) - `note` (string) - `approvedQuantity` (integer) - `deniedQuantity` (integer) - `cost` (number) - `creditedAmount` (number) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `returnId` (integer) - `sourceId` (integer) - `rmaNumber` (string) - `accountId` (integer) - `returnToAddress` (object) - `items` (array of object) - `totalRmaItems` (integer) - `createdAt` (string) - `updatedAt` (string) - `rmaStatus` (string (Waiting | Approved | Voided | Denied | Partially Approved | Canceled)) - `rmaShipments` (array of object) - `creditSubtotal` (number) - `creditAdjustment` (number) - `creditTotal` (number) - `creditLastSyncedAt` (string) - `syncCreditChangesToOrder` (boolean) - `shipmentReceivedStatus` (string (not_received | partially_received | fully_received)) - `accountingSyncedAt` (string) - `accountingError` (string) --- ## Routing 3 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/routing ### PUT /routing-groups/{id}/sources Add Routing Group Sources Allows you to PUT `RoutingGroupSource`s into a `RoutingGroup`. If the `sourceId` provided in the `PutRoutingGroupSource` already exists for a given `RoutingGroup`, that PUT entry will update the contents of that matching `RoutingGroupSource`. Otherwise, this PUT entry will create a new `RoutingGroupSource` for any new `sourceId`s provided. This requires Account-level Token privileges. - Operation id: `putRoutingGroupSources` - Docs: https://www.apihelpcenter.flxpoint.com/reference/routing/putroutinggroupsources Request body (application/json), array of object: - `sourceId` (integer): The `Source` ID for this `RoutingGroupSource` - `eligible` (boolean): If this is set to `true` the Source will be eligible for receiving POs/FRs (meaning that source will be considered durin - `priority` (integer): When using the `Preferred Sources` `RoutingPriority` - this determines the "most preferred" Source. `1` is the **most** - `shippingAddressId` (integer): (Optional) This allows you to overwrite the Shipping Address for any POs/FRs that are routing through this RoutingGroupS - `suppressTracking` (boolean): If you are leveraging the shippingAddressId, this flag will set the PurchaseOrder flag suppressTracking to true when it' Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer): The `RoutingGroupSource` ID - `routingGroupId` (integer): The `RoutingGroup` ID - `sourceId` (integer): The `Source` ID - `eligible` (boolean): If this is set to `true` the Source will be eligible for receiving POs/FRs (meaning that source will be considered durin - `priority` (integer): When using the `Preferred Sources` `RoutingPriority` - this determines the "most preferred" Source. `1` is the **most** - `shippingAddressId` (integer): (Optional) This allows you to overwrite the Shipping Address for any POs/FRs that are routing through this `RoutingGroup - `suppressTracking` (boolean): If you are leveraging the `shippingAddressId`, this flag will set the `PurchaseOrder` flag `suppressTracking` to true wh - `source` (object): This object represents the basic properties of a Source. To learn more about sources, visit https://docs.flxpoint.com/fl - `shippingAddress` (object) ### GET /routing-groups/{id} Get Routing Group This will get a Routing Group by ID. - Operation id: `getRoutingGroupById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/routing/getroutinggroupbyid Query parameters: - `includeSources` (query, boolean, optional) - `includeRules` (query, boolean, optional) - `includeSetting` (query, boolean, optional) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer): The `RoutingGroup` ID - `name` (string): The name of the Routing Group - `solutionWorkflowEventId` (integer): This is the ID for the optional workflow that runs after a Routing Group derives a solution. This workflow is often used - `sources` (array of object) - `rules` (array of object) - `setting` (object) ### GET /routing-groups Get Routing Groups 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. - Operation id: `getRoutingGroups` - Docs: https://www.apihelpcenter.flxpoint.com/reference/routing/getroutinggroups Query parameters: - `includeSources` (query, boolean, optional): Determines if `sources` are retrieved back and included in the response. Default `false`. - `includeRules` (query, boolean, optional): Determines if `routing priorities` are retrieved back and included in the response. Default `false`. - `includeSetting` (query, boolean, optional): Determines if `routing group setting` is retrieved back and included in the response. Default `false`. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer): The `RoutingGroup` ID - `name` (string): The name of the Routing Group - `solutionWorkflowEventId` (integer): This is the ID for the optional workflow that runs after a Routing Group derives a solution. This workflow is often used - `sources` (array of object) - `rules` (array of object) - `setting` (object) --- ## Shipment 9 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/shipment ### POST /shipments Create Shipment Create a new shipment for a Fulfillment Request / Purchase Order. A source token or account token may be used. - Operation id: `createShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/createshipment Request body (application/json), object: - `purchaseOrderId` (integer): Identify the purchase order to associate the shipment to by providing the Flxpoint generated internal purchase order ID. - `purchaseOrderNumber` (string): Identify the purchase order to associate the shipment to by providing the purchase order number. ACCOUNT tokens will als - `sourceId` (integer): SOURCE tokens are not required to supply a value here, if using a SOURCE token and a value is provided and it does not m - `allowDuplicateTrackingNumbers` (boolean): Indicates that the tracking number should be allowed more than once for each purchase order - `shipment` (object, required) - `fulfillmentRequestId` (integer): The ID of the fulfillment request this shipment corresponds to. This is the same value as the `purchaseOrderId`, but wit Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found - `409`: Conflict - `412`: Precondition Failed Success response body, object: - `id` (integer) - `note` (string) - `trackingUrl` (string) - `trackingNumber` (string) - `carrier` (string) - `method` (string) - `shippedAt` (string) - `insertedAt` (string) - `shippingCost` (number) - `orderId` (integer) - `purchaseOrderId` (integer) - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `accountId` (integer) - `partial` (boolean) - `suppressed` (boolean) - `syncedToChannel` (boolean) - `syncError` (string) - `crossDockPurchaseOrderId` (integer) - `shipmentItems` (array of object) - `customFields` (array of object) - `updatedAt` (string) - `accountingSynced` (boolean) ### DELETE /shipment/{id}/custom-fields Delete Shipment Custom Fields Delete shipment custom field(s) by providing the ID(s). A source token or account token may be used. - Operation id: `deleteShipmentCustomFields` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/deleteshipmentcustomfields Request body (application/json), object: - `customFieldIds` (array of integer) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### DELETE /shipment/{id}/shipment-item Delete Shipment Item Delete Shipment Item(s) by providing the ID(s). A source token or account token may be used. - Operation id: `deleteShipmentItem` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/deleteshipmentitem Request body (application/json), object: - `shipmentItemIds` (array of integer) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### DELETE /shipment/{shipmentId}/shipment-item/{shipmentItemId}/custom-fields Delete Shipment Item Custom Fields Delete Shipment Item Custom Field(s) by providing the ID(s). A source token or account token may be used. - Operation id: `deleteShipmentItemCustomFields` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/deleteshipmentitemcustomfields Request body (application/json), object: - `customFieldIds` (array of integer) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found ### PUT /shipments/flag-with-errors Flag Shipments with Sync Errors Takes a collection of shipments, and saves their errors encountered when syncing to the channel. - Operation id: `flagShipmentsWithErrors` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/flagshipmentswitherrors Request body (application/json), array of object: - `id` (integer) - `note` (string) - `trackingUrl` (string) - `trackingNumber` (string) - `carrier` (string) - `method` (string) - `shippedAt` (string) - `insertedAt` (string) - `shippingCost` (number) - `orderId` (integer) - `purchaseOrderId` (integer) - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `accountId` (integer) - `partial` (boolean) - `suppressed` (boolean) - `syncedToChannel` (boolean) - `syncError` (string) - `crossDockPurchaseOrderId` (integer) - `shipmentItems` (array of object) - `customFields` (array of object) - `updatedAt` (string) - `accountingSynced` (boolean) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### GET /shipments/{id} Get Shipment - Operation id: `getShipmentById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/getshipmentbyid Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `note` (string) - `trackingUrl` (string) - `trackingNumber` (string) - `carrier` (string) - `method` (string) - `shippedAt` (string) - `insertedAt` (string) - `shippingCost` (number) - `orderId` (integer) - `purchaseOrderId` (integer) - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `accountId` (integer) - `partial` (boolean) - `suppressed` (boolean) - `syncedToChannel` (boolean) - `syncError` (string) - `crossDockPurchaseOrderId` (integer) - `shipmentItems` (array of object) - `customFields` (array of object) - `updatedAt` (string) - `accountingSynced` (boolean) ### GET /shipments Get Shipments This endpoint will list shipments. The returned shipments will always be sorted by their `insertedAt` time ascending (oldest first). - Operation id: `listShipments` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/listshipments Query parameters: - `findByOrderId` (query, integer, optional): ID of order, use this to retrieve shipments of a specific order - `findByPurchaseOrderId` (query, integer, optional): ID of purchase order, use this to retrieve shipments of a specific purchase order - `filterCreatedAfter` (query, string, optional): Filter to only include shipments created after a specific date-time - `filterPageNumber` (query, integer, optional): Current Page - `filterPageSize` (query, integer, optional): Number of entries per page - `filterUpdatedAfter` (query, string, optional): Filter to only include shipments updated after a specific date-time Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `note` (string) - `trackingUrl` (string) - `trackingNumber` (string) - `carrier` (string) - `method` (string) - `shippedAt` (string) - `insertedAt` (string) - `shippingCost` (number) - `orderId` (integer) - `purchaseOrderId` (integer) - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `accountId` (integer) - `partial` (boolean) - `suppressed` (boolean) - `syncedToChannel` (boolean) - `syncError` (string) - `crossDockPurchaseOrderId` (integer) - `shipmentItems` (array of object) - `customFields` (array of object) - `updatedAt` (string) - `accountingSynced` (boolean) ### PUT /shipments/mark-synced Mark Shipments as Synced to Channel Marks a collection of Shipment IDs as synced to the channel, and clears out any existing sync error. An account or channel API token may be used. - Operation id: `markShipmentsSynced` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/markshipmentssynced Request body (application/json), array of integer: Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### PATCH /shipments Patch Shipment Update fields on an existing shipment. Only non-null fields in the request will be modified. A source token or account token may be used. - Operation id: `patchShipment` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipment/patchshipment Request body (application/json), object: - `id` (integer, required): The identifier for this shipment. - `fulfillmentRequestId` (integer): The ID of the fulfillment request this shipment corresponds to. If changed, shipment items will be re-associated to item - `note` (string) - `trackingUrl` (string): a url to track current status of the shipment. - `trackingNumber` (string): unique number identifying this package across a carrier. - `carrier` (string): The carrier responsible for delivering the shipment. - `method` (string): the delivery method used to ship the package. - `shippedAt` (string): date-time at which this was shipped. - `shippingCost` (number): The cost of delivering the items to the destination. - `suppressed` (boolean): When true, the shipment information will **not** be synced back to the channel. - `shipmentItems` (array of object): Items in this shipment to save (new or existing). Items must be deleted separately. ID is required to update an existing - `customFields` (array of object): Custom fields in this shipment to save (new or existing). Custom fields must be deleted separately. ID is required to up - `allowDuplicateTrackingNumbers` (boolean): Indicates that the tracking number should be allowed more than once for the associated fulfillment request. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found - `409`: Conflict - `412`: Precondition Failed Success response body, object: - `id` (integer) - `note` (string) - `trackingUrl` (string) - `trackingNumber` (string) - `carrier` (string) - `method` (string) - `shippedAt` (string) - `insertedAt` (string) - `shippingCost` (number) - `orderId` (integer) - `purchaseOrderId` (integer) - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `accountId` (integer) - `partial` (boolean) - `suppressed` (boolean) - `syncedToChannel` (boolean) - `syncError` (string) - `crossDockPurchaseOrderId` (integer) - `shipmentItems` (array of object) - `customFields` (array of object) - `updatedAt` (string) - `accountingSynced` (boolean) --- ## Shipping 16 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/shipping ### POST /shipping/source-shipping-methods Add Source Shipping Method - Operation id: `addSourceShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/addsourceshippingmethod Request body (application/json), object: - `sourceId` (integer): Required if not using a source token. - `description` (string, required) - `shippingPolicyId` (integer, required) - `carrier` (string) - `method` (string) - `shippingCode` (string): Deprecated. Use `defaultMethodCode` instead. - `shippingCarrierId` (integer): Deprecated. Use `shippingCarrierIds` instead. - `shippingCarrierMethodId` (integer): Deprecated. Use `shippingCarrierMethodIds` instead. - `shippingLabelCode` (string): It is used to specify the preferred Delivery Service during the purchase of a shipping label when a Fulfillment Request - `defaultCarrierCode` (string) - `defaultMethodCode` (string) - `overrideDefaultCodes` (boolean) - `filterCarriersAndMethods` (boolean) - `shippingCarrierIds` (array of integer) - `shippingCarrierMethodIds` (array of integer) - `useBestFitPackage` (boolean) - `commonPackageIds` (array of integer) - `customPackageIds` (array of integer) Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `sourceId` (integer) - `description` (string) - `carrier` (string) - `method` (string) - `shippingCode` (string): Deprecated. Use `defaultMethodCode` instead. - `shippingPolicy` (object) - `deletedAt` (string) - `shippingCarrier` (object) - `shippingCarrierMethod` (object) - `shippingLabelCode` (string): It is used to specify the preferred Delivery Service during the purchase of a shipping label when a Fulfillment Request - `defaultCarrierCode` (string): The code (text) that your source recognizes for this shipping carrier. - `defaultMethodCode` (string): Formally known as "Shipping Code". The code (text) that your source recognizes for this shipping method. - `overrideDefaultCodes` (boolean): Use codes provided by ShipEngine to send to your source based on the carrier and method with the best shipping rate. - `filterCarriersAndMethods` (boolean): Filter to include only some carriers and methods you've connected to ShipEngine. - `shippingCarriers` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible shippi - `shippingCarrierMethods` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible method - `useBestFitPackage` (boolean): Use Flxpoint's predefined package sizes to fit all PO/FR line items in a single package. The largest box possible will b - `commonPackages` (array of object): This will contain the standard package selections enabled for use with this shipping method when configured to us - `customPackages` (array of object): This will contain the unique package selections enabled for use with this shipping method when configured to use ### DELETE /shipping/channel-shipping-methods/bulk Bulk Delete Channel Shipping Methods Soft-delete multiple channel shipping methods by ID. Returns the number of methods deleted. Only methods belonging to the authenticated account's channels are deleted. - Operation id: `deleteChannelShippingMethodsBulk` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/deletechannelshippingmethodsbulk Request body (application/json), object: - `ids` (array of integer, required): List of channel shipping method IDs to delete. Responses: - `200`: OK - `400`: Bad Request - empty or invalid ids - `401`: Unauthorized Success response body, object: - `deletedCount` (integer, required): Number of channel shipping methods soft-deleted. ### POST /shipping/channel-shipping-methods Create Channel Shipping Method Create a channel shipping method - Operation id: `createChannelShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/createchannelshippingmethod Request body (application/json), object: - `channelId` (integer, required) - `name` (string, required) - `shippingPolicyId` (integer) Responses: - `200`: OK - `400`: A shipping method with that name already exists - `401`: Unauthorized Success response body, object: - `id` (integer) - `channelId` (integer) - `name` (string) - `shippingPolicyId` (integer) - `deletedAt` (string) ### POST /shipping/shipping-policy Create Shipping Policy Create a shipping policy - Operation id: `createShippingPolicy` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/createshippingpolicy Request body (application/json), object: - `name` (string, required) Responses: - `200`: OK - `400`: Shipping policy with the provided name already exists - `401`: Unauthorized Success response body, object: - `id` (integer) - `name` (string, required) - `deletedAt` (string) ### DELETE /shipping/channel-shipping-methods/{id} Delete Channel Shipping Method Delete a channel shipping method by ID - Operation id: `deleteChannelShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/deletechannelshippingmethod Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### DELETE /shipping/shipping-policy/{id} Delete Shipping Policy Delete a shipping policy by ID - Operation id: `deleteShippingPolicyById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/deleteshippingpolicybyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### DELETE /shipping/source-shipping-methods/{id} Delete Source Shipping Method Delete a source shipping method by `id`. - Operation id: `deleteSourceShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/deletesourceshippingmethod Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### GET /shipping/shipping-policy Get All Shipping Policies Retrieve all shipping policies - Operation id: `getShippingPolicies` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/getshippingpolicies Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `name` (string, required) - `deletedAt` (string) ### GET /shipping/channel-shipping-mappings Get Channel Shipping Mappings [DEPRECATED] Use `/shipping/channel-shipping-methods` instead. Retrieves all of the Channel Shipping Mappings configured for an account. Use the query parameters below to filter down the results. **Deprecated.** - Operation id: `get-shipping-channel-shipping-mappings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/get-shipping-channel-shipping-mappings Query parameters: - `filterShippingPolicyId` (query, integer, optional): Return Shipping Mappings for a specific Shipping Policy by passing in the Shipping Policy ID - `filterChannelId` (query, integer, optional): Return Shipping Mappings for a specific Channel by passing in the Channel ID - `filterChannelShippingMappingIds` (query, string, optional): Return specific Shipping Mappings by passing in a comma separated list of Channel Shipping Mapping IDs - `filterDeleted` (query, boolean, optional): Return only Shipping Mappings that are or are not deleted (pass true for deleted and false for active) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `channelId` (integer) - `name` (string) - `shippingPolicyId` (integer) - `deletedAt` (string) ### GET /shipping/channel-shipping-method Get Channel Shipping Method [DEPRECATED] Use `/shipping/channel-shipping-methods` instead. Get Channel Shipping Method by `channel id` and `shipping policy id` or `shipping text`. Either `shipping policy id` or `shipping text` must be provided. If both values are provided preference will be given to `shipping policy id`. **Deprecated.** - Operation id: `getChannelShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/getchannelshippingmethod Query parameters: - `channelId` (query, integer, required): Channel Id - `shippingPolicyId` (query, integer, optional): Shipping Policy Id - `shippingText` (query, string, optional): Shipping Text Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `channelId` (integer) - `name` (string) - `shippingPolicyId` (integer) - `deletedAt` (string) ### GET /shipping/channel-shipping-methods Get Channel Shipping Methods Get Channel Shipping Method by `channel id` and `shipping policy id` or `shipping text`. Either `shipping policy id` or `shipping text` must be provided. If both values are provided preference will be given to `shipping policy id`. - Operation id: `getChannelShippingMethods` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/getchannelshippingmethods Query parameters: - `channelId` (query, integer, optional): Channel Id - `shippingPolicyId` (query, integer, optional): Shipping Policy Id - `shippingText` (query, string, optional): Shipping Text - `ids` (query, string, optional): Return specific shipping methods by passing in a comma separated list of Ids Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `channelId` (integer) - `name` (string) - `shippingPolicyId` (integer) - `deletedAt` (string) ### GET /shipping/shipping-policy/{id} Get Shipping Policy Retrieve shipping policy by id - Operation id: `getShippingPolicyById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/getshippingpolicybyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `name` (string, required) - `deletedAt` (string) ### GET /shipping/source-shipping-methods Get Source Shipping Methods NOTE: The `shippingCarrier` and `shippingCarrierMethod` fields are now deprecated. To get the associated shipping carrier(s) and/or shipping carrier method(s), use the array versions named `shippingCarriers` and `shippingCarrierMethods` instead. - Operation id: `listSourceShippingMethods` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/listsourceshippingmethods Query parameters: - `filterSourceId` (query, integer, optional): ID of Source - `filterSourceShippingMethodIds` (query, string, optional): List of source shipping method Ids separated by a comma - `filterShippingPolicyId` (query, integer, optional): ID of shipping policy, use this to filter shipping methods by specific shipping policy Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `sourceId` (integer) - `description` (string) - `carrier` (string) - `method` (string) - `shippingCode` (string): Deprecated. Use `defaultMethodCode` instead. - `shippingPolicy` (object) - `deletedAt` (string) - `shippingCarrier` (object) - `shippingCarrierMethod` (object) - `shippingLabelCode` (string): It is used to specify the preferred Delivery Service during the purchase of a shipping label when a Fulfillment Request - `defaultCarrierCode` (string): The code (text) that your source recognizes for this shipping carrier. - `defaultMethodCode` (string): Formally known as "Shipping Code". The code (text) that your source recognizes for this shipping method. - `overrideDefaultCodes` (boolean): Use codes provided by ShipEngine to send to your source based on the carrier and method with the best shipping rate. - `filterCarriersAndMethods` (boolean): Filter to include only some carriers and methods you've connected to ShipEngine. - `shippingCarriers` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible shippi - `shippingCarrierMethods` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible method - `useBestFitPackage` (boolean): Use Flxpoint's predefined package sizes to fit all PO/FR line items in a single package. The largest box possible will b - `commonPackages` (array of object): This will contain the standard package selections enabled for use with this shipping method when configured to us - `customPackages` (array of object): This will contain the unique package selections enabled for use with this shipping method when configured to use ### PUT /shipping/channel-shipping-methods/{id} Update Channel Shipping Method Update a channel shipping method - Operation id: `updateChannelShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/updatechannelshippingmethod Request body (application/json), object: - `name` (string, required) - `shippingPolicyId` (integer) Responses: - `200`: OK - `400`: A shipping method with that name already exists - `401`: Unauthorized - `404`: Channel shipping method with provided id doesn't exist Success response body, object: - `id` (integer) - `channelId` (integer) - `name` (string) - `shippingPolicyId` (integer) - `deletedAt` (string) ### PUT /shipping/shipping-policy/{id} Update Shipping Policy Update a shipping policy by ID - Operation id: `updateShippingPolicyById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/updateshippingpolicybyid Request body (application/json), object: - `name` (string, required) Responses: - `200`: OK - `400`: A shipping policy with that name already exists - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `name` (string, required) - `deletedAt` (string) ### PUT /shipping/source-shipping-methods/{id} Update Source Shipping Method - Operation id: `updateSourceShippingMethod` - Docs: https://www.apihelpcenter.flxpoint.com/reference/shipping/updatesourceshippingmethod Request body (application/json), object: - `sourceId` (integer): Required if not using a source token. - `description` (string, required) - `shippingPolicyId` (integer, required) - `carrier` (string) - `method` (string) - `shippingCode` (string): Deprecated. Use `defaultMethodCode` instead. - `shippingCarrierId` (integer): Deprecated. Use `shippingCarrierIds` instead. - `shippingCarrierMethodId` (integer): Deprecated. Use `shippingCarrierMethodIds` instead. - `shippingLabelCode` (string): It is used to specify the preferred Delivery Service during the purchase of a shipping label when a Fulfillment Request - `defaultCarrierCode` (string) - `defaultMethodCode` (string) - `overrideDefaultCodes` (boolean) - `filterCarriersAndMethods` (boolean) - `shippingCarrierIds` (array of integer) - `shippingCarrierMethodIds` (array of integer) - `useBestFitPackage` (boolean) - `commonPackageIds` (array of integer) - `customPackageIds` (array of integer) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `sourceId` (integer) - `description` (string) - `carrier` (string) - `method` (string) - `shippingCode` (string): Deprecated. Use `defaultMethodCode` instead. - `shippingPolicy` (object) - `deletedAt` (string) - `shippingCarrier` (object) - `shippingCarrierMethod` (object) - `shippingLabelCode` (string): It is used to specify the preferred Delivery Service during the purchase of a shipping label when a Fulfillment Request - `defaultCarrierCode` (string): The code (text) that your source recognizes for this shipping carrier. - `defaultMethodCode` (string): Formally known as "Shipping Code". The code (text) that your source recognizes for this shipping method. - `overrideDefaultCodes` (boolean): Use codes provided by ShipEngine to send to your source based on the carrier and method with the best shipping rate. - `filterCarriersAndMethods` (boolean): Filter to include only some carriers and methods you've connected to ShipEngine. - `shippingCarriers` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible shippi - `shippingCarrierMethods` (array of object): When filtering shipping carriers and methods (i.e. filterCarriersAndMethods = true), this is the list of eligible method - `useBestFitPackage` (boolean): Use Flxpoint's predefined package sizes to fit all PO/FR line items in a single package. The largest box possible will b - `commonPackages` (array of object): This will contain the standard package selections enabled for use with this shipping method when configured to us - `customPackages` (array of object): This will contain the unique package selections enabled for use with this shipping method when configured to use --- ## Source 11 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/source ### POST /sources Create Source Create a new source. This endpoint requires an Account level API token - Operation id: `postSource` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/postsource Request body (application/json), object: - `name` (string, required) - `description` (string) - `typeHandle` (string (data_source | internal_warehouse | external_warehouse | vendor_warehouse), required) - `address` (object): Request to create a new address if it does not already exist. State/State Code and Country/Country Code can be populated - `rateShopping` (boolean): The setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see htt - `releaseCommittedStockOnShipmentAdded` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `releaseCommittedStockOnQuantityUpdate` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `vendorId` (integer): The `Vendor` ID associated to a Source - `commitStock` (boolean): When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory - `allowBackorders` (boolean): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `containsFirearms` (boolean) Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `id` (integer, required) - `name` (string) - `description` (string) - `insertedAt` (string) - `addressId` (integer) - `rateShopping` (boolean): The setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see htt - `releaseCommittedStockOnShipmentAdded` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `releaseCommittedStockOnQuantityUpdate` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `vendorId` (integer): The `Vendor` ID associated to a Source - `type` (object) - `currency` (object) - `address` (object) - `commitStock` (boolean): When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory - `allowBackorders` (boolean): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `vendor` (object): A `Vendor` represents a fulfillment partner you interact with. A `Vendor` can have multiple `Source`s associated to it. - `containsFirearmsWorkflowEventId` (integer) - `containsFirearms` (boolean) - `shippingCostWorkflowEventId` (integer) - `dropshipFeeWorkflowEventId` (integer) - `integrations` (array of object) - `settings` (array of object) - `autoCreateListingsWorkflowEventId` (integer) - `autoRebuildEnabledOn` (string) - `autoRebuildConfirmedByUser` (string) - `autoListEnabledOn` (string) - `autoListConfirmedByUser` (string) - `autoCreateListingsForAllInventories` (boolean) - `autoCreateListingsForSpecificInventories` (boolean) - `autoGenerateInvoiceWorkflowId` (integer) ### GET /source/{id} Get Source Retrieves back a Source by it's ID. This endpoint requires : - Account level Privileges - OR Source specific Privileges - Operation id: `getSourceById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getsourcebyid Query parameters: - `includeAddress` (query, boolean, optional): Determines if "address" is returned in the response. - `includeVendor` (query, boolean, optional): Determines if "vendor" is returned in the response. - `includeIntegrations` (query, boolean, optional): Determines if "integrations" is returned in the response. - `includeSettings` (query, boolean, optional): 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`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer, required) - `name` (string) - `description` (string) - `insertedAt` (string) - `addressId` (integer) - `rateShopping` (boolean): The setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see htt - `releaseCommittedStockOnShipmentAdded` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `releaseCommittedStockOnQuantityUpdate` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `vendorId` (integer): The `Vendor` ID associated to a Source - `type` (object) - `currency` (object) - `address` (object) - `commitStock` (boolean): When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory - `allowBackorders` (boolean): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `vendor` (object): A `Vendor` represents a fulfillment partner you interact with. A `Vendor` can have multiple `Source`s associated to it. - `containsFirearmsWorkflowEventId` (integer) - `containsFirearms` (boolean) - `shippingCostWorkflowEventId` (integer) - `dropshipFeeWorkflowEventId` (integer) - `integrations` (array of object) - `settings` (array of object) - `autoCreateListingsWorkflowEventId` (integer) - `autoRebuildEnabledOn` (string) - `autoRebuildConfirmedByUser` (string) - `autoListEnabledOn` (string) - `autoListConfirmedByUser` (string) - `autoCreateListingsForAllInventories` (boolean) - `autoCreateListingsForSpecificInventories` (boolean) - `autoGenerateInvoiceWorkflowId` (integer) ### GET /source/{sourceId}/auto-create-products-and-listings Get Source Get settings for a source that control the automatic creation of products and listings. This endpoint requires account level privileges - Operation id: `getSourceAutoCreateProductsAndListings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getsourceautocreateproductsandlistings Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `enabled` (boolean) - `productMappingTemplateId` (integer) - `productBuilderId` (integer) - `autoPublishListings` (boolean) - `channels` (array of object) ### GET /source/{sourceId}/business-hours Get Source Business Hours Returns the hours for which Purchase Orders may be processed for the Source - Operation id: `getPurchaseOrderBusinessHours` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getpurchaseorderbusinesshours Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found - `500`: Internal Server Error Success response body, object: - `isWithinBusinessDays` (boolean) - `sunday` (object) - `monday` (object) - `tuesday` (object) - `wednesday` (object) - `thursday` (object) - `friday` (object) - `saturday` (object) ### GET /sources/{sourceId}/purchase-order-strategy Get Source PO Strategy - Operation id: `getSourcePurchaseOrderStrategy` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getsourcepurchaseorderstrategy Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `sourceId` (integer) - `autoProcess` (boolean) - `maxPoNumberCharacters` (integer) - `overridePurchaseOrderNumberStrategyId` (integer) - `exceedOverridePurchaseOrderNumberStrategyId` (integer) - `passOrderCustomFieldsToPo` (boolean) - `passOrderItemCustomFieldsToPo` (boolean) - `autoGeneratePackingSlip` (boolean): Always generate and attach packing slips to Fulfillment Requests created for this source - `attachShippingLabels` (boolean): Always attach auto-purchased shipping labels to Fulfillment Requests created for this source - `createShipmentFromShippingLabel` (boolean): Automatically create a shipment after a shipping label is auto-purchased and the Fulfillment Request is processed or ack - `useGlobalAndSourceWorkflowStrategy` (boolean) - `packingSlipFormat` (string (basic | detailed)): Specifies the default global packing slip format. Can be overridden by the 'Auto Generate Packing Slip' source setting a - `packingSlipOptions` (string) ### GET /source/{sourceId}/settings Get Source Settings - Operation id: `getSourceSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getsourcesettings Query parameters: - `findByHandles` (query, string, optional): A setting handle, or a comma seperate list of setting handles to retrieve - `findByCategoryHandle` (query, string, optional): A single category handle to retrieve settings for Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: When the `sourceId` cannot be found. Success response body, array of object: - `id` (integer, required): The `SourceSetting` ID - `setting` (object, required) - `sourceId` (integer): Id of channel this channel setting belong to. - `value` (string, required): The setting value that is configured - `insertedAt` (string) - `updatedAt` (string) ### GET /sources Get Sources This endpoint will retrieve back a list of Sources for a configured account. This endpoint requires an Account level API token - Operation id: `getSources` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/getsources Query parameters: - `filterByIds` (query, array of integer, optional): Optionally pass a list of Source IDs to filter on. Max 50 IDs - `filterFirearmsEnabled` (query, boolean, optional): Optionally set this to `true` to filter sources that contain firearms. If `false` or not passed, all Sources will be returned - `filterArchived` (query, boolean, optional): Set this to `false` to include archived Sources. Default is `true` so archived Sources are not returned - `includeAddress` (query, boolean, optional): Set this to `true` to return back the `address` on the Source - `includeIntegrations` (query, boolean, optional): Set this to `true` to return back the `integrations` on the Source - `includeSettings` (query, boolean, optional): 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`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer, required) - `name` (string) - `description` (string) - `insertedAt` (string) - `addressId` (integer) - `rateShopping` (boolean): The setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see htt - `releaseCommittedStockOnShipmentAdded` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `releaseCommittedStockOnQuantityUpdate` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `vendorId` (integer): The `Vendor` ID associated to a Source - `type` (object) - `currency` (object) - `address` (object) - `commitStock` (boolean): When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory - `allowBackorders` (boolean): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `vendor` (object): A `Vendor` represents a fulfillment partner you interact with. A `Vendor` can have multiple `Source`s associated to it. - `containsFirearmsWorkflowEventId` (integer) - `containsFirearms` (boolean) - `shippingCostWorkflowEventId` (integer) - `dropshipFeeWorkflowEventId` (integer) - `integrations` (array of object) - `settings` (array of object) - `autoCreateListingsWorkflowEventId` (integer) - `autoRebuildEnabledOn` (string) - `autoRebuildConfirmedByUser` (string) - `autoListEnabledOn` (string) - `autoListConfirmedByUser` (string) - `autoCreateListingsForAllInventories` (boolean) - `autoCreateListingsForSpecificInventories` (boolean) - `autoGenerateInvoiceWorkflowId` (integer) ### POST /sources/{sourceId}/purchase-order-strategy Post Source PO Strategy - Operation id: `postSourcePurchaseOrderStrategy` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/postsourcepurchaseorderstrategy Request body (application/json), object: - `autoProcess` (boolean) - `maxPoNumberCharacters` (integer) - `overridePurchaseOrderNumberStrategyId` (integer) - `exceedOverridePurchaseOrderNumberStrategyId` (integer) - `passOrderCustomFieldsToPo` (boolean) - `passOrderItemCustomFieldsToPo` (boolean) - `autoGeneratePackingSlip` (boolean): Always generate and attach packing slips to Fulfillment Requests created for this source - `attachShippingLabels` (boolean): Always attach auto-purchased shipping labels to Fulfillment Requests created for this source - `createShipmentFromShippingLabel` (boolean): Automatically create a shipment after a shipping label is auto-purchased and the Fulfillment Request is processed or ack Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `sourceId` (integer) - `autoProcess` (boolean) - `maxPoNumberCharacters` (integer) - `overridePurchaseOrderNumberStrategyId` (integer) - `exceedOverridePurchaseOrderNumberStrategyId` (integer) - `passOrderCustomFieldsToPo` (boolean) - `passOrderItemCustomFieldsToPo` (boolean) - `autoGeneratePackingSlip` (boolean): Always generate and attach packing slips to Fulfillment Requests created for this source - `attachShippingLabels` (boolean): Always attach auto-purchased shipping labels to Fulfillment Requests created for this source - `createShipmentFromShippingLabel` (boolean): Automatically create a shipment after a shipping label is auto-purchased and the Fulfillment Request is processed or ack - `useGlobalAndSourceWorkflowStrategy` (boolean) - `packingSlipFormat` (string (basic | detailed)): Specifies the default global packing slip format. Can be overridden by the 'Auto Generate Packing Slip' source setting a - `packingSlipOptions` (string) ### PATCH /source/{id} Update Source This endpoint allows you to update metadata associated to a Source. To use this endpoint, simply specify the parameter you'd like to patch. Only the parameters the are passed will be patched. - Operation id: `patchSourceById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/patchsourcebyid Query parameters: - `name` (query, string, optional): The name of the Source. - `vendorId` (query, integer, optional): The vendor associated to a Source - `commitStock` (query, boolean, optional): The setting that controls whether or not committed stock is enabled for this Source. - `addressId` (query, integer, optional): The ID of the Address associated with a Source - `rateShopping` (query, boolean, optional): 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) - `releaseCommittedStockOnShipmentAdded` (query, boolean, optional): **(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. - `allowBackorders` (query, boolean, optional): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `typeId` (query, integer, optional): The ID of the Source Type that best fits this Source. - `releaseCommittedStockOnQuantityUpdate` (query, boolean, optional): **(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. - `containsFirearms` (query, boolean, optional): Indicates whether the source can contain firearms - `containsFirearmsWorkflowEventId` (query, integer, optional): The ID of the workflow that determines whether or not a purchase order needs FFL information before being processed Responses: - `200`: OK - `400`: Bad Request - `401`: Not Found - `404`: Not Found Success response body, object: - `id` (integer, required) - `name` (string) - `description` (string) - `insertedAt` (string) - `addressId` (integer) - `rateShopping` (boolean): The setting that determines if this Source attempts to use Rate Shopping (for all requirements of Rate Shopping, see htt - `releaseCommittedStockOnShipmentAdded` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `releaseCommittedStockOnQuantityUpdate` (boolean): **(This setting is deprecated, please reach out to our team before using)** If `true`, committed stock will be released - `vendorId` (integer): The `Vendor` ID associated to a Source - `type` (object) - `currency` (object) - `address` (object) - `commitStock` (boolean): When `true` purchase orders generated to this source will automatically have stock committed for the relevant inventory - `allowBackorders` (boolean): It will allow the variants to be fulfilled/routed to during PO generation regardless of whether or not it is in stock. - `vendor` (object): A `Vendor` represents a fulfillment partner you interact with. A `Vendor` can have multiple `Source`s associated to it. - `containsFirearmsWorkflowEventId` (integer) - `containsFirearms` (boolean) - `shippingCostWorkflowEventId` (integer) - `dropshipFeeWorkflowEventId` (integer) - `integrations` (array of object) - `settings` (array of object) - `autoCreateListingsWorkflowEventId` (integer) - `autoRebuildEnabledOn` (string) - `autoRebuildConfirmedByUser` (string) - `autoListEnabledOn` (string) - `autoListConfirmedByUser` (string) - `autoCreateListingsForAllInventories` (boolean) - `autoCreateListingsForSpecificInventories` (boolean) - `autoGenerateInvoiceWorkflowId` (integer) ### POST /source/{sourceId}/auto-create-products-and-listings Update Source Update settings for a source that control the automatic creation of products and listings. This endpoint requires account level privileges - Operation id: `postSourceAutoCreateProductsAndListings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/postsourceautocreateproductsandlistings Request body (application/json), object: - `enabled` (boolean) - `productMappingTemplateId` (integer) - `productBuilderId` (integer) - `autoPublishListings` (boolean) - `channels` (array of object) Responses: - `200`: OK - `400`: Bad Request - `404`: Not Found Success response body, object: - `enabled` (boolean) - `productMappingTemplateId` (integer) - `productBuilderId` (integer) - `autoPublishListings` (boolean) - `channels` (array of object) ### PUT /source/{sourceId}/settings Update Source Settings This endpoint configures Source Settings. You must specify either a `handle` or `settingId` to associate settings. If a passed setting has not been configured yet, this will associate a `value` (i.e. configure that setting). If a passed setting has already been configured, this will overwrite the previous `value`. - Operation id: `putSourceSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source/putsourcesettings Request body (application/json), array of object: - `value` (string, required): The `value` of a `Setting` - `handle` (string): The handle of a `Setting` - `settingId` (integer): The `Setting` ID Responses: - `200`: OK - `401`: Unauthorized --- ## Source Invoice 4 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/source-invoice ### POST /source-invoices Create Source Invoice This endpoint will allow you to create a Source Invoice. A source token or account token may be used. See the `CreateSourceInvoice` model for details. - Operation id: `postSourceInvoice` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source-invoice/postsourceinvoice Query parameters: - `applyInvoiceWorkflow` (query, boolean, optional): If passed, Flxpoint will run through the source invoice workflow if there are rules enabled Request body (application/json), object: - `purchaseOrderId` (integer): either `purchaseOrderId` OR `rmaId` should be provided - `rmaId` (integer): either `purchaseOrderId` OR `rmaId` should be provided - `invoiceNumber` (string): A reference number for this invoice. If one is not provided, we will default to using the Purchase Order Number/Fulfillm - `invoiceStatus` (string (unpaid | paid | credited | refunded)): For Purchase Order/Fulfillment Request invoices, the default value is `paid`. For RMA invoices, the default value is `cr - `invoiceDate` (string): If invoice date is not provided, we will default to the current timestamp at submission. - `invoiceItems` (array of object): For Purchase Order/Fulfillment Request invoices, at least one item is required. Items will be ignored (will not be saved - `totalCreditCost` (number): Used for RMA invoices only. - `customFields` (array of object): For Purchase Order/Fulfillment Request invoices, any Custom Field with an empty name or value will be ignored (won't be - `commissionRate` (number): The percentage rate defined at the vendor setting level that was used to calculate the commission - `shipmentId` (integer): For Invoice workflow, to apply shipment based conditions if applicable. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, object: - `id` (integer) - `invoiceStatus` (object) - `insertedAt` (string) - `updatedAt` (string) - `purchaseOrderId` (integer): this field is deprecated, please use `fulfillmentRequestId`. The two fields are same. - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `purchaseOrderNumber` (string): this field is deprecated, please start using `fulfillmentRequestNumber`. The two fields are essentially same. - `fulfillmentRequestNumber` (string) - `invoiceNumber` (string) - `invoiceDate` (string) - `totalCost` (number) - `totalProductCost` (number) - `totalShippingCost` (number) - `totalFeeCost` (number) - `totalTaxCost` (number) - `totalOtherCost` (number) - `totalQuantity` (integer) - `accountingSynced` (boolean) - `accountingSyncError` (string) - `externalAccountingId` (string) - `invoiceItems` (array of object) - `totalCreditCost` (number) - `customFields` (array of object) - `commission` (number) - `vendorPayoutId` (integer) ### GET /source-invoices/{id} Get Source Invoice - Operation id: `getSourceInvoiceById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source-invoice/getsourceinvoicebyid Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer) - `invoiceStatus` (object) - `insertedAt` (string) - `updatedAt` (string) - `purchaseOrderId` (integer): this field is deprecated, please use `fulfillmentRequestId`. The two fields are same. - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `purchaseOrderNumber` (string): this field is deprecated, please start using `fulfillmentRequestNumber`. The two fields are essentially same. - `fulfillmentRequestNumber` (string) - `invoiceNumber` (string) - `invoiceDate` (string) - `totalCost` (number) - `totalProductCost` (number) - `totalShippingCost` (number) - `totalFeeCost` (number) - `totalTaxCost` (number) - `totalOtherCost` (number) - `totalQuantity` (integer) - `accountingSynced` (boolean) - `accountingSyncError` (string) - `externalAccountingId` (string) - `invoiceItems` (array of object) - `totalCreditCost` (number) - `customFields` (array of object) - `commission` (number) - `vendorPayoutId` (integer) ### GET /source-invoices Get Source Invoices This endpoint lists source invoices. The returned invoices will always be sorted by their `insertedAt` time ascending (oldest first). - Operation id: `listSourceInvoices` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source-invoice/listsourceinvoices Query parameters: - `filterPurchaseOrderId` (query, integer, optional): Filter to only include invoices of a specific PO - `filterCreatedAfter` (query, string, optional): Filter to only include invoices created after a specific date-time - `filterSourceId` (query, integer, optional): Filter to only include invoices from a particular source. When using a source token this value will be ignored as it will be implicit to use the source tokens source ID - `isAccountingSynced` (query, boolean, optional): Filter to only include invoices that have been synced to an Accounting Integration - `isForSyncedAccountingPurchaseOrder` (query, boolean, optional): Filter to only include those tied to purchase orders that have been synced to an Accounting Integration. Does not relate to the whether or not the invoice has been synced. - `filterPageNumber` (query, integer, optional): Current Page - `filterPageSize` (query, integer, optional): Number of entries per page - `ids` (query, array of integer, optional): Finds elements matching these IDs. Max 50 - `hasAccountingSyncError` (query, boolean, optional): Filters returned "invoices" based on whether they encountered an accounting sync error during channel synchronization. Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer) - `invoiceStatus` (object) - `insertedAt` (string) - `updatedAt` (string) - `purchaseOrderId` (integer): this field is deprecated, please use `fulfillmentRequestId`. The two fields are same. - `fulfillmentRequestId` (integer) - `rmaId` (integer) - `sourceId` (integer) - `purchaseOrderNumber` (string): this field is deprecated, please start using `fulfillmentRequestNumber`. The two fields are essentially same. - `fulfillmentRequestNumber` (string) - `invoiceNumber` (string) - `invoiceDate` (string) - `totalCost` (number) - `totalProductCost` (number) - `totalShippingCost` (number) - `totalFeeCost` (number) - `totalTaxCost` (number) - `totalOtherCost` (number) - `totalQuantity` (integer) - `accountingSynced` (boolean) - `accountingSyncError` (string) - `externalAccountingId` (string) - `invoiceItems` (array of object) - `totalCreditCost` (number) - `customFields` (array of object) - `commission` (number) - `vendorPayoutId` (integer) ### PATCH /source-invoices/{id} Modify Source Invoice This endpoint will allow you to change specific fields on a Source Invoice. Only non-null fields will be updated. A source token or account token may be used. It is supported for both Fulfillment Request invoices and RMA invoices. - Operation id: `patchSourceInvoice` - Docs: https://www.apihelpcenter.flxpoint.com/reference/source-invoice/patchsourceinvoice Request body (application/json), object: - `totalCreditCost` (number): Used for RMA invoices only. - `accountingSynced` (boolean): Set this value to true after syncing this invoice to your external accounting system. - `externalAccountingId` (string): identfier in the extrenal system that identifes this `Source Invoice` - `accountingSyncError` (string) - `items` (array of object) - `status` (string (unpaid | paid | credited | refunded)) - `vendorPayoutId` (integer) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found --- ## Tags 4 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/tags ### POST /tags Create Tag Creates a tag. Tag names are unique per account. - Operation id: `createTag` - Docs: https://www.apihelpcenter.flxpoint.com/reference/tags/createtag Request body (application/json), object: - `name` (string, required) Responses: - `201`: Created - `400`: Bad Request - `401`: Unauthorized - `409`: Conflict - a tag with this name already exists Success response body, object: - `id` (integer) - `name` (string) ### DELETE /tags/{tagId} Delete Tag Permanently deletes the tag and removes it from EVERY tagged entity in the account - inventory, products, listings, orders, and purchase orders included. This cannot be undone. - Operation id: `deleteTag` - Docs: https://www.apihelpcenter.flxpoint.com/reference/tags/deletetag Responses: - `204`: No Content - `401`: Unauthorized - `404`: Not Found ### GET /tags Get Tags Lists the account's tags, ordered by name. - Operation id: `getTags` - Docs: https://www.apihelpcenter.flxpoint.com/reference/tags/gettags Query parameters: - `page` (query, integer, optional) - `pageSize` (query, integer, optional) - `q` (query, string, optional): Case-insensitive substring filter on the tag name. Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer) - `name` (string) ### PATCH /tags/{tagId} Update Tag Renames the tag. Every entity tagged with it keeps the tag under the new name. - Operation id: `updateTag` - Docs: https://www.apihelpcenter.flxpoint.com/reference/tags/updatetag Request body (application/json), object: - `name` (string, required) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found - `409`: Conflict - a tag with this name already exists Success response body, object: - `id` (integer) - `name` (string) --- ## Vendor 5 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/vendor ### GET /vendors/{id} Get Vendor Endpoint to retrieve back a Vendor by ID. Requires Account-level privileges. - Operation id: `getVendorById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/vendor/getvendorbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Vendor Not Found Success response body, object: - `id` (integer): The ID of the Vendor - `createdByUserId` (integer): When a Vendor is created in-app, a `User` ID is tracked. - `createdAt` (string): Timestamp of when the Vendor was created. - `deletedAt` (string): Timestamp of when the Vendor was deleted/archived. - `name` (string) - `description` (string) - `portalEnabled` (boolean): This flag determines if the Vendor can access a Vendor Portal to manually interact with Inventory/PO flows. If this flag ### GET /vendors Get Vendors Endpoint to retrieve back a list of Vendors. Requires Account-level privileges. - Operation id: `getVendors` - Docs: https://www.apihelpcenter.flxpoint.com/reference/vendor/getvendors Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer): The ID of the Vendor - `createdByUserId` (integer): When a Vendor is created in-app, a `User` ID is tracked. - `createdAt` (string): Timestamp of when the Vendor was created. - `deletedAt` (string): Timestamp of when the Vendor was deleted/archived. - `name` (string) - `description` (string) - `portalEnabled` (boolean): This flag determines if the Vendor can access a Vendor Portal to manually interact with Inventory/PO flows. If this flag ### PATCH /vendors/{id} Update Vendor Endpoint to update an existing Vendor. Requires Account-level privileges. - Operation id: `patchVendorById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/vendor/patchvendorbyid Query parameters: - `name` (query, string, optional): Modify Vendor name - `description` (query, string, optional): Modify Vendor description - `vendorPortal` (query, boolean, optional): Enable or disable Vendor Portal access Responses: - `200`: OK - `401`: Unauthorized - `404`: Vendor Not Found Success response body, object: - `id` (integer): The ID of the Vendor - `createdByUserId` (integer): When a Vendor is created in-app, a `User` ID is tracked. - `createdAt` (string): Timestamp of when the Vendor was created. - `deletedAt` (string): Timestamp of when the Vendor was deleted/archived. - `name` (string) - `description` (string) - `portalEnabled` (boolean): This flag determines if the Vendor can access a Vendor Portal to manually interact with Inventory/PO flows. If this flag ### POST /vendors/{vendorId}/settings Update Vendor Settings [Account Tokens Only] Update vendor settings. - Operation id: `postVendorSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/vendor/postvendorsettings Request body (application/json), array of object: - `settingId` (integer): The setting id to create/update - `value` (string): The setting value Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer, required): The `VendorSetting` ID - `setting` (object, required) - `vendorId` (integer): Id of vendor this setting belongs to. - `value` (string, required): The setting value that is configured - `insertedAt` (string) - `updatedAt` (string) ### GET /vendors/{vendorId}/settings Vendor Settings This endpoint allows you to retrieve the setting values that are configured for a Vendor. This endpoint will only return already-configured settings. To obtain all possible settings eligible to configure - use the GET /settings endpoint You can filter down the list of settings returned by passing handles. - Operation id: `getVendorSettings` - Docs: https://www.apihelpcenter.flxpoint.com/reference/vendor/getvendorsettings Query parameters: - `findByHandles` (query, string, optional): A setting handle, or a comma-separated list of setting handles to retrieve. Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer, required): The `VendorSetting` ID - `setting` (object, required) - `vendorId` (integer): Id of vendor this setting belongs to. - `value` (string, required): The setting value that is configured - `insertedAt` (string) - `updatedAt` (string) --- ## Webhook 6 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/webhook ### POST /webhhok/configurations Create Webhook Configuration Creates a Webhook Configuration for an account - Operation id: `createWebhookConfiguration` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/createwebhookconfiguration Request body (application/json), object: - `configurationName` (string): Name of the configured Webhook - `sourceId` (integer): Source ID against which the webhook is setup - `channelId` (integer): Channel ID against which the webhook is setup - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, object: - `id` (integer, required): Webhook Configuration ID used for identification - `configurationName` (string, required): Name of the configured Webhook - `sourceId` (integer): Source ID against which the webhook is setup - `channelId` (integer): Channel ID against which the webhook is setup - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `status` (string (active | disabled | deleted)) - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) - `createdAt` (string) - `updatedAt` (string) ### GET /webhhok/configurations/{id} Get Webhook - Operation id: `getWebhookConfigurationById` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/getwebhookconfigurationbyid Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer, required): Webhook Configuration ID used for identification - `configurationName` (string, required): Name of the configured Webhook - `sourceId` (integer): Source ID against which the webhook is setup - `channelId` (integer): Channel ID against which the webhook is setup - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `status` (string (active | disabled | deleted)) - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) - `createdAt` (string) - `updatedAt` (string) ### GET /webhook/configurations/{id}/event-logs Get Webhook Configuration Event Logs This endpoint will fetch back the event log against a webhook configuration - Operation id: `getWebhookConfigurationLog` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/getwebhookconfigurationlog Query parameters: - `page` (query, integer, optional): page number - `pageSize` (query, integer, optional): number of elements per page - `webhookDeliveryStatus` (query, string (processing | published | internal_failure | external_failure), optional) Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found Success response body, array of object: - `id` (integer): Webhook Log ID used for event identification - `status` (string (processing | published | internal_failure | external_failure)): Used to track webhook delivery status - `eventType` (string (FulfillmentRequestProcessingEvent | OrderImportedEvent)): List of events supported to share over webhook - `eventKey` (string): Unique identifier for the associated event type - `createdAt` (string): Date time when the event was created within flxpoint system - `lastTriedAt` (string): Date time when the event was last tried for delivery - `nextTryAt` (string): Date time when the event will be tried again for delivery - `publishedAt` (string): Date time when the event was successfully delivered - `retryCount` (integer): Date time when the event was successfully delivered - `manualRetryCount` (integer): Date time when the event was successfully delivered - `statusCode` (string): Date time when the event was successfully delivered - `statusMessage` (string): Date time when the event was successfully delivered ### GET /webhhok/configurations List Webhook Configurations for an account Returns Webhook Configuration configured for an account. Requires account token. - Operation id: `listWebhookConfiguration` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/listwebhookconfiguration Responses: - `200`: OK - `401`: Unauthorized Success response body, array of object: - `id` (integer, required): Webhook Configuration ID used for identification - `configurationName` (string, required): Name of the configured Webhook - `sourceId` (integer): Source ID against which the webhook is setup - `channelId` (integer): Channel ID against which the webhook is setup - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `status` (string (active | disabled | deleted)) - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) - `createdAt` (string) - `updatedAt` (string) ### POST /webhook/event/retry Retry Webhook Event Retry a Webhook Event for an account - Operation id: `retryWebhookEvent` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/retrywebhookevent Request body (application/json), object: - `eventIds` (array of integer, required): A unique identifier for the webhook event. - `isAutomatedRetry` (boolean, required): Flag indicating if the retry is an automated retry or not Responses: - `202`: Accepted - `400`: Bad Request - `401`: Unauthorized ### PATCH /webhhok/configurations/{id} Update Webhook Configuration Update Webhook Configuration. Requires account token. - Operation id: `updateWebhookConfiguration` - Docs: https://www.apihelpcenter.flxpoint.com/reference/webhook/updatewebhookconfiguration Request body (application/json), object: - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) - `status` (string (active | disabled | deleted)) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized - `404`: Not Found Success response body, object: - `id` (integer, required): Webhook Configuration ID used for identification - `configurationName` (string, required): Name of the configured Webhook - `sourceId` (integer): Source ID against which the webhook is setup - `channelId` (integer): Channel ID against which the webhook is setup - `webhookUrl` (string, required): Url for the webhook configuration - `notificationEmail` (string): Email address where webhook status updates are sent - `status` (string (active | disabled | deleted)) - `subscribedEvents` (array of string (FulfillmentRequestProcessingEvent | OrderImportedEvent), required) - `createdAt` (string) - `updatedAt` (string) --- ## Workflow 13 operations. Reference: https://www.apihelpcenter.flxpoint.com/reference/workflow ### PUT /workflow/{id}/copy-draft-to-live Copy Draft Workflow To Live Copy the draft workflow to the live workflow (this will overwrite the existing live workflow) - Operation id: `putWorkflowCopyDraftToLive` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/putworkflowcopydrafttolive Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### PUT /workflow/{id}/copy-live-to-draft Copy Live Workflow To Draft Copy the live workflow to the draft (this will overwrite the existing draft) - Operation id: `putWorkflowCopyLiveToDraft` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/putworkflowcopylivetodraft Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### POST /workflow/mapping-rule Create/Update Mapping Rule Create or update a mapping rule - Operation id: `postWorkflowMappingRule` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/postworkflowmappingrule Request body (application/json), object: - `id` (integer): If null this rule will be created, if non-null then the exist rule will be updated - `name` (string, required) - `description` (string, required) - `eventId` (integer, required): The ID of the event this mapping rule is run within. This value cannot be changed after the rule is created. - `useOriginalInputValue` (boolean, required): Whether the rules contain within this mapping rules should start their operations on the result of previous rules or on - `globalObjectFieldId` (integer): The ID of the `GlobalObjectField` that this rule assigns to. This value cannot be changed after the rule is created. - `globalDataTypeId` (integer, required): The ID of the `GlobalDataType` that this rule runs against. This value cannot be changed after the rule is created. - `rule` (object, required) Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, object: - `id` (integer, required): Generated on your behalf when first creating a mapping rule. - `name` (string) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `eventId` (integer, required): The ID of the event this mapping rule is run within. Important as this dictates what `GlobalObjects` & `GlobalObjectFiel - `useOriginalInputValue` (boolean, required): Whether the rules contain within this mapping rules should start their operations on the result of previous rules or on - `globalObjectFieldId` (integer): The ID of the `GlobalObjectField` that this rule assigns to. - `globalDataTypeId` (integer, required): The ID of the `GlobalDataType` that this rule runs against. - `workflowRuleTypeId` (integer): The ID of the `WorkflowRuleType` for this rule. This value will always match the same property on the workflow rule (`ru - `configured` (boolean): Whether or not the workflow rule (`rule` property) is configured correctly and can be used in mapping templates. - `globalDataType` (object) - `rule` (object, required) - `fieldsUsedBySetToField` (array of object, required) - `fieldsUsedByFormulas` (array of object, required) ### DELETE /workflow/{id} Delete Workflow Permanently delete a workflow. The workflow CANNOT be recovered after this. - Operation id: `deleteWorkflow` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/deleteworkflow Responses: - `200`: OK - `401`: Unauthorized - `404`: If the workflow with the given `id` cannot be found. ### DELETE /workflow/mapping-rule/{mappingRuleId} Delete Workflow Mapping Rule - Operation id: `deleteWorkflowMappingRule` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/deleteworkflowmappingrule Responses: - `200`: OK - `401`: Unauthorized - `404`: Not Found ### POST /workflow/find Find Workflow Find a workflow by `id` (which takes priority) or by a combination of `eventHandle` + `params`. Optionally create one if the searched one cannot be found by passing `createIfNotExists` in the request body. - Operation id: `findWorkflow` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/findworkflow Request body (application/json), object: - `eventHandle` (string): The handle of the event this workflow will be run against. Important as this dictates what `GlobalObjects` & `GlobalObje - `id` (integer): Only required if you are managing the ID externally. Otherwise the workflow can be resolved using the `eventHandle` + `p - `draft` (boolean): If you want to get a copy of the draft workflow set this to `true`. - `params` (array of object): [Optional] A set of key/value pairs that are used to uniquely identify a workflow. Used so that you do not have to store - `createIfNotExists` (boolean): When a workflow cannot be found, should an empty one automatically be created and returned? Responses: - `200` - `201`: When `createIfNotExists` is set to `true` and a existing workflow was not found a `201` will be returned - `204`: When the workflow cannot be found and `createIfNotExists` is set to `false` a empty body will be returned wit ha `204` response code. - `400`: When the `eventHandle` in the request body cannot be found. - `401`: Unauthorized - `404`: When the `id` in the request body cannot be found. Success response body, object: - `id` (integer, required): Generated on your behalf when first creating a workflow. Should not be provided unless the workflow was previously saved - `eventId` (integer) - `draft` (boolean): Is this the draft version of the workflow - `params` (array of object): Used to find workflows by unique key/value pairs so that IDs do not need to be externally managed. - `rules` (array of object): The rules of the workflow that are responsible for checking IF and HOW modifications should be applied to `GlobalObjects - `fieldsUsedBySetToField` (array of object) - `fieldsUsedByFormulas` (array of object) ### GET /workflow/mapping-rule Get Workflow Mapping Rules - Operation id: `getWorkflowMappingRules` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/getworkflowmappingrules Query parameters: - `includeWorkflowRules` (query, boolean, optional): When set to `false` the `rules` property that contains the workflow rules will not be populated and will be `null`. This can be used to keep the request light if you just a need a list of mapping rules. - `ids` (query, string, optional): A comma seperated list of `MappingRule` IDs to fetch - `fetchAll` (query, boolean, optional): When set to `true` anything passed in `ids` will be ignored and all configured mapping rules will be returned Responses: - `200`: OK - `400`: Bad Request - `401`: Unauthorized Success response body, array of object: - `id` (integer, required): Generated on your behalf when first creating a mapping rule. - `name` (string) - `description` (string) - `createdAt` (string) - `updatedAt` (string) - `eventId` (integer, required): The ID of the event this mapping rule is run within. Important as this dictates what `GlobalObjects` & `GlobalObjectFiel - `useOriginalInputValue` (boolean, required): Whether the rules contain within this mapping rules should start their operations on the result of previous rules or on - `globalObjectFieldId` (integer): The ID of the `GlobalObjectField` that this rule assigns to. - `globalDataTypeId` (integer, required): The ID of the `GlobalDataType` that this rule runs against. - `workflowRuleTypeId` (integer): The ID of the `WorkflowRuleType` for this rule. This value will always match the same property on the workflow rule (`ru - `configured` (boolean): Whether or not the workflow rule (`rule` property) is configured correctly and can be used in mapping templates. - `globalDataType` (object) - `rule` (object, required) - `fieldsUsedBySetToField` (array of object, required) - `fieldsUsedByFormulas` (array of object, required) ### GET /workflow/meta-data Get Workflow Meta Data - Operation id: `getWorkflowMetaData` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/getworkflowmetadata Responses: - `200`: OK Success response body, object: - `dataTypes` (array of object) - `comparators` (array of object) - `actions` (array of object) - `ruleTypes` (array of object) ### POST /workflow/run Run Workflow Run a workflow for a specific system event - Operation id: `runWorkflow` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/runworkflow Request body (application/json), object: - `id` (integer): Only required if you are managing the ID externally. Otherwise the workflow can be resovled using the `eventHandle` + `p - `eventHandle` (string): The handle of the event. - `draft` (boolean): Run against the draft version - `params` (array of object): [Optional] A set of key/value pairs that are used to uniquely identify a workflow. - `objects` (object, required): A Map of object handles to their values. Modifications will be applied directly to these and returned in the response. Responses: - `200`: Returns same shape as the request but with values passed in the objects field potentially updated by the workflow. - `400`: If you pass a `workflowId` and it cannot be found. Or if you pass a `event` and that even doesn't exist. If no workflow is associated to the event no error will occur. Success response body, object: - `id` (integer): Only required if you are managing the ID externally. Otherwise the workflow can be resovled using the `eventHandle` + `p - `eventHandle` (string): The handle of the event. - `draft` (boolean): Run against the draft version - `params` (array of object): [Optional] A set of key/value pairs that are used to uniquely identify a workflow. - `objects` (object, required): A Map of object handles to their values. Modifications will be applied directly to these and returned in the response. ### POST /workflow/mapping-rule/run Run Workflow Mapping Rule - Operation id: `runWorkflowMappingRules` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/runworkflowmappingrules Request body (application/json), object: - `mappingRuleIds` (array of integer, required): The workflow rule ids to run (will be run in the order passed) - `objects` (object, required) - `value` (object) Responses: - `200`: OK Success response body, object: - `mappingRuleIds` (array of integer, required): The workflow rule ids to run (will be run in the order passed) - `objects` (object, required) - `value` (object) ### GET /workflow/test-date-format Test Date Format Test a date format to ensure it is working as you would intend. These formats are applied within individual workflows & mapping templates. - Operation id: `getTestDateFormat` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/gettestdateformat Query parameters: - `format` (query, string, required): The format to test Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `formattedDate` (string, required): The current date time as a string with the applied format ### POST /workflow/test Test Workflow Run a ad-hoc workflow - Operation id: `postWorkflowTest` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/postworkflowtest Request body (application/json), object: - `rules` (array of object) - `objects` (object): A Map of object handles to their values. Modifications will be applied directly to these and returned in the response. - `inheritedGlobalDataType` (object) Responses: - `200`: OK - `400`: If required data is not provided - `401`: Unauthorized Success response body, object: - `objects` (object): A Map of object handles to their values. Modifications will be applied directly to these and returned in the response. - `ruleExplanations` (array of object) ### POST /workflow/update Update Workflow Update a workflow - Operation id: `updateWorkflow` - Docs: https://www.apihelpcenter.flxpoint.com/reference/workflow/updateworkflow Request body (application/json), object: - `id` (integer, required): Generated on your behalf when first creating a workflow. - `draft` (boolean): This value WILL NOT be modified and is only used to indicate whether or not this request is to update the draft version - `rules` (array of object): The rules of the workflow that are responsible for checking IF and HOW modifications should be applied to `GlobalObjects Responses: - `200`: OK - `401`: Unauthorized Success response body, object: - `id` (integer, required): Generated on your behalf when first creating a workflow. Should not be provided unless the workflow was previously saved - `eventId` (integer) - `draft` (boolean): Is this the draft version of the workflow - `params` (array of object): Used to find workflows by unique key/value pairs so that IDs do not need to be externally managed. - `rules` (array of object): The rules of the workflow that are responsible for checking IF and HOW modifications should be applied to `GlobalObjects - `fieldsUsedBySetToField` (array of object) - `fieldsUsedByFormulas` (array of object)