Loading
Omnichannel Inventory
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Omnichannel Inventory Headless API Endpoints

          Omnichannel Inventory Headless API Endpoints

          Connect your Omnichannel Inventory service to your storefront and order management systems using Salesforce Commerce API endpoints. Import and upload inventory files, retrieve inventory updates from your back-office system, provide real-time availability data, and manage reservations. Maintain accurate inventory levels and ensure product availability across multiple channels.

          Required Editions

          View supported editions.

          Omnichannel Inventory headless APIs use the Tenant Group ID instead of the Organization ID and are grouped into categories. For more information, see their entries in the B2C Commerce API Reference.

          Category Function API Description Resource
          Inventory Impex Import Inventory Data submitInventory​Import

          Prepare to import an inventory data file, usually from an external system, such as WMS, ERP, or POS.

          Used in the following sequence to complete an import: submitInventoryImport, postUploadImportFile, getAvailabilityImportStatus.

          To send large datasets into the service at high speed, use the import process as a bulk option. For smaller datasets with less than 1000 records, evaluate using batch inventory updates instead.

          Use case: Create jobs and specify what files to look for as part of your import strategy. Control which files and how frequently the files are imported.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports
          postUploadImport​File

          Upload an inventory data file using the ID returned by the submitInventoryImport call.

          Used in the following sequence to complete an import: submitInventoryImport, postUploadImportFile, getAvailabilityImportStatus.

          Records received in the inventory import process overwrite existing values for SKUs already in the service. New records are created in the service if an imported SKU doesn't exist.

          Use case: Run previously created jobs after viewing the specified import file. Inventory records in the file upload to the inventory service.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports/​uploadlink/{uploadLinkId}
          getInventory​Import

          Get the IDs of current inventory import jobs.

          Use case: Check and validate which import jobs are currently in place.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports
          getAvailability​ImportStatus

          Get the status of an inventory data upload.

          Used in the following sequence to complete an import: submitInventoryImport, postUploadImportFile, getAvailabilityImportStatus.

          Use case: View the status or progress of submitted inventory files and check for overall completion or issues. Display completion status, record success counts, record failure counts, and errors.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports/​{importId}/status
          downloadAvailability​Import​ResultsFile

          Get the results of a completed inventory data upload, including any errors.

          Use case: View the results of specific import files to understand completion status, record success counts, record failure counts, and errors.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports/​{importId}/file-content
          deleteInventory​Import

          Delete an inventory import job.

          Use case: Delete a scheduled import job as part of changing or managing your overall import strategy and frequency.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/imports/​{importId}
          Export Inventory Data initiateAvailability​Export

          Prepare to export inventory data to a file.

          Generally, exports are used to send inventory data to other systems for awareness or reporting purposes.

          For B2C integration, this endpoint is used in the native integration of inventory in B2C Commerce. Upon enabling the integration in cache mode, this endpoint provides a full export from the inventory service to build the B2C availability cache.

          Use case: Begin exporting all inventory records from the service.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/exports
          retrieveGroup​ExportStatus Get the status of an inventory data export that’s being created. /inventory/impex/v1/​organizations/{organizationId}/​availability-records/exports/​{exportId}/status
          downloadAvailability​​ExportFile Download exported inventory data to a file. /inventory/impex/v1/​organizations/{organizationId}/​availability-records/exports/​{exportId}/file-content
          deleteAvailability​Export

          Delete an inventory export job.

          Use case: Delete a scheduled export job as part of changing or managing the frequency or overall export strategy.

          /inventory/impex/v1/​organizations/{organizationId}/​availability-records/exports/​{exportId}
          Export Location Graph Data getLocationGraph​Export

          Export the entire location graph for the org.

          Used by merchants to validate that their location graph aligns with their physical locations and storefront segmentation in their fulfillment and shopping experiences.

          Use case: Export an existing location graph.

          /inventory/impex/v1/​organizations/{organizationId}/​location-graph/exports
          getLocationGraph​​ExportStatus Get the status of a location graph export. /inventory/impex/v1/​organizations/{organizationId}/​location-graph/exports/​{exportId}/status
          downloadLocation​Graph​ExportFile Download exported data about the location graph to a file. /inventory/impex/v1/​organizations/{organizationId}/​location-graph/exports/​{exportId}/file-content
          deleteLocationGraph​Exports Delete a location graph export job as part of changing or managing the frequency or overall export strategy. /inventory/impex/v1/​organizations/{organizationId}/​location-graph/exports/​{exportId}
          Export Event Log submitEventsActivity​Export

          Export an event log.

          Use case: Generate an event log of all activities for a set of SKUs that have occurred within the inventory service. Assists with record tracking and troubleshooting.

          /inventory/impex/v1/​organizations/{organizationId}/​event-log/exports
          retrieveEventLog​​ExportStatus Get the status of an event log export. /inventory/impex/v1/​organizations/{organizationId}/​event-log/exports/​{exportId}/status
          downloadEvents​Activity​ExportFile Download an exported event log to a file. /inventory/impex/v1/​organizations/{organizationId}/​event-log/exports/​{exportId}/file-content
          Inventory Availability Create or Update Inventory Data replaceSkuLocation​ and ​updateSkuLocation

          Create or update inventory data for a SKU at a location.

          Used for quick changes due to an issue in a store or warehouse that impacts availability, like damaged or lost items.

          The batchInventoryUpdate API can also be used to update between 1-100 records at once.

          Use case: Send updates for individual records to adjust a SKU at a specific location.

          /inventory/availability/v1/​organizations/{organizationId}/​locations/{locationId}/​availability-records/skus/​{sku}/{requestId}
          batchInventory​Update

          Create or update inventory data for a batch of items.

          Works best when paired with file imports. For example, use file import to update all records nightly or weekly and use batch updates regularly throughout the day to send updates only for records with changes.

          Use case: Send updates in batches as part of a delta update strategy where only recent inventory changes are sent to update the service.

          /inventory/availability/v1/​organizations/{organizationId}/​availability-records/​actions/batch-update
          Get Inventory Data getAvailabilityDeltas

          Get availability data changes that happened since a given delta token. Tokens are used to track the last time availability was checked. Tokens are returned by this API and by the downloadAvailabilityExportFile API.

          Used to stream inventory changes into caches for storefront shopping experiences.

          For B2C integration, the endpoint is used in the native integration of inventory in B2C Commerce. The endpoint provides delta changes from the inventory service to the B2C availability cache for any record that has received changes. If no changes have been received, the record receives an update every 60 seconds.

          Use case: Receive only the changes that have occurred to SKU availability at locations and groups since the last time availability was checked.

          /inventory/availability/v1/​organizations/{organizationId}/​availability-records/​actions/get-deltas
          skuAvailabilityBy​Location​AndOrGroup

          Get inventory availability data for SKUs at locations, location groups, or the set of ungrouped locations.

          Used to feed inventory availability counts into storefront shopping experiences like product description and list pages.

          Use case: Check SKU availability at locations and groups. Use for fulfillment experiences where routing engines call to understand availability at groups and locations to inform their routing and allocation decisions.

          /inventory/availability/v1/​organizations/{organizationId}/​availability-records/​actions/get-availability
          Inventory Reservation Manage Inventory Reservations createReservations or cancelReservation

          Create, update, or cancel inventory reservations at locations or location groups.

          Reservations must be made either directly against a location for in-store pickup experiences or against a group to reserve against the aggregated availability of several locations grouped together.

          Use for canceling reservations across location and group experiences.

          Used in native integrations with B2C Commerce and in headless implementations for third-party selling channels like marketplaces and social media platforms.

          For B2C integrations, this endpoint is used in the native integration of inventory in B2C Commerce. This endpoint is used to reserve and cancel items directly in Omnichannel Inventory resulting from B2C storefront shopping experiences.

          Similar to unreserve​Reservations.

          Use case: Create, update, or cancel reservations for shopping experiences.

          /inventory/reservation/v1/​organizations/{organizationId}/​reservation-documents/​{reservationId}
          moveReservation​Quantity

          Move a reserved quantity from a location group to a location or from a location to a location group.

          Used as part of the routing and allocation process. Reservations occurring in a storefront against an Omnichannel Inventory group can be moved to a specific Omnichannel Inventory location determined by an Order Management System routing engine. This allows for reservations to belong to a location for fulfillment to occur.

          Supports moving reservations from a location to an associated group if a merchant needs these reservations to go back through the routing process to be fulfilled.

          Supports moving reservations between two locations if a merchant can’t fulfill from the assigned location or would like to fulfill from a different location for any reason.

          Use case: Move a reserved quantity from a location group to a location or from a location to a location group.

          /inventory/reservation/v1/​organizations/{organizationId}/​transfers
          unreserve​Reservations

          Reduce (unreserve) a reserved quantity at a location or location group.

          Similar to cancelReservation, except a reservation ID isn’t required. Enables a merchant to execute a cancel call to remove a reservation for any reason without knowing the reservation ID.

          Use case: Unreserve a reservation without a reservation ID.

          /inventory/reservation/v1/​organizations/{organizationId}/​releases
          fulfillQuantity

          Remove a fulfilled quantity from both the reserved and on-hand quantities at one or more locations.

          Assists in keeping Omnichannel Inventory counts for reservation and on-hand as close to real-time as possible instead of waiting for the next scheduled import or update.

          When the order completes, the reservation lifecycle also completes and on-hand quantities can be adjusted to reflect the new state.

          Use case: Inform Omnichannel Inventory that a location has fulfilled an order.

          /inventory/reservation/v1/​organizations/{organizationId}/​fulfillments
           
          Loading
          Salesforce Help | Article